我有Visual Studio 2012,WiX 3.8设置项目和Burn引导程序。如果我针对32位机器,则一切正常。我想为32位和64位分别创建两个带本地化的MSI文件。但是,在配置管理器中找不到64位目标选项。因此,我手动创建了一个x64目标并尝试编译设置项目。但它完全失败了。我无法包含以下文件:
我得到的错误是:
创建不同平台的安装程序有什么最佳实践吗?我还使用 Burn 启动器和英语、德语本地化。我已经查阅了类似的 Stack Overflow 问题,但迄今为止没有帮助。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<?include $(var.ProjectDir)\Includes\Variables.wxi ?>
<Fragment>
<CustomAction somecustomaction />
...
More custom actions...
...
</Fragment>
</Wix>
我得到的错误是:
当我移除 include 标签时,它就可以编译了。但是我需要在其他文件中使用这样的 include 指令来引用一些变量。我真的不明白问题出在哪里。include 标签在32位系统上运作得很好,那么如果我将其用于64位目标,为什么会报错?这里有什么问题?错误 33:模式验证失败,出现以下错误,位于第1行,第206列: 命名空间 'http://schemas.microsoft.com/wix/2006/wi' 中的元素 'Wix' 不能包含文本。 可能期望的元素列表为:'Bundle Product Module Patch Fragment PatchCreation'。 somefile.wxs 2 1 Some.Installer Installer_x64\Some.Installer)
创建不同平台的安装程序有什么最佳实践吗?我还使用 Burn 启动器和英语、德语本地化。我已经查阅了类似的 Stack Overflow 问题,但迄今为止没有帮助。