Como parte do meu projeto, o instalador deve copiar os arquivos para o compartilhamento de rede (system_nameFolder). Eu tentei usando o <Directory>
elemento que define o caminho para o compartilhamento (propriedade NetHoodFolder), mas está gerando um erro.
Error 5 ICE64: The directory SP9381 is in the user profile but is not listed in the RemoveFile table. C:WixMainProjectMainProjectProduct.wxs 25 1 MainProject
Podemos fazer o mesmo usando o elemento? Existe alguma outra maneira de copiar arquivos para compartilhamento de rede?
Respostas:
1 para resposta № 1Você pode copiar arquivos para um compartilhamento de rede, mas existem várias limitações. Primeiro, para contornar o problema do ICE, tente estruturar sua árvore de diretórios da seguinte forma:
<Directory Id="TARGETDIR" Source="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="NETWORKSHAREFOLDER" Name="network">
</Directory>
</Directory>
Então, de alguma forma, você precisa fazer com que o compartilhamento de redeser conhecido. Você pode perguntar na IU ou pegar na linha de comando ou qualquer outra coisa. Codifiquei a string em meu caso de teste (definitivamente não é recomendado para reais):
<Property Id="NETSHARE" Value="\serversharefolder" />
<SetDirectory Id="NETWORKSHAREFOLDER" Value="[NETSHARE]" />
Se você quiser passá-lo na linha de comando, não adicione nenhum dos itens acima, apenas faça:
msiexec /i pathtoyour.msi NETWORKSHAREFOLDER="\serversharefolder"
Basicamente, apenas faça o root de sua NETWORKSHAREFOLDER em uma pasta conhecida e altere-a mais tarde, conforme explicado acima.