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.

È stato utile?

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 in Microsoft_VC90_ATL_x86.msm
  • ATL80.DLL può essere trovato in Microsoft_VC80_ATL_x86.msm
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top