Wix - How to run exe files after installation from installed directory?

Yonatan Nir picture Yonatan Nir · Oct 9, 2013 · Viewed 16.2k times · Source

I'm using a program which is being installed using wix. (Don't know if it's relevant but it's a C# program)

I want to run an exe file which was installed by the msi file, but the location of the installation is unknown to me since the user chooses the installation path.

I wanted to ask for example of how to run an exe file from the location the user chooses.

Even though it's not a part of the question, I would also be glad to see some example of running an exe file from an absolute location since I'm a beginner to wix and doing it all for the first time.

Answer

Ibai picture Ibai · Aug 30, 2018

The Isaiah4110 answer is not the best way if you don´t need and UI.

The simplest way to execute the exe file target your are installing throught msi produced by Wix is with a custom action type 18 (identifing the action by FileKey), here you are a complete example:

<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
  <Component Id="TargetProgram" Guid="f757ff43-0266-483a-8749-ec796cba4b25" >
    <File Id="EXE" Source="C:\SetupProject\Includes\TargetProgram.exe" />
  </Component>
</ComponentGroup>

<CustomAction Id="EXECUTE_AFTER_FINALIZE"                  
              Execute="immediate" 
              Impersonate="no"
              Return="asyncNoWait"
              FileKey="EXE"
              ExeCommand="" />

<InstallExecuteSequence>
  <Custom Action="EXECUTE_AFTER_FINALIZE" After="InstallFinalize">NOT Installed</Custom>
</InstallExecuteSequence>
</Fragment>