2010-10-19 16 views
7

Je suis un total de noix sur Wix (et les installateurs en général) alors s'il vous plaît pardonnez-moi.Copie de plusieurs fichiers en utilisant des caractères génériques/récursivement en utilisant Wix

Mon but est de pouvoir parcourir un répertoire, rechercher tous les fichiers, disons * .exe, et les copier dans un dossier de destination prédéfini. Chose est, je ne sais pas savoir ce que ces fichiers sont et leurs noms, donc je ne peux pas les taper un par un dans le fichier wxs ... d'où les caractères génériques.

Maintenant, j'ai fini avec quelque chose comme ceci:

... 
<Directory Id='TARGETDIR' Name='SourceDir'> 
     <Directory Id='ProgramFilesFolder' Name='PFiles'> 
     <Directory Id='MyDir' Name='TestProj'> 
      <Component Id='MyComponent' Guid='PUT_GUID_HERE'> 
      <CopyFile Id="CopyFiles" DestinationProperty="DESTDIR" SourceName="*.exe" SourceProperty="SRCDIR" /> 
      </Component> 
     </Directory> 
     </Directory> 
</Directory> 
... 

Eh bien, cela est ok si je lis seulement de SRCDIR mais s'il y a des sous-dossiers? Comment puis-je rechercher des fichiers avec une certaine extension? Ou y a-t-il une autre façon de le faire ...?

Même chose avec la suppression de ces mêmes fichiers après l'installation ...

Merci un bouquet pour toute aide que vous pouvez donner!

Répondre

5

Pour ce faire, utilisez l'outil de ligne de commande de John Robbin Paraffin. Il passe automatiquement à travers les répertoires que vous sélectionnez et crée un fragment WiX qui fait référence à ces fichiers. La paraffine est idéale pour cela car elle prend en charge l'ajout de nouveaux fichiers plus tard sans créer de nouveaux GUID pour les anciens fichiers, c'est-à-dire qu'elle prend en charge un projet évolutif.

Comme tout dans WiX, c'est très impliqué donc je lirais son article sur ce blog.

+1

Ce lien ne fonctionne pas. –

+1

@StealthRabbi Je l'ai édité pour contenir le bon –