带连字符的Wix文件名

带连字符的Wix文件名,wix,wix3.8,Wix,Wix3.8,我在Wix安装程序中包含一个文件。文件名中有连字符 <File Name="my_file-with-hyphen-A.txt" Source="MyFolder\my_file-with-hyphen-A.txt" /> 但是,当我查看cab文件时,该文件存储的名称更改为“my_file_with_hyphen_A.txt”,即Wix将连字符更改为下划线 另一个问题是,如果我设置File元素的Id属性,那么cab中的文件名与Id属性相同。cab中的文件名不应该与name属性相

我在Wix安装程序中包含一个文件。文件名中有连字符

<File Name="my_file-with-hyphen-A.txt" Source="MyFolder\my_file-with-hyphen-A.txt" />

但是,当我查看cab文件时,该文件存储的名称更改为“my_file_with_hyphen_A.txt”,即Wix将连字符更改为下划线

另一个问题是,如果我设置File元素的Id属性,那么cab中的文件名与Id属性相同。cab中的文件名不应该与name属性相同吗

<File Id="myfilewithhyphenB" Name="my_file-with-hyphen-B.txt" Source="MyFolder\my_file-with-hyphen-B.txt" />

在最后一种情况下,cab中的文件名是“myfilewithhyphenB”


我正在使用VS2012和Wix 3.8(我更新为Wix 3.9.16.0,但仍然存在相同的问题)。我的问题是如何包含带有连字符的文件?

在不安装cab的情况下提取cab的更简单方法是创建“管理员映像”。要执行此操作,请运行
msiexec/a file.msi TARGETDIR=%USERPROFILE%\Desktop\AdminImage。

是的,“管理员”安装将帮助您完成此操作。我曾经遇到过这种情况,我相信这是因为当您将这些资源文件MSZIP到cab文件时,cab文件遵循ISO9660,因此不允许使用“-”连字符/破折号字符,并将其更改为“25;”下划线。

这是一个问题吗?我猜当文件被安装时,它有正确的名称?它安装得很好。但是我给某人发了一个安装程序来演示这个软件。有人告诉我她无权参加竞选。我告诉她提取cab文件并运行它。(目前安装程序正在转储文件)。有人告诉我dll丢失了,这时我意识到dll名称中的连字符没有保留,并且找不到任何源。为什么?不确定是否要在.cab文件中获取连字符名称。作为一种解决方法,您可以将安装程序构建为每用户安装程序(您必须将安装目录更改为用户可以访问的内容,例如用户的文档文件夹,并将包元素的InstallScope属性更改为“每用户”)但是使用.zip实用程序压缩实际文件并将其发送给用户可能更容易。