Comment faire référence au chemin d'accès à un assembly du GAC dans les entrées de registre ajoutées par un package Windows Installer?

StackOverflow https://stackoverflow.com/questions/106414

Question

J'ai un assemblage .NET qui contient des classes à enregistrer en tant que ServicedComponent via EnterpriseServices (COM +) et appelées via COM RPC par une application tierce. Par conséquent, je dois à la fois l'ajouter au GAC et ajouter une entrée de registre sous HKEY_CLASSES_ROOT \ CLSID \ {clsid} \ CodeBase avec le chemin d'accès à la DLL d'assembly dans le dossier GAC. (Je ne peux pas compter sur regsvcs pour le faire, car il s'agit d'un assemblage 32 bits --- il s'appuie sur des composants tiers 32 bits --- et l'application tierce à laquelle j'ai fait référence précédemment ne peut pas voir les classes dans Wow6432Node)

La question est donc:

Les chemins d'accès aux assemblys à créer dans le GAC, ou au moins le chemin du dossier GAC lui-même, sont-ils disponibles dans Windows Installer en tant que propriétés pouvant être utilisées dans les valeurs de clés de registre, etc.?

Était-ce utile?

La solution

Si vous avez un composant par fichier, vous devez le faire de toute façon, le chemin de clé du composant pointe vers l'emplacement où le fichier est installé (dans ce cas, le GAC). Vous pouvez utiliser la clé de composant comme jeton dans le champ de valeur de l'entrée dans la table de registre de votre MSI.

En supposant que vous ayez un assemblage avec une clé de fichier dans la table des fichiers de " assmb.dll " et son composant correspondant, également "assmb.dll". Vous pouvez définir le champ de valeur dans la table de registre pour enregistrer votre assembly sur [$ assmb.dll]. Le problème sera résolu à l'emplacement d'installation de l'assembly. Si ce répertoire est le GAC, il sera résolu à l'emplacement du GAC.

Pour plus d'informations sur les champs mis en forme dans un fichier MSI, procédez comme suit: ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top