Discussion:
[WiX-users] Run executable after setup
Sudripta Nandy (Sarangsoft Corporation)
2009-04-22 21:22:14 UTC
Permalink
After the completion of my setup, I need to launch the main executable of the software. In the manifest file of the main executable the execution level has been set to 'requireAdministrator'. The wix file has a custom action to launch the main executable. The custom action is given as:

<CustomAction Id="StartApp" Directory="INSTALLDIR"
ExeCommand="[INSTALLDIR]MyApp.exe" Return="asyncNoWait" />


The problem is that the MSI is failing to launch the executable and returning the error code 1631... this is probably because the application needs to run with elevated privileges.

I can't run the executable in deferred mode as I need to run it at a very late stage (after completing the setup, when the user clicks the 'Finish' button on my final dialog). Because in deferred mode I need to sequence it between InstallInitialize and InstallFinalize.

Any ideas on how to run the executable...


Thanks.
Sudripta.
David Bartmess
2009-04-22 22:09:43 UTC
Permalink
Can't you Just set an exit action on the Finish button like below? I use this to open PDF user guides after the installation is complete.

<Publish Dialog="ExitDialog" Control="Finish" Order="1" Event="DoAction" Value="DisplayPDF"><![CDATA[DISPLAYPDF = "1" AND NOT REMOVE]]></Publish>

-----Original Message-----
From: Sudripta Nandy (Sarangsoft Corporation) [mailto:v-***@microsoft.com]
Sent: Wednesday, April 22, 2009 3:22 PM
To: wix-***@lists.sourceforge.net
Subject: [WiX-users] Run executable after setup

After the completion of my setup, I need to launch the main executable of the software. In the manifest file of the main executable the execution level has been set to 'requireAdministrator'. The wix file has a custom action to launch the main executable. The custom action is given as:

<CustomAction Id="StartApp" Directory="INSTALLDIR"
ExeCommand="[INSTALLDIR]MyApp.exe" Return="asyncNoWait" />


The problem is that the MSI is failing to launch the executable and returning the error code 1631... this is probably because the application needs to run with elevated privileges.

I can't run the executable in deferred mode as I need to run it at a very late stage (after completing the setup, when the user clicks the 'Finish' button on my final dialog). Because in deferred mode I need to sequence it between InstallInitialize and InstallFinalize.

Any ideas on how to run the executable...
Chad Petersen
2009-04-22 22:29:28 UTC
Permalink
I do something similar, but in this case launch an MMC console
application on the Finish button at the end of one of my installs. Like
so...

<Property Id="LAUNCHPRODUCT">1</Property>

<Text>[ButtonFont]&amp;Finish</Text>
<Publish Event="EndDialog" Value="Return">1</Publish>
<Publish Event="DoAction"
Value="LaunchDeployMgr">(LAUNCHPRODUCT=1)</Publish>
<Publish Event="DoAction"
Value="caLaunchDeployMgr">(LAUNCHPRODUCT=1)</Publish>



<CustomAction Id="LaunchDeployMgr" Property="LaunchDeployMgr"
Value="&quot;$(env.WinDir)\system32\mmc.exe&quot;
&quot;[#DeployMSC]&quot;" HideTarget="yes" />
<CustomAction Id="caLaunchDeployMgr" Return="asyncNoWait"
ExeCommand="[LaunchDeployMgr]" Directory="TARGETDIR" HideTarget="yes" />


-----Original Message-----
From: David Bartmess [mailto:***@wallst.com]
Sent: Wednesday, April 22, 2009 3:10 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Run executable after setup

Can't you Just set an exit action on the Finish button like below? I use
this to open PDF user guides after the installation is complete.

<Publish Dialog="ExitDialog" Control="Finish" Order="1" Event="DoAction"
Value="DisplayPDF"><![CDATA[DISPLAYPDF = "1" AND NOT REMOVE]]></Publish>

-----Original Message-----
From: Sudripta Nandy (Sarangsoft Corporation)
[mailto:v-***@microsoft.com]
Sent: Wednesday, April 22, 2009 3:22 PM
To: wix-***@lists.sourceforge.net
Subject: [WiX-users] Run executable after setup

After the completion of my setup, I need to launch the main executable
of the software. In the manifest file of the main executable the
execution level has been set to 'requireAdministrator'. The wix file has
a custom action to launch the main executable. The custom action is
given as:

<CustomAction Id="StartApp" Directory="INSTALLDIR"
ExeCommand="[INSTALLDIR]MyApp.exe"
Return="asyncNoWait" />


The problem is that the MSI is failing to launch the executable and
returning the error code 1631... this is probably because the
application needs to run with elevated privileges.

I can't run the executable in deferred mode as I need to run it at a
very late stage (after completing the setup, when the user clicks the
'Finish' button on my final dialog). Because in deferred mode I need to
sequence it between InstallInitialize and InstallFinalize.

Any ideas on how to run the executable...


------------------------------------------------------------------------
------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
Bob Arnson
2009-04-23 02:41:20 UTC
Permalink
Post by Sudripta Nandy (Sarangsoft Corporation)
After the completion of my setup, I need to launch the main executable of the software. In the manifest file of the main executable the execution level has been set to 'requireAdministrator'.
Not supported. MSI has a way of launching elevated processes and the UI
isn't it.
--
sig://boB
http://joyofsetup.com/
Continue reading on narkive:
Loading...