2009-12-29 4 views
0

Mon programme d'installation a développé une très grande quantité de fichiers en double. Certaines de nos DLL sont à deux endroits (dossiers locaux et GAC ou locaux et system32). Comment puis-je utiliser la table DuplicateFile ou un autre mécanisme Installshield (installscript?) Pour dupliquer le fichier dans le GAC? C'est le même fichier qui doit être copié à deux endroits mais je le veux seulement dans l'installateur une fois en raison de sa taille.Table DuplicateFile avec GAC

Mon type de projet est en fait InstallScript MSI.

J'espère que ma demande est claire. Merci!

+0

Je n'ai pas compris que '" dupliquer le fichier dans la partie "GAC"; Pouvez-vous s'il vous plait reformuler? –

+0

Je souhaite prendre un assembly local dans le dossier \ bin, puis utiliser la fonctionnalité installshield ou MSI pour copier le fichier dans le dossier C: \ Windows \ assembly. La table DuplicateFile ne semble pas fonctionner pour cela (comme le * .dll physique ne se trouve pas dans le dossier \ assembly). Des idées?? – Japster24

Répondre

1

La table DuplicateFile ne prend pas en charge le déploiement au GAC parce que MSI n'utilise pas un modèle différent à déployer dans le GAC, puis la plupart des dossiers. Il utilise MsiPlublishAssemblies qui interagit avec Fusion.

Vous devez déclarer 2 composants (1 pour normal et 1 pour le GAC). Si la taille vous préoccupe, WiX propose une fonctionnalité appelée «cabbing intelligent» qui permet de créer votre cabine et de la diffuser dans un média avec plusieurs lignes de fichiers partageant le même espace de stockage.