I’ve been repackaging UltraEdit, which has gone fine. The difficulty comes in uninstalling older versions silently. Now the older versions of UltraEdit used Ghost Installer (some info here), so I couldn’t perform an upgrade. Digging a little, I wrote a VBScript to find the uninstall string for the program, but it wasn’t silent. Getting really smart, my script added the “-s” required for a silent ghost installation.
Here’s the real tricky part. I included this script in my package as a Custom Action under Execute Immediate using Call VBScript From Installation. Running my msi I got an Error 1720. The Altiris KB told me I couldn’t use Wscript.CreateObject, but how could I execute the command? I needed to use
Set objShell=CreateObject(WScript.Shell)
rather than
Set objShell=WScript.CreateObject(WScript.Shell)
that I would use in a standard VBScript. I found that fix here