Friday, March 23, 2007

E1 Command Line Install

e1install
I hate installing "fat" clients. That's right hate. With our E1 installations, I have between 6-9 fat clients that need to be updated when deploying a full package. Of those, 1 is my eGen PC that gets every package installed to it. Ok, that's not a very big amount, but it's still a pain.

It's not that the package install process is hard, but just time consuming. I mean what the heck takes so long when the screen shows those disks flying around?

Anyway, we did simplify the process a little by virtualizing the development PCs using VMWare. It's really slick.

That made it a little easier because it wasn't the developer's PCs and they didn't have to do the actual install (complaints from developers about install times was starting to get tiring).

Then, I decided to try and make it easier on myself and research some command line options. I found a great solution on Oracles support site (SolutionID: 200783264). Below is the syntax and parameters:



Usage: Setup.exe -d -p [-v|-s] [-e] [-t] [-r]

No args Starts the interactive gui installation
-v verbose installation - installation is shown on the screen
-s silent installation - installation is not shown on the screen.
-d the drive and path for the installation
-p package to install
-t install type: -t Typical or -t Compact
Typical to install development objects or Compact to install
production objects only. If not specified, development
objects are installed.
-r remove the previous installation
-e to generate error log.
H - All
I - Informational
W - Warnings
E - Errors


I have a BAT file that I use so all I have to do is give it the package name. I think I commented it fairly well below. Please note that this copies some files just so that I make sure I get all the right ones:


@ECHO off0
GOTO :GETPKG

:GETPKG
:Prompt the user for a package name
ECHO Enter package name:
SET /P pkg=
:If the package is blank, ask again
IF "%pkg%"=="" GOTO :GETPKG
GOTO :INSTALL

:INSTALL
:Install the package to c:\e811
ECHO Begining Install of %pkg%...
"\\DepServerName\e811\OneWorld Client Install\Setup.exe" -s -d c:\e811 -p %pkg% -t Typical
ECHO Completed Typical Install of %pkg%
GOTO :COPYFILES

:COPYFILES
:Copy various files to ensure proper configuration
ECHO Copying Correct INI Files...
NET USE i: "\\DepServerName\e811\OneWorld Client Install\misc\dev"
COPY i:\jde.ini c:\Windows\JDE.INI
COPY i:\jas.ini "C:\e811\JAS\EA_JAS_80.ear\webclient.war\WEB-INF\jas.ini"
COPY i:\jdbj.ini "C:\e811\JAS\EA_JAS_80.ear\webclient.war\WEB-INF\jdbj.ini"
COPY i:\jdelog.properties "C:\e811\JAS\EA_JAS_80.ear\webclient.war\WEB-INF\jdelog.properties"
NET USE i: /delete
ECHO Completed Copy of Correct INI Files
GOTO :END

:END
PAUSE


I get prompted for the package name and that's it. It usually takes between 15-20 minutes per install, but I can connect and get them started and leave them alone until they are done.

This could be made even easier. You could use something like psexec from MS Sysinternals and run another BAT file to run this on those PCs remotely.

Well, fairly basic stuff but pretty handy.

Have fun!

0 comments: