【问题标题】:How to use Burn Built-in Variables in Wix files .wxs如何在 Wix 文件 .wxs 中使用刻录内置变量
【发布时间】:2015-12-11 16:21:23
【问题描述】:

安装我的 .msi 后,我想将快捷方式 (.lnk) 添加到 Windows 启动文件夹。 (我不想将 .lnk 添加到注册表中以自动启动我的应用程序!-这已经可以了,但不是我的意图!)

寻找解决方案(顺便说一句:我知道 CustomAction 能够做到这一点)我偶然发现了 Burn's built-in variables。 据我了解,它用于链接多个 Wix 安装包。 我想知道是否/如何在 .wxs 文件(快捷方式/目录标签)中使用这些刻录内置变量?

现在我使用的是单个 .wxs 文件

<Wix ..>
<Product ..>
...

【问题讨论】:

  • 请澄清:您是否正在寻找一种方法使您的引导程序可以看到变量也可以在您的链接包中使用?
  • 是的。我希望我的 .wxs WiX 安装程序可以看到我的引导程序(烧录)中的(内置)变量。
  • 如果我的回答对您有所帮助,如果您将其标记为已接受的回答,我会很高兴。谢谢!
  • 我会尽快确认您的回答!先感谢您。我可能还需要几天的时间才能试一试,希望你没问题:)

标签: wix burn


【解决方案1】:

您可以通过常规 MSI 属性将变量传递给包。在您的 MSI 包中引入一个公共属性,然后通过刻录安装程序中的 MsiProperty-tag 设置它。

在 MSI 包的 WXS 文件中:

<Property Id="MYPROP" Value="DefaultValue"/>

在引导程序的 WXS 文件中,您可以设置变量:

<MsiPackage SourceFile="MyFile.msi">
  <MsiProperty Name="MYPROP" Value="[StartupFolder]" />
</MsiPackage>

您可以在许多标签中通过 [MYPROP] 在 MSI 包中使用此变量。

请注意,公共属性必须仅由大写字母组成。

【讨论】:

  • 我无法从 标记(在 MSI 包内)引用 标记的值(在同一 MSI 包内)。因此 MSI-wxs 文件的构建已经失败。 “未解决对符号 'Directory:MYPROP' 的引用” 所以据我了解,我只能将这些 标签用于某些也支持属性属性的 Wix 标签,对吧?这反过来意味着我仍然需要一些自定义操作来最后定义我的快捷方式的位置?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多