gpt4 book ai didi

wix - 如何在 wxi 文件的变量中使用 ProgramFilesFolder 值

转载 作者:行者123 更新时间:2023-12-04 07:54:58 25 4
gpt4 key购买 nike

在我的 wxi 文件中,我想设置一个具有 Program Files 目录的变量。我希望它选择 Program Files 的本地化值。

 <?define MyDirectory="!(wix.LocalizedProgramFilesFolder)\MyFiles"?>

我已将 LocalizedProgramFilesFolder 定义为:
<WixVariable Id="LocalizedProgramFilesFolder" Value="[ProgramFilesFolder]"/>

但是在安装过程中,MyDirectory 被选为:
"[ProgramFilesFolder]\MyFiles".

它不会展开 ProgramFilesFolder。
如何在我的 wxi 文件的变量中使用 ProgramFilesFolder 值?

最佳答案

不知道您为什么使用 MyDirectory多变的。作为WixVariable docs说:

WiX variables do not persist into the msi/msm/pcp file, so they cannot be used when an MSI file is being installed; it's a WiX-only concept.



它的值以文本形式写入您使用它的任何地方。因此,如果您希望在安装时替换该值的属性,则必须仅在这样的上下文中使用它。

ProgramFilesFolder 的典型用法是作为 Directory/@Id,它可以有一个后代 Directory,例如 MyFiles .注意: Directory/@Id 也是一个属性,因此可以这样使用。
  <Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="MyFiles" />
</Directory>
</Directory>
INSTALLFOLDER用于代替 MyDirectory .您可以使用任何您想要的,但项目模板中的默认值。都是大写,这使它成为公共(public)属性(property)。可以从 UI 或使用 msiexec 将公共(public)属性值传递到安装程序序列中。或其他程序,例如 Bootstrap 。

关于wix - 如何在 wxi 文件的变量中使用 ProgramFilesFolder 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17677693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com