使用WiX将文件复制到网络共享

时间:2013-04-11 07:03:28

标签: wix network-share

作为我项目的一部分,安装程序必须将文件复制到网络共享(\ 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

我们可以使用相同的元素吗?有没有其他方法可以将文件复制到网络共享?

1 个答案:

答案 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置于一个众所周知的文件夹中,然后按照上述说明稍后进行更改。