我正在使用WiX 3.10创建捆绑安装程序(Burn),我正在使用WPF为它编写自定义UI。我希望安装程序启动一个已安装的可执行文件。我一直在尝试使用LaunchApprovedExe启动exe,并查看this 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是一个安全的位置。我错过了什么?
答案 0 :(得分:1)
该注册表项的Value
包括整个路径的双引号。看起来Burn引擎不会忽略双引号。如果你删除它们应该有效。