Level 4

Using Installer Class not working


Long story short, I have used InstallShield 2015 Professional to manage my solution's(windows service) installation. Now, I've got a requirement to do some logic before Uninstall. So, I've overridden onBeforeUninstall() event handler of Projectinstaller to do necessary logic for me. I've tested this functionality using InstallUtil uninstall command and everything worked fine. But, when I used my Installshield to uninstall, I'm not even getting control into my onBeforeUnsintall(). After browsing for some time, I came to know that I need to set User Installer Class to true to achieve what I need. But, after changing the value to true, I'm getting Error 1001 right when I'm installing my setup file. I would be really thankful if someone could help me out with this. Thanks.
Labels (1)
0 Kudos
4 Replies
Level 11

Error -1001 wraps every possible error with an installer class (this is the fault of Microsoft's InstallUtilLib.dll they released for integrating into Windows Installer).

IIRC it means that you have to find the installer class logfiles to see what the inner exception was. I don't recall where those live, but maybe where the installing assembly is located?

As I posted in another thread, you're money ahead if you don't use installer classes and instead figure out how to implement all that configuration functionality into the installer. At least when it doesn't work right then, you get a meaningful error in the actual MSI log--but there's a lot of other reasons why it's advantageous to not use installer classes.
0 Kudos
Level 4

Thanks a lot for responding. This is the Error 1001 portion of the logs that I'm getting while installing with "Using Installer Class" set to true. Could you help me understand the reason for the issue. Thanks.

InstallServices: Service:
MSI (s) (3C:84) [13:26:08:023]: Executing op: ActionStart(Name=_767BAAE8E80C032CE0926C2D2711391A.commit,,)
Action 13:26:08: _767BAAE8E80C032CE0926C2D2711391A.commit.
MSI (s) (3C:84) [13:26:08:023]: Executing op: CustomActionSchedule(Action=_767BAAE8E80C032CE0926C2D2711391A.commit,ActionType=3585,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=commit /LogFile= "C:\Program Files (x86)\Cisco\TSAgentPOC\ServiceCallPOC_x64.exe" "C:\Users\ADMINI~1\AppData\Local\Temp\2\{A3436B1E-573E-4D62-8074-F1264A82BE75}\_isconfig.xml")
MSI (s) (3C:84) [13:26:08:023]: Executing op: ActionStart(Name=_767BAAE8E80C032CE0926C2D2711391A.rollback,,)
Action 13:26:08: _767BAAE8E80C032CE0926C2D2711391A.rollback.
MSI (s) (3C:84) [13:26:08:023]: Executing op: CustomActionSchedule(Action=_767BAAE8E80C032CE0926C2D2711391A.rollback,ActionType=3329,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=rollback /LogFile= "C:\Program Files (x86)\Cisco\TSAgentPOC\ServiceCallPOC_x64.exe" "C:\Users\ADMINI~1\AppData\Local\Temp\2\{A3436B1E-573E-4D62-8074-F1264A82BE75}\_isconfig.xml")
MSI (s) (3C:84) [13:26:08:023]: Executing op: ActionStart(Name=_767BAAE8E80C032CE0926C2D2711391A.install,,)
Action 13:26:08: _767BAAE8E80C032CE0926C2D2711391A.install.
MSI (s) (3C:84) [13:26:08:023]: Executing op: CustomActionSchedule(Action=_767BAAE8E80C032CE0926C2D2711391A.install,ActionType=3073,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=install /LogFile= "C:\Program Files (x86)\Cisco\TSAgentPOC\ServiceCallPOC_x64.exe" "C:\Users\ADMINI~1\AppData\Local\Temp\2\{A3436B1E-573E-4D62-8074-F1264A82BE75}\_isconfig.xml")
MSI (s) (3C:98) [13:26:08:023]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI3124.tmp, Entrypoint: ManagedInstall
MSI (s) (3C:F0) [13:26:08:023]: Generating random cookie.
MSI (s) (3C:F0) [13:26:08:023]: Created Custom Action Server with PID 1416 (0x588).
MSI (s) (3C:8C) [13:26:08:038]: Running as a service.
MSI (s) (3C:8C) [13:26:08:038]: Hello, I'm your 32bit Elevated custom action server.
Error 1001.
MSI (s) (3C!E4) [13:26:10:070]:
MSI (s) (3C:98) [13:26:10:070]: Leaked MSIHANDLE (8) of type 790531 for thread 1508
MSI (s) (3C:98) [13:26:10:070]: Note: 1: 2769 2: _767BAAE8E80C032CE0926C2D2711391A.install 3: 1
Info 2769. Custom Action _767BAAE8E80C032CE0926C2D2711391A.install did not close 1 MSIHANDLEs.
CustomAction _767BAAE8E80C032CE0926C2D2711391A.install returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 13:26:10: InstallFinalize. Return value 3.
MSI (s) (3C:84) [13:26:10:070]: Note: 1: 2265 2: 3: -2147287035
MSI (s) (3C:84) [13:26:10:070]: User policy value 'DisableRollback' is 0
MSI (s) (3C:84) [13:26:10:070]: Machine policy value 'DisableRollback' is 0
MSI (s) (3C:84) [13:26:10:070]: Executing op: Header(Signature=1397708873,Version=500,Timestamp=1264675652,LangId=1033,Platform=589824,ScriptType=2,ScriptMajorVersion=21,ScriptMinorVersion=4,ScriptAttributes=1)
MSI (s) (3C:84) [13:26:10:070]: Executing op: DialogInfo(Type=0,Argument=1033)
MSI (s) (3C:84) [13:26:10:070]: Executing op: DialogInfo(Type=1,Argument=PGServicePOC)
MSI (s) (3C:84) [13:26:10:070]: Executing op: RollbackInfo(,RollbackAction=Rollback,RollbackDescription=Rolling back action:,RollbackTemplate=[1],CleanupAction=RollbackCleanup,CleanupDescription=Removing backup files,CleanupTemplate=File: [1])
Action 13:26:10: Rollback. Rolling back action:
Rollback: _767BAAE8E80C032CE0926C2D2711391A.install
MSI (s) (3C:84) [13:26:10:070]: Executing op: ActionStart(Name=_767BAAE8E80C032CE0926C2D2711391A.install,,)
MSI (s) (3C:84) [13:26:10:070]: Executing op: ProductInfo(ProductKey={A3436B1E-573E-4D62-8074-F1264A82BE75},ProductName=PGServicePOC,PackageName=PGServicePOC.msi,Language=1033,Version=16777216,Assignment=1,ObsoleteArg=0,ProductIcon=ARPPRODUCTICON.exe,,PackageCode={D43B84BC-1ACB-4146-8B5F-0B3FCCAFC805},,,InstanceType=0,LUASetting=0,RemoteURTInstalls=0,ProductDeploymentFlags=3)
Rollback: _767BAAE8E80C032CE0926C2D2711391A.rollback
MSI (s) (3C:84) [13:26:10:070]: Executing op: ActionStart(Name=_767BAAE8E80C032CE0926C2D2711391A.rollback,,)
MSI (s) (3C:84) [13:26:10:070]: Executing op: CustomActionRollback(Action=_767BAAE8E80C032CE0926C2D2711391A.rollback,ActionType=3329,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=rollback /LogFile= "C:\Program Files (x86)\Cisco\TSAgentPOC\ServiceCallPOC_x64.exe" "C:\Users\ADMINI~1\AppData\Local\Temp\2\{A3436B1E-573E-4D62-8074-F1264A82BE75}\_isconfig.xml")
MSI (s) (3C:20) [13:26:10:070]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI3923.tmp, Entrypoint: ManagedInstall
Error 1001.
MSI (s) (3C!D4) [13:26:10:726]:
MSI (s) (3C:20) [13:26:10:726]: Leaked MSIHANDLE (10) of type 790531 for thread 2516
MSI (s) (3C:20) [13:26:10:726]: Note: 1: 2769 2: _767BAAE8E80C032CE0926C2D2711391A.rollback 3: 1
Info 2769. Custom Action _767BAAE8E80C032CE0926C2D2711391A.rollback did not close 1 MSIHANDLEs.
CustomAction _767BAAE8E80C032CE0926C2D2711391A.rollback returned actual error code 1603 but will be translated to success due to continue marking
Rollback: _767BAAE8E80C032CE0926C2D2711391A.commit
0 Kudos
Level 11

I cannot help you decipher that log, because it does not contain information about the cause of the error.

You need to track down the *.installstate and similarly named files which according to this will be created in the location of the assembly you're installing.

I would also like to stress again that you should consider a move away from installer classes, primarily because the install log will contain the actual cause of the install error then. (There's also fewer points of failure this way)
0 Kudos
Level 4

Thanks a lot Cary. I'll check them out.
0 Kudos