dipendenze di implementazione COM
-
22-09-2019 - |
Domanda
Sono stato in esecuzione a un problema in cui un DLL COM che sto distribuendo con la mia domanda non riesce a registrare, perché l'Atl.dll non è registrato sulla macchina.
La soluzione rapida è quella di avere il regsvr32 corsa sul dll, ma voglio qualcosa di un po 'più pulito allora che.
Non ho molta esperienza con la distribuzione e mi chiedevo se esiste un modo che ho potuto determinare se l'Atl.dll è registrato sulla macchina e se non ho potuto registrarlo dal codice.
Al momento ho un C # un'azione personalizzata per il mio programma di installazione MSI in modo da poter eventualmente aggiungere la logica là per eseguire l'operazione.
Grazie in anticipo.
Soluzione
È necessario includere il modulo di unione con il vostro installatore. Questi saranno installati a C:\Program Files\Common Files\Merge Modules
. Se non trovate i file necessari, probabilmente non avete installato la funzione "Componenti Ridistribuibili" sia nel di Windows SDK e / o Visual Studio (penso che sia selezionata sia per impostazione predefinita)
-
ATL90.DLL
può essere trovato inMicrosoft_VC90_ATL_x86.msm
-
ATL80.DLL
può essere trovato inMicrosoft_VC80_ATL_x86.msm