首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在尝试更改引用的解决方案中的WixLib预处理器变量

正在尝试更改引用的解决方案中的WixLib预处理器变量
EN

Stack Overflow用户
提问于 2013-03-13 04:03:10
回答 1查看 610关注 0票数 3

我创建了一个WixLib项目和解决方案,其中包含一个片段,该片段指向一组我希望包含在多个项目中的DLLS。

但是,当我从其他解决方案中引用此wixlib时,该目录的预处理器值是随wixlib一起提供的。我想覆盖或更新此值。

我的Wixlib看起来像这样:

代码语言:javascript
复制
<Fragment>
   <ComponentGroup Id="CG.FarPointComponents">
      <Component Id="cmpBBC3777DD58F5E2AE4704D66EF87C105" Directory="INSTALLDIR"
                 Guid="6CB60019-D122-41F6-8009-C41B07BCE5C3">
         <File Id="filC126C8C2BFE502E045C17A812B8A907D" KeyPath="yes"
               Source="$(var.FarPointDir)\FarPoint.CalcEngine.dll" />
      </Component>
   </ComponentGroup>
</Fragment>

我想在另一个解决方案中为var.FarPointDir指定另一个目录,我应该怎么做?我正在使用wix 3.6

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-13 04:32:09

以下是几个选项:

  1. Create a binary .wixlib -使用-bf开关切换到lit.exe,将文件嵌入到.wixlib中。
  2. 使用bind paths -绑定路径就像搜索路径一样,只是为了找到需要在包中结束的文件。如果将File/@Source设置为相对路径(不要以X:\或仅以\开头),则将搜索未命名的绑定路径。您可以使用-bp命令行开关指定light.exe的绑定路径。或者,您可以使用命名绑定路径,它们如下所示:

同样,-bp开关可以创建命名绑定路径。

  • 使用bind variable -而不是使用预处理器变量(在“编译”之前解析),而使用在“绑定时”解析的变量。您可以引用绑定变量,如:!(wix.Var)。可以在命令行上设置为light.exe,也可以使用WixVariable元素在代码中设置它。

我使用选项#1将.wixlibs分发给其他人(自包含),如果它只是我的东西,则使用选项#2 (二进制.wixlibs会稍微减慢构建速度)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15371016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档