我正在使用WiX创建一个.msi安装程序并遇到了问题。我不能在组件或文件ID中使用连字符( - )。如果有可能的话,我本来会用下划线重命名这些文件但不幸的是有多种原因导致我不能或不允许这样做。
我在.wxs中使用以下行:
<Component Id="foo-bar.xsd" Guid="*">
<File Id="foo-bar.xsd" Source="$(var.MyApplication.TargetDir)" KeyPath="yes" />
</Component>
我认为组件id可以是不同的东西,并不重要。这只能解决问题的一小部分,因为重命名文件的id会导致大量错误消息,说明无法找到该文件。是否有解决方法或更改文件名是唯一的选择?
答案 0 :(得分:2)
组件和文件ID不必与文件名匹配。如果省略@Id属性,WiX将使用文件名作为默认值,WiX将自动替换ids中非法的字符。