1

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

我们可以使用 element 做同样的事情吗?有没有其他方法可以将文件复制到网络共享?

4

1 回答 1

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 放在一个众所周知的文件夹中,然后按照上面的说明进行更改。

于 2013-04-11T19:15:44.637 回答