Ho creato un assembly .NET per l'interoperabilità COM e funziona correttamente sul mio computer di sviluppo. Attualmente sto cercando di capire come distribuire la DLL su un computer di destinazione usando "Progetto di installazione" di Visual Studio. Come posso utilizzare il progetto di installazione di Visual Studio per fare le seguenti cose:Utilizzare Visual Studio Setup Project per registrare automaticamente e GAC una DLL di interoperabilità COM
- registrare l'assembly (attualmente in uso
regasm
).- L'assembly deve essere registrato con successo
e la libreria dei tipi (.tlb) deve essere registrata correttamente. - This answer suggerisce la rottamazione
regasm
in favore del codice personalizzato. Questa è una buona idea? In tal caso, come viene incluso questo codice nel progetto di installazione? - This answer suggerisce di utilizzare il comando
/regfile
diregasm
e quindi di utilizzare lo strumento di importazione nel Registro di sistema nel progetto di installazione. Funzionerà?
- L'assembly deve essere registrato con successo
- Installare l'assembly nella GAC (attualmente in uso
gacutil
)- Sono consapevole del "Cartella Global Assembly Cache" nel "Sistema di file a computer di destinazione." C'è qualcosa di speciale che devo fare per includere l'assembly nel progetto di installazione?
Qualsiasi altro consiglio o preoccupazioni sarebbe molto apprezzato.
La proprietà del registro impostata su 'vsdrpCOM' creerà e registrerà automaticamente anche il file .tlb? In caso contrario, come faccio a includere il file .tlb nel progetto di installazione (non sembra che la condivisione nella cartella GAC del progetto di installazione non sia gradita)? –
Questo è un grande punto. Mi sono così abituato a digitare 'regasm/tlb ... 'che ho appena pensato che ne avrei avuto bisogno, ma mi viene in mente un grande punto: la macchina client non scriverà il codice contro questi assembly. Molte grazie. –
Per rispondere alla domanda di Ben nel suo commento, l'uso di vsdrpCOM * creerà e registrerà automaticamente il file .tlb. – Keith