Installer une DLL dans la GAC d’un serveur

Pour installer une DLL dans la GAC, les 2 méthodes principales sont les suivantes (d’autres moyens existent mais ne seront pas abordés ici) :

  • Utilisation de gacutil.exe
  • Création d’un installeur MSI
Pour déployer une seule DLL sur votre serveur, la création d’un installeur MSI peut paraître fastidieuse, et de l’autre côté gacutil.exe n’est pas fourni en standalone (il faut installer tout un SDK pour l’avoir; ce qui n’est pas conseillé dans un environnement de production).
La solution la plus simple consiste à récupérer l’exécutable sur votre machine de développement et le copier sur votre serveur :
  1. Identifier le dossier SDK que vous avez installé sur votre machine de développement. Par exemple (la version peut changer):
    C:Program Files (x86)Microsoft SDKsWindowsv7.0ABinNETFX 4.0 Tools
  2. Copier les 2 fichiers suivants sur votre serveur :
    • gacutil.exe
    • gacutil.exe.config
  3. Récupérez la dll gacutlrc.dll qui se trouve dans un dossier de langue du SDK. Suivant la langue de votre SDK, ça pourra être différents dossiers :
    • 1033/gacutlrc.dll (dans le cas d’un SDK en Anglais)
    • 1036/gacutlrc.dll (dans le cas d’un SDK en Français)

    La liste des dossiers en fonction de la langue du SDK : http://msdn.microsoft.com/en-us/goglobal/bb964664.aspx
    Vous pouvez simplement mettre la DLL gacutlrc.dll dans le même répertoire que gacutil.exe sur votre serveur.

  4. À partir de ce moment-là, vous devriez être en mesure d’ajouter une assembly à la GAC sans soucis sur votre serveur :
gacutil.exe /i MonAssembly.dll
Important : Si vous ne copiez pas la DLL gacutlrc.dll, vous pourrez exécuter une commande gacutil.exe /i MonAssembly.dll, mais l’exécutable ne fera rien et aucune aucune erreur ne sera levée !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s