WiX Burn Bundle自定义UI LaunchApprovedExe

时间:2017-04-27 14:34:36

标签: wix burn wix3.10

我正在使用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是一个安全的位置。我错过了什么?

1 个答案:

答案 0 :(得分:1)

该注册表项的Value包括整个路径的双引号。看起来Burn引擎不会忽略双引号。如果你删除它们应该有效。