2013-04-11 7 views
1

Dans le cadre de mon projet, le programme d'installation doit copier les fichiers sur le partage réseau (\ nom_système \ Dossier). Je l'ai essayé en utilisant l'élément <Directory> définissant le chemin d'accès au partage (propriété NetHoodFolder) mais il génère une erreur.Copier des fichiers sur le partage réseau avec WiX

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 

Pouvons-nous faire la même chose avec l'élément? Existe-t-il un autre moyen de copier des fichiers sur le partage réseau?

Répondre

1

Vous pouvez copier des fichiers sur un partage réseau, mais il existe un certain nombre de limitations. Tout d'abord, pour contourner le problème ICE, essayez de structurer votre arborescence comme ceci:

<Directory Id='TARGETDIR' Source='SourceDir'> 
    <Directory Id='ProgramFilesFolder' Name='PFiles'> 
     <Directory Id='NETWORKSHAREFOLDER' Name='network'> 
    </Directory> 
</Directory> 

Ensuite, en quelque sorte, vous devez obtenir à connaître le partage réseau. Vous pouvez demander dans l'interface utilisateur ou le prendre à partir de la ligne de commande ou quoi que ce soit. Je Hardcoded la chaîne dans mon cas de test (certainement pas recommandé pour les nombres réels):

<Property Id='NETSHARE' Value='\\server\share\folder' /> 
<SetDirectory Id='NETWORKSHAREFOLDER' Value='[NETSHARE]' /> 

Si vous voulez passer sur la ligne de commande, ne pas ajouter de ce qui précède, il suffit de faire:

msiexec /i path\to\your.msi NETWORKSHAREFOLDER="\\server\share\folder" 

Fondamentalement, il suffit de rooter votre NETWORKSHAREFOLDER dans un dossier bien connu et ensuite le modifier plus tard comme expliqué ci-dessus.

Questions connexes