Scripting Sybase PowerDesigner Viewer 16.x for Deployment

Ran into a curious situation when automating the installation of Sybase PowerDesigner Viewer 16.  If you just want the answer, then jump to the bottom of this post :-)

The installer was built as a self-extracting InstallShield setup.  Typically, for a ConfigMgr package I like to use the extracted files.  However, when attempting to run the Setup of the InstallShield installation, an error was generated that “setup.cab” was missing from “Disk2″.  This was issue #1.

Since there was no “disk 2″, so I reverted back to just using the native, self-extracting installer.  This appeared like it was going to be fairly simple as all defaults were going to be used.  Most times, just using /s is enough to complete the silent installation.  But no, this would be too easy.  The installation would still not run unattended.  Eventually I discovered that the only way to automate a silent installation was to create and include a setup.iss record file.  Again, this is despite that only the defaults were being used and that a basic setup.iss was already included as part of the extracted files.  This was issue #2.

So have we finally figured out how to automate the silent install?  Of course not – there is no reason that a simple application should be so easy to automate.  Running the install as PDV_16.exe /s /f1″setup.iss” would absolutely install PDV…when executed manually.  As soon as it was deployed using ConfigMgr, the setup would fail with an error.  Why oh why!?!  Turns out that their installer also hates to be run in System context.  Which is what we all know is how ConfigMgr needs to do it, especially for Task Sequences.  This was issue #3.

After tussling with this application, I finally figured out that not only is a recorded installation (setup.iss) necessary, but so is specifying a location for the log file!!  Conclusion?  I despise Sybase installers.  Answer?  Use the following command line.

PDV_16.exe /s /f1"setup.iss" /f2"c:\windows\temp\pdvsetup.log"

One last comment.  Make sure the log file is specified in a directory that already exists (such as c:\windows\temp), otherwise you end up with Issue #4.  And use a wrapper (such as a batch file) to specify the current working directory of the setup.iss file, otherwise you’ll end up with Issue #5.  If using a batch file, the command would like this for your ConfigMgr package:

"%~dp0PDV_16.exe" /s /f1"%~dp0setup.iss" /f2"c:\windows\temp\pdvsetup.log"

 

email

Written by , Posted .