在 WiX 安装程序脚本中使用变量时如何避免“Win64”属性无效?

Sea*_*son 3 wix visual-studio-2010

我有 WiX 安装程序并且正在关注wix-tricks-and-tips

我的变量都工作正常,但由于以下原因,我收到了数百条警告:

<Component Id="C.Content.2011.1.414" DiskId="1" Guid="MYGUID" Win64="$(var.Win64)" KeyPath="yes">
Run Code Online (Sandbox Code Playgroud)

我收到警告:

警告 1 “Win64”属性无效 - 值“$(var.Win64)”根据其数据类型“ http://schemas.microsoft.com/wix/2006/wi:YesNoType ”无效 - “$”字符(十六进制值 0x24)不能包含在名称中。

然而:

<?xml version="1.0" encoding="utf-8"?>
<Include>
  <?if $(var.Platform) = x64 ?>
    <?define Win64 = "yes" ?>
    <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  <?else ?>
    <?define Win64 = "no" ?>
    <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  <?endif ?>
</Include>
Run Code Online (Sandbox Code Playgroud)

显然 Win64 是/否...我该如何避免此警告?

谢谢

Sea*_*son 5

答案是完全删除 Win64 变量。一旦你正确设置了平台构建目标,WiX 就可以解决这个问题。