我是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}'不是合法的整数值.
有人可以帮我这个吗?任何帮助是极大的赞赏.