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

Mystery -- unable to install

I am having an uninstall problem. From the below you'll see that I have been deep into it for over a day.

I first configured the installer to drop a custom action called CopyLicense and then reinstituted it. I changed Cache MSI to No. As far as I can tell from the CustomAction table, the action is properly configured as entry point function F5 in ISSetup.dll. (Of course, the whole byzantine structure of what gets unpacked where during installation is hard to follow.)

The installer no longer uninstalls under ANY circumstances -- shortcut, command line, AddRemove. (Unless you pick it out the application by hand and delete the installer registry keys -- like picking -- encrypted -- lint).

When I go into the MSI and zero out (Condition=0) the CopyLicense custom action (using ORCA), and rerun it in Maintenance mode, I still get the uninstall failure. So . . . even though the action SHOULD be suppressed (I think), it still invokes?

I notice that the installer is looking for a registry key that DOES NOT EXIST, apparently to find rollback scripts? Is this somehow related to the installer being an InstallShield 2008 update of an InstallShield DevStudio (9.0) installer? In other words, is there a missing standard action in the update of the installer -- some action that supposedly sets the key but that is not being engaged because it is not included in the conversion from DevStudio to 2008?

Could THAT have something to do with the failure of the installer to uninstall?

See line 4, error 1402 below.


InstallShield 18:04:55: Invoking script function CopyLicense
InstallShield 18:04:55: CallScriptFunctionFromMsiCA() ends
MSI (s) (0C:A4) [18:04:55:055]: Machine policy value 'DisableRollback' is 0
MSI (s) (0C:A4) [18:04:55:055]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 <-- WHAT'S THIS -- DOESN'T EXIST ON THE MACHINE.
Action ended 18:04:55: CopyLicense. Return value 3.
MSI (s) (0C:A4) [18:04:55:055]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (0C:A4) [18:04:55:055]: Calling SRSetRestorePoint API. dwRestorePtType: 13, dwEventType: 103, llSequenceNumber: 175, szDescription: "".
MSI (s) (0C:A4) [18:04:55:070]: The call to SRSetRestorePoint API succeeded. Returned status: 0.
MSI (s) (0C:A4) [18:04:55:070]: Unlocking Server
Action ended 18:04:55: INSTALL. Return value 3.

THEN I get the infamous 1603 error. General MSI fatal error.
Labels (1)
0 Kudos
(3) Replies
RobertDickau
Flexera Alumni

Maintenance mode will run from the cached MSI database in the Installer directory, so removing an action and re-running won't normally use the new MSI. Assuming the failing action is preventing the uninstall, perhaps re-cache with something like this (with the v option in REINSTALLMODE):

msiexec /i product.msi REINSTALLMODE=voums REINSTALL=ALL

and then try to uninstall?
0 Kudos
Peter_Kosenko
Level 7

Thanks. I'll try that.
0 Kudos
Peter_Kosenko
Level 7

Your command line didn't work. It was still trying to invoke the custom action even though I conditioned it to 0. The installer begins the uninstall process, then stops when it hits that custom action.

MSI (s) (2C:60) [16:04:49:433]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSI62.tmp, Entrypoint: f5
Action start 16:04:49: CopyLicense.

But your post gave me another idea.

I just went to the cached SMI package and opened IT in ORCA and put a condition of 0 on the offending custom action.

MSI (s) (2C:84) [16:04:38:736]: Package we're running from ==> C:\WINDOWS\Installer\1b7b68a.msi

That solved the problem. The sledge hammer hit the right nail.

The application uninstalled.

But I still can't figure out why that particular Custom Action is screwball.
0 Kudos