Я использую WiX 3.10 для создания установщика пакета (Burn), я пишу для него собственный пользовательский интерфейс с помощью WPF. Я хотел бы, чтобы установщик запускал один из установленных исполняемых файлов. Я пытался запустить исполняемый файл с помощью LaunchApprovedExe, посмотрев на этот WIP:
BootstrapperApplication.Engine.LaunchApprovedExe(hwnd, "CFDExeInst", "", 2000);
Это находит соответствующую запись в реестре, используя запись bundle.wxs:
<ApprovedExeForElevation Id="CFDExeInst" Key="SOFTWARE\CFD\CFDInst" Value="Loc" Win64="yes" />
И запись в MSI:
<RegistryValue Id="RV_CFLINST_LOC" Root="HKLM" Action="write"
Key="SOFTWARE\CFD\CFDInst"
Name="Loc"
Value='"[INSTALLFOLDER]cfd.exe"'
Type="expandable" />
Однако я получаю сообщение об ошибке в файле журнала:
[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
WIP говорит, что Program Files — это безопасное место. Что мне не хватает?