作为我项目的一部分,安装程序必须将文件复制到网络共享(\ system_name \ Folder)。我已经尝试使用定义共享路径的<Directory>
元素(NetHoodFolder属性),但它抛出了一个错误。
Error 5 ICE64: The directory SP9381 is in the user profile but is not listed in the RemoveFile table. C:\Wix\MainProject\MainProject\Product.wxs 25 1 MainProject
我们可以使用相同的元素吗?有没有其他方法可以将文件复制到网络共享?
答案 0 :(得分:1)
您可以将文件复制到网络共享,但存在许多限制。首先,要解决ICE问题,请尝试构建目录树,如下所示:
<Directory Id='TARGETDIR' Source='SourceDir'>
<Directory Id='ProgramFilesFolder' Name='PFiles'>
<Directory Id='NETWORKSHAREFOLDER' Name='network'>
</Directory>
</Directory>
然后以某种方式你需要知道网络共享。您可以在UI中询问或从命令行或其他任何方面获取它。我在测试用例中硬编码了字符串(绝对不建议用于实数):
<Property Id='NETSHARE' Value='\\server\share\folder' />
<SetDirectory Id='NETWORKSHAREFOLDER' Value='[NETSHARE]' />
如果您想在命令行上传递它,请不要添加上述任何内容,只需执行:
msiexec /i path\to\your.msi NETWORKSHAREFOLDER="\\server\share\folder"
基本上,只需将您的NETWORKSHAREFOLDER置于一个众所周知的文件夹中,然后按照上述说明稍后进行更改。