Come fare riferimento al percorso di un assembly nel GAC all'interno delle voci di registro aggiunte da un pacchetto di Windows Installer?

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

Domanda

Ho un assembly .NET che contiene classi da registrare come ServicedComponent tramite EnterpriseServices (COM +) e invocato tramite COM RPC da un'applicazione di terze parti. Pertanto, è necessario aggiungerlo al GAC e aggiungere una voce del Registro di sistema in HKEY_CLASSES_ROOT \ CLSID \ {clsid} \ CodeBase con il percorso della DLL dell'assembly all'interno della cartella GAC. (Non posso fare affidamento su regsvcs per farlo, perché questo è un assembly a 32 bit --- si basa su componenti di terze parti a 32 bit --- e l'applicazione di terze parti a cui ho fatto riferimento prima non può vedere le classi in Wow6432Node)

Quindi la domanda è:

I percorsi degli assembly da creare nel GAC, o almeno il percorso della cartella GAC ??stessa, sono disponibili in Windows Installer come proprietà che possono essere utilizzate nei valori delle chiavi di registro, ecc.?

È stato utile?

Soluzione

Se hai un componente per file, che dovresti comunque, KeyPath del componente punta alla posizione in cui il file viene installato (in questo caso il GAC). Puoi utilizzare la chiave del componente come token nel campo valore della voce nella tabella Registry nel tuo MSI.

Supponendo di avere un assembly con una chiave File nella tabella File di " assmb.dll " e il suo componente corrispondente, anche "assmb.dll". È possibile impostare il campo valore nella tabella Registry per registrare l'assembly su [$ assmb.dll] e verrà risolto nella posizione di installazione dell'assembly. Se questa directory è il GAC, verrà risolto nella posizione del GAC.

Puoi trovare ulteriori informazioni sui campi formattati in un MSI qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top