2010-11-11 9 views
0

Je veux créer un programme d'installation en utilisant Wix qui copie un certain fichier dans le dossier "C: \ Users \ Votre nom d'utilisateur \ Documents \ Visual Studio 2010 \ Addins \"Wix - Conserver les dossiers après la désinstallation

quand j'écris le code suivant:

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="PersonalFolder"> 
     <Directory Id="VS2010" Name="Visual Studio 2010"> 
     <Directory Id="VSAddins" Name="Addins"> 
      <Component Id="VSAddin" Guid="Some Guid"> 
      <File Id="MyAddin.Addin" Name="MyAddin.Addin" DiskId="1" Source="..\Resources\" /> 
      <RegistryValue Root='HKCU' Key='SOFTWARE\ABCD\MY_Addins' 
          Type='string' Value='MY_Addin' 
          KeyPath='yes' /> 
      </Component> 
     </Directory> 

Je reçois l'erreur de compilation suivante:

ICE64: le VS2010 annuaire est dans le profil de l'utilisateur, mais ne figure pas dans le tableau RemoveFile.

Comment puis-je surmonter cette erreur?

Je sais que je peux ajouter le code suivant dans le champ « Component »:

<RemoveFolder Id="VS2010" On='uninstall'/> 

Mais je ne veux pas la désinstaller pour supprimer des dossiers que je ne l'ai pas créer (en particulier Visual Studio 2010 un ...)

Merci pour votre aide, Maxim

Répondre

-1

Puis-je vous demander pourquoi vous mettez dans le profil de l'utilisateur au lieu de l'installer pour tous les utilisateurs? Je trouve que les composants par utilisateur créent toutes sortes de problèmes d'entretien sur la route. Au lieu de cela, pour mon projet IsWiX, je déploie mon AddIn à C: \ ProgramData \ Microsoft \ MSEnvShared \ AddIns.

Vous pouvez jeter un oeil à la source complète à IsWiXAddInMM.wxs

+0

Merci, je ne considère pas cette option en effet. Qu'en est-il de UsersDocuments \ Visual Studio 2010 \ Templates \ ProjectTemplates? J'ai aussi besoin de copier des fichiers. – Maxim

+0

Jetez un coup d'œil à la WiX VSExtension. Ils ont des recherches prédéfinies telles que VS90_ITEMTEMPLATES_DIR. Personnellement, j'ai un programme d'installation différent qui cible 2005/2008 et je dépose les fichiers dans l'installdir principal, puis j'utilise les éléments CopyFile pour dupliquer les fichiers dans les répertoires VS s'ils existent. Ensuite, j'utilise une action personnalisée EXE pour appeler devenv/setup s'il existe. –

Questions connexes