2010-06-21 6 views
3

Je veux GAC un assemblage déjà présent sur les machines cibles, je sais où se trouve cet assemblage sur chaque machine (vous pouvez supposer, ce chemin est statique pour toutes les machines cibles et ne changera pas que je suis le propriétaire de cet assemblage) Je ne veux pas inclure l'assembly à GAC dans le MSI car il peut changer avec chaque déploiement de solution et nous ne voulons pas que notre configuration soit modifiée à chaque fois. J'ai essayé d'utiliser la balise <File> avec Assembly = "net"GAC un assembly sans l'incorporer dans le MSI

<File 
    Id="Assembly.dll" 
    Name="Assembly.dll" 
    Assembly=".net" 
    Source="Assembly.dll" 
    KeyPath="yes" > 
</File> 

mais en utilisant Fichier mon assemblage intègre dans le MSI. Des idées sur la façon de simplement dire au MSI de simplement chercher l'assemblage dans un endroit particulier et de ne pas l'inclure?

Répondre

0

Cela n'est pas pris en charge par Windows Installer. Il n'est pas immédiatement clair pourquoi vous voudriez prendre le dossier de quelqu'un d'autre et le mettre dans le GAC (si c'était votre dossier, pourquoi ne pas le mettre dans le GAC pour commencer?). :)

0

On dirait une requête bizarre, mais la façon de le faire serait d'écrire un script/un fichier batch dans le fichier GAC. Testez ceci par lui-même sans le MSI. Une fois le travail terminé, incluez le script dans le fichier MSI, puis exécutez le script en tant qu'action personnalisée à exécuter lors de l'installation. Vous souhaitez également le supprimer du GAC lors de la désinstallation.

Si vous utilisez un projet d'installation Visual Studio, cliquez avec le bouton droit sur le projet et choisissez Affichage-> Actions personnalisées. De là, il vous permettra d'ajouter les actions pour les événements appropriés (installer, désinstaller, etc).

Questions connexes