Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Immediate Execute of CA on fails on Windows Server 2012


3 replies to this topic

Grumpiest_Cat

Grumpiest_Cat
  • Full Members
  • 7 posts

Posted 17 October 2013 - 22:35

I develop and maintain a basic MSI installer.

 

Since the beginning of time, we have had a CA that is tied to a checkbox  on the SetupCompleteSuccess dialog and if it is checked the CA runs when the "Finish" button is clicked. This CA launches the configuration tool(exe) for our application.

 

This has worked great until we began trying to support Windows Server 2012. On Windows Server 2012 when this CA runs it returns 1631, which is a service failed to start error. I'm assuming this is due to the fact that the Windows Installer service is in the process of exiting when "Finish" is pressed. I did several searches and found a few references to this problem. The general consensus seemed to be that the solution should be to set the custom action to deferred but I could find no report of this resolving the issue. 

 

So I went ahead and tried it anyway and ended up with getting an Internal Error 2762. Searching this up I found an almost exact description of my problem from 13 years ago (https://groups.googl...ral/ZdJ6-33wAfw). The respondent to this post is none other than Stefan Krueger himself who's solution was to run the CA as an immediate action because SetupCompleteSuccess is too late to run deferred actions.

 

So at this point I'm not sure what to do. It doesn't seem like running as a deferred action or an immediate action will work. Any solutions or ideas for alternative approaches would be greatly appreciated.



Grumpiest_Cat

Grumpiest_Cat
  • Full Members
  • 7 posts

Posted 18 October 2013 - 22:38

So I figured out that I was doing the deferred custom action wrong so I re-implemented it today. Now I get the following output:

 

Action 13:49:26: LaunchConfigUtilWin2012. 
MSI (s) (A4:F8) [13:49:26:320]: Executing op: CustomActionSchedule(Action=LaunchConfigUtilWin2012,ActionType=1250,Source=C:\Program Files\Serena\SBM\,Target=C:\Program Files\Serena\SBM\ConfigUtility\configurationutility.exe,)
MSI (s) (A4:F8) [13:49:26:320]: Executing op: ActionStart(Name=InstallFinalize,,)
Action 13:49:26: InstallFinalize. 
MSI (s) (A4:F8) [13:49:26:324]: Executing op: CleanupTempFiles(TempFiles=C:\Windows\Installer\55eca.mst)
MSI (s) (A4:F8) [13:49:26:324]: Scheduling file 'C:\Windows\Installer\55eca.mst' for deletion during post-install cleanup (not post-reboot).
MSI (s) (A4:F8) [13:49:26:324]: Executing op: End(Checksum=0,ProgressTotalHDWord=0,ProgressTotalLDWord=1827038944)
1: LaunchConfigUtilWin2012 2: 1631
 
The target of the custom action is definitely correct but it is returning 1631. This makes me think maybe it isn't the Windows Installer service returning 1631 but my EXE. I'm not sure what this means frankly, but I'll keep trying.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 21 October 2013 - 07:16

When launching an EXE as a custom Action, you typically should select the "ignore exit code" option.



Grumpiest_Cat

Grumpiest_Cat
  • Full Members
  • 7 posts

Posted 24 October 2013 - 05:20

I was running asynchronously and not waiting for exit code, but I'll try synchronous ignoring exit code.