cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
BrHartmann
Level 7

Installscript bootstrapper getting into a broken state (or breaking Windows)

I have a fairly new installation flow which involves a 32-bit Installscript bootstrapper which detects 32/64-bit and then calls the corresponding "main" installer package. The bootstrapper is designed to fail out with an abort statement after the call so that it doesn't register as an installed product itself. If it's relevant, the main installer packages are Installscript-MSI.

The install works great, and if a user uninstalls via Add/Remove programs, all is well (it just calls the main installer's setup.exe directly). The problem occurs when users choose to run the original bootstrapper again to perform an uninstall. I have some installscript code to detect the presence of PROGRAMFILES^"InstallShield Installation Information"^{GUID for the 32 or 64-bit main package}^setup.exe. If detected, the bootstrapper knows it is being used for uninstall, so it calls that exe to initiate maintenance of the main installer, then fails out with an abort statement.

I've tried this both with wait and no wait on the LaunchAppAndWait call to the other setup.exe, and either way the uninstall seems to proceed fine, but somewhere in this process the installscript bootstrapper becomes unusable again on that machine. Any further attempts to launch the bootstrapper result in the following error:

Error reading setup initialization file

I checked the temp folders and some were created, but were empty -- setup.inx and other familiar IS support files were nowhere to be found.

I'm looking for advice not only for designing around this problem, but for fixing an existing machine which was affected by it.

Thank you.
Labels (1)
0 Kudos
(2) Replies
BrHartmann
Level 7

update: By directly re-installing the main installscript-MSI on a machine that was in this weird state, then uninstalling via add/remove programs, the bootstrapper then works again. So, the machine can be "unbroken", and perhaps this gives some additional clue as to what is happening?

I would still appreciate advice on a better way to handle the use of the bootstrapper as uninstaller in order to completely avoid this problem.
0 Kudos
BrHartmann
Level 7

I believe I have this resolved. I'll post what I did in case anyone encounters the same behavior and finds this thread.

In Installshield's uninstall key, there were some command line arguments to the setup.exe:

-runfromtemp -l0x0409 -removeonly

I had not previous included these when I called the uninstaller from my bootstrapper. I dropped the language arg, but used the other two (I suspect the "runfromtemp" is the one which was key to resolving my issue). The bootstrapper no longer got into a broken state once I added these args.
0 Kudos