Reputation: 217
I am using WiX 3.10 to create a bundle installer (Burn), I am writing a custom UI for it using WPF. I would like the installer to launch one of the installed executables. I've been trying to get the exe to be launched using LaunchApprovedExe having looked at this WIP:
BootstrapperApplication.Engine.LaunchApprovedExe(hwnd, "CFDExeInst", "", 2000);
This finds the appropriate entry in the registry using the bundle.wxs entry:
<ApprovedExeForElevation Id="CFDExeInst" Key="SOFTWARE\CFD\CFDInst" Value="Loc" Win64="yes" />
And an entry in the MSI:
<RegistryValue Id="RV_CFLINST_LOC" Root="HKLM" Action="write"
Key="SOFTWARE\CFD\CFDInst"
Name="Loc"
Value='"[INSTALLFOLDER]cfd.exe"'
Type="expandable" />
However, I'm getting an error in the log file:
[0EEC:0BD4][]i600: LaunchApprovedExe begin, id: CFDExeInst
[0D54:0B84][]i601: Searching registry for approved exe path, key: SOFTWARE\CFD\CFDInst, value: 'Loc', win64: yes
[0D54:0B84][]i000: The executable path is not in a secure location: "C:\Program Files\CFD PAE\cfd.exe"
[0EEC:0BD4][]i699: LaunchApprovedExe complete, result: 0x80070005, processId: 0
The WIP says that Program Files is a secure location. What am I missing?
Upvotes: 0
Views: 471
Reputation: 7878
The Value
of that registry key includes the double quotes around the whole path. It appears that the Burn engine does not ignore the double quotes. It should work if you remove them.
Upvotes: 1