The basic requirements here are that you either have IBM Installation Manager(IM) installed on a prototype machine where we can perform the install/uninstall to build the silent install. This is the general process, get the install media for your the product you want to install, this can be either the zips from Passport Advantage or the packaged Installation Manager Repositories(IM Repo).
First step here is normally to install IM if it does not exist, or to update to the required level if it does exist at an earlier version. ( The product being installed has an internal dependency on a specific version of IM that it was packaged for. ) This will require GUI access for most tools, so while some support the command line only it is generally poorly supported so I would just say the most generic option here is to expect the initial recording to be done visually.
Second we can install the product to ensure that we know how to install and what the pre-requisites are. If you are unfamiliar with the product, I would recommend that you perform the installation normally one or more times to make sure that you understand how to do this manually and what the expected output should be. The following command can be used to record and install in one step.
sudo /opt/IBM/InstallationManager/eclipse/IBMIM -record ~/silent-installs/rtc-client-silent-uninstall.xml
If you already understand what the output should be, go ahead and work on automating it, this is just the record without any installation. Note that the
-skipInstall parameter should point to a directory you can write to but is not your default Agent Data Location or this could affect other products that actually are installed, so assume this is a temporary directory you will use only for testing recording your silent installs.
sudo /opt/IBM/InstallationManager/eclipse/IBMIM -record ~/silent-installs/rtc-client-silent-uninstall.xml -skipInstall ~/tmp/IBM-test-install
Now go through the process of the install, once the install completes close IM, and you will see the new file is generated. N.B. the file is only generated once you close IM so if it is not there confirm you have closed your IM client.
Take a look at the output file, it is pretty easy to read through so you can start to see where the variable pieces are you may want to manually change or parameterize if you are creating install automation. One additional tip I would recommend here is to record or create a corresponding uninstall file to make cleanup easy to automate as well, you’ll notice this is just a single change to the response file so in the future you can create these from install files manually easy enough. Below is an example excerpt of the relavent section from a RTCP silent install/uninstall files, see if you can tell which is which?
<!-- IBM® Rational® Test Control Panel 8.5.1 -->
<offering profile='IBM Rational Test Control Panel' id='com.ibm.rational.rtcp.offering' version='8.5.1.I20131108_1102' features='main.feature' installFixes='none'/>
<offering profile='IBM Rational Test Control Panel' id='com.ibm.rational.rtcp.offering' version='8.5.1.I20131108_1102'/>
Once you are ready, now let’s try a headless silent install
/opt/IBM/InstallationManager/eclipse/IBMIM -silent -acceptLicense -showVerboseProgress -nosplash -input ~/silent-install-product.xml
Verify that the product is installed correctly, start up the the client/server you just installed and check it out. If it looks good shut it and all it’s processes down and now we can test the uninstall.
/opt/IBM/InstallationManager/eclipse/IBMIM -silent -acceptLicense -showVerboseProgress -nosplash -input ~/silent-uninstall-product.xml
Well that was easy, depending on your needs there are a few other options of interest here you can pass through to IM. But your next hurdle here is likely how to host the media so you can install/uninstall it easily from a shared location, we’ll cover that in the next post.
In the meantime, I have a few of my own silent install response files hosted on github if you want to check them out, I update them sporadically but feel free to fork and send me pull requests if you want to share back :)