Last week I provided a script to automatically install the SOA or BPM Quickstart.
Today, below I'll provide a script to install SQL Developer on Windows. I always use the "zip-with-no-jre" file. Therefor installing it is simply unzipping it.
For unzipping, I use the java jar tool This is convenient, because if you want use SQL Developer you need a JDK (unless you choose to use the installer with jre). And if you have a jdk, you have the jar tool. The script mentioned in the previous article, takes care of installing java. So, if you want to do that as well, you could add it to this script.
One disadvantage of the jar tool is that it can't unzip to a certain folder other than the current folder. So you have to CD to the folder into which you want to unzip it. The script therefor saves the current folder, and CD's to the unzip folder. After installation it CD's back.
The script unzips into the a subfolder, under C:\Oracle\SQLDeveloper. I like to keep my Oracle IDE's together, but grouped. Within the zip file there is a sqldeveloper folder, which is renamed to the name of the zip.
With SQLDeveloper 20.2 I found that it required the msvcr100.dll in the $JDK\jre\bin folder. Apparently in the latest JDK 8 update (261), that I used when creating this script, it wasn't. I found it in c:\Windows\System32 on my system, so I copied it from there to the $JDK\jre\bin folder. But a colleague didn't find it.
Another step in the script is that it copies the a copy of the UserSnippets.xml file. At my customer I created several handy maintenance queries that I saved as snippets. When you do so, you find those saved into the UserSnippets.xml file in the %USERPROFILE%\AppData\Roaming\SQL Developer. Where the %USERPROFILE% usually points to the C:\users\%{your windows username} folder.
If you want to share a copy of that to the users installing the tool using this script, you can save it in the same folder as this script. We keep it in SVN.
@echo off set CMD_LOC=%~dp0 set CURRENT_DIR=%CD% SETLOCAL set SOFTWARE_HOME=x:\SOFTWARE\Software set SQLDEV_INSTALL_HOME=%SOFTWARE_HOME%\SQL Developer set SQLDEV_NAME=sqldeveloper-20.2.0.175.1842-no-jre set SQLDEV_ZIP=%SQLDEV_INSTALL_HOME%\%SQLDEV_NAME%.zip set SQLDEV_BASE=c:\Oracle\SQLDeveloper set SQLDEV_HOME=%SQLDEV_BASE%\%SQLDEV_NAME% set SQLDEV_USERDIR=%USERPROFILE%\AppData\Roaming\SQL Developer set CMD_LIB=%CMD_LOC%\ext rem Install SqlDeveloper if not exist "%SQLDEV_HOME%" ( echo SqlDeveloper does not yet exist in "%SQLDEV_HOME%". if exist "%SQLDEV_ZIP%" ( echo Install SqlDeveloper in %SQLDEV_HOME%. if not exist "%SQLDEV_BASE%" ( echo Create folder %SQLDEV_BASE% mkdir %SQLDEV_BASE% ) cd %SQLDEV_BASE% echo Unzip SqlDeveloper "%SQLDEV_ZIP%" into %SQLDEV_BASE% "%JAVA_HOME%"\bin\jar.exe -xf "%SQLDEV_ZIP%" echo Rename unzipped folder "sqldeveloper" to %SQLDEV_NAME% rename sqldeveloper %SQLDEV_NAME% rem Deze library wordt verwacht in de Java home, maar komt blijkbaar niet meer standaard mee. if not exist "%JAVA_HOME%\jre\bin\msvcr100.dll" ( echo Copy msvcr100.dll from c:\Windows\System32\ to "%JAVA_HOME%\jre\bin" copy c:\Windows\System32\msvcr100.dll "%JAVA_HOME%\jre\bin" ) else ( echo Library "%JAVA_HOME%\jre\bin\msvcr100.dll" already exists. ) if not exist "%SQLDEV_USERDIR%" ( echo Create folder "%SQLDEV_USERDIR%" mkdir "%SQLDEV_USERDIR%" ) if not exist "%SQLDEV_USERDIR%\UserSnippets.xml" ( echo Copy "%CMD_LOC%\UserSnippets.xml" naar "%SQLDEV_USERDIR%" copy "%CMD_LOC%\UserSnippets.xml" "%SQLDEV_USERDIR%" /Y ) else ( echo User Snippets "%SQLDEV_USERDIR%\UserSnippets.xml" already exists. ) cd %CURRENT_DIR% ) else ( echo SqlDeveloper zip "%SQLDEV_ZIP%" does not exist! ) ) else ( echo SqlDeveloper already installed in %SQLDEV_HOME%. ) echo Done. ENDLOCAL
Update 2020-09-09: in the line with mkdir "%SQLDEV_USERDIR%", there should be quotes around the folder, since there is a space in it.
The folder structure "%USERPROFILE%\AppData\Roaming\SQL Developer" is taken from an existing installation. This is where SQLDeveloper expects the user data.
No comments:
Post a Comment