WiX 自定义操作:如何从 msi 获取引导程序位置



对于自定义操作,我需要安装程序引导程序路径的位置。

session["SourceDir"]给了我:

C:ProgramDataPackage Cache{67668D1E-88B7-4D10-B1B5-98D42AA088E5}...
但是我在测试期间的设置位于C:Temp这是我所期望的。

您需要将引导程序变量传递到 MSI 中。

可以传递的变量:http://wixtoolset.org/documentation/manual/v3/bundle/bundle_built_in_variables.html

这似乎是您想要的: WixBundleOriginalSource - 获取捆绑包最初运行的源路径。

如何从引导程序传递它:

<MsiPackage SourceFile='ProductSetup.msi' DisplayInternalUI='yes'>
   <MsiProperty Name='CONFIGFILELOCATION' Value='[WixBundleOriginalSource]' />
</MsiPackage>

这将使CONFIGFILELOCATION属性在您的ProductSetup.msi文件中可用,然后您可以访问该文件。

最新更新