如何在WIX中的wxs文件之间传递参数?

时间:2014-09-22 11:56:25

标签: wix

我构建了一个带有WIX 3.8的引导程序包,其中我将安装目录的给定参数(通过DOS窗口)传递给MSI文件。 一切正常。

但现在我们想在引导程序和MSI之间放置第二个WXS文件。 这个名为Source.wxs,包含安装目录的变量和MsiPackage标记(之前在引导程序文件中),它将启动MSI。 最大的问题是:如何将我的参数从引导程序传递到第二个WXS文件?

提前致谢! 帕特里克

2 个答案:

答案 0 :(得分:0)

问题"如何将我的参数从引导程序传递到第二个WXS文件?"表现出一些缺乏理解。

您看,第二个WXS文件是(或至少应该是)MSI的一部分。我假设您将wxs文件直接添加到wix安装项目中,或添加到wix安装项目引用的wix库中。无论哪种方式,您的主wxs文件(具有<wix>元素的文件)都需要在第二个wxs文件中引入片段(通过引用组件或属性等)。

一旦你输入了第二个wxs的内容,其中定义的任何属性都将成为wix安装项目的一部分,并且引导程序提供的任何适当命名的命令行参数将被输入正确的属性,而不管它来自哪个wxs文件。

答案 1 :(得分:0)

如果您的wix文件中有变量名“App_Name”且值为 测试 ,并且想要在wxs文件中使用,则可以使用 !(loc.App_Name)

示例:wix文件包含以下变量

<String Id="App_Name" Overridable="yes">Test</String>    

你的wxs可以像这样使用

    <Product Name='!(loc.App_Name)'