Wix包含文件(.wxi)抛出异常

soo*_*yer 4 wix wix3.5

我是Wix的初学者,我们正在尝试从Installshield迁移到Wix.但是我遇到了一个我无法解决的错误.在发布此消息之前,我已经完成了我的在线研究,我希望能得到一些专家的帮助,以防有人遇到类似的问题,并且能够指出我在这里犯下的愚蠢错误.

这是我的Wix包含文件:properties.wxi

    <Include>

     <?define Language="1033"?>
     <?define Manufacturer="ABC Inc"?>
     <?define Name="TRIAL-MSI"?>
     <?define UpgradeCode="....GUID...."?>
     <?define Version="09.00.0021"?>
     <?define Comments="Contact: team@abc.com"?>
     <?define Description="TRIAL Application"?> 

     </Include>
Run Code Online (Sandbox Code Playgroud)

我在我的代码中调用它如下:

       <?xml version="1.0" encoding="UTF-8"?>
       <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
        <?include properties.wxi ?> 

 <Product Id="*" 
                Name="${var.Name}"
                Language="${var.Language}" 
                Manufacturer="${var.Manufacturer}"
                UpgradeCode="${var.UpgradeCode}" 
                Version="${var.Version}" >

    <Package    Comments="${var.Contact}" 
                Description="${var.Description}" 
                InstallerVersion="200" 
                Keywords="Installer,MSI,Database" 
                Languages="${var.Language}" 
                Manufacturer="${var.Manufacturer}"
                Compressed="yes"
                Platform="x86" />
Run Code Online (Sandbox Code Playgroud)

我在命令行上编译我的脚本:

         candle -arch x86 -I properties.wxi trial.wxs
Run Code Online (Sandbox Code Playgroud)

我不断收到如下错误:

错误CNDL0048:文档元素名称"包含"无效.Windows Installer XML源文件必须使用"Wix"作为文档元素名称.源跟踪:

我想因为Candle不接受包含文件,它会抛出异常:

错误CNDL0008:Product/@ Language属性的值'$ {var.Language}'不是合法的整数值.

有人可以帮我这个吗?任何帮助是极大的赞赏.

Pad*_*ddy 6

迁移wxs文件时出现此错误wxi

Build Action在Visual Studio中设置files 属性CompileContent修复它.