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

if com server returns an error on unregister, installshield goes into infinite loop

Here's a snippet from an uninstall log:

MSI (s) (64:64) [12:20:13:827]: Executing op: ActionStart(Name=ISUnSelfRegisterFiles,,)
MSI (s) (64:64) [12:20:13:828]: Executing op: CustomActionSchedule(Action=ISUnSelfRegisterFiles,ActionType=3073,Source=BinaryData,Target=ISUnSelfRegisterFiles,CustomActionData=r:\temp\~46D8.tmp)
MSI (s) (64:C0) [12:20:13:845]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI4730.tmp, Entrypoint: ISUnSelfRegisterFiles
MSI (s) (64:E0) [12:20:13:845]: Generating random cookie.
MSI (s) (64:E0) [12:20:13:847]: Created Custom Action Server with PID 8324 (0x2084).
MSI (s) (64:D4) [12:20:13:860]: Running as a service.
MSI (s) (64:D4) [12:20:13:861]: Hello, I'm your 32bit Elevated custom action server.
InstallShield 12:20:13: Initializing Property Bag...
InstallShield 12:20:13: Getting file count from property bag
InstallShield 12:20:13: File Count : 1
InstallShield 12:20:13: Sorting Based On Order...
InstallShield 12:20:13: Error loading ISBEW64.exe...File does not exist
InstallShield 12:20:13: Unregistering file C:\Program Files (x86)\MY_COM_SERVER.dll (32-bit)
InstallShield 12:20:13: Failed to unregister file C:\Program Files (x86)\MY_COM_SERVER.dll (32-bit)
InstallShield 12:20:13: Try again the files that have failed.
InstallShield 12:20:13: Unregistering file C:\Program Files (x86)\MY_COM_SERVER.dll (32-bit)
InstallShield 12:20:13: Try again the files that have failed.
InstallShield 12:20:13: Try again the files that have failed.
InstallShield 12:20:13: Try again the files that have failed.
InstallShield 12:20:13: Try again the files that have failed.
InstallShield 12:20:13: Try again the files that have failed.
InstallShield 12:20:13: Try again the files that have failed.
....
goes on forever.

We are looking into the error while unregistering it, but Installshield should just bail and say that it could not unregister the dll
Labels (1)
0 Kudos
3 Replies
anselmomarnach
Level 3

We have just received the same error. Using IS2013 SP1.

In our case, the offending COM DLL was compiled with old Delphi code. Rebooting the machine and trying again fixed the problem. Evidently the DLL was being held in use - but I definitely think it's an InstallShield bug that it just continues the infinite loop.
0 Kudos
TurboFisch
Level 7

We determined that the compiler change from 2008 to 2010 caused the error to show up. There was no code change. So we reverted back to 2008, since that was the simplest solution.

Still Installshield should be smart enough to know that if cannot get past "Try again the files that have failed." on the same file, there's no point to try it forever.
0 Kudos
anselmomarnach
Level 3

I've opened a ticket - to push to see if they can get this bug fixed: Case #00379194
0 Kudos