Ha un'azione personalizzata dll-s per installazione MSI devono essere create solo con Visual Studio?

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

Domanda

ho creato progetto di installazione con Visual Studio. Ho anche bisogno di alcune azioni personalizzate - DLL creata con Visual C ++ e funziona bene, ma non voglio includere Visual C ++ file di runtime per il mio progetto. Quindi è possibile costruire questa dll con qualche altro compilatore C ++?

Ho cercato di rendere farlo con Dev-C ++, ma durante la compilazione ottengo poche centinaia di errori di compilazione da file msi.h e msiquery.h

È stato utile?

Soluzione

Probabilmente la soluzione più semplice è quello di collegare le DLL contro il lib runtime statica.

Altri suggerimenti

In DLL azioni personalizzate generali dovrebbero contare solo su DLL che sono già presenti nel sistema prima dell'installazione. Ciò significa, ad esempio, che collega in modo statico il CRT, come notato da MSalters, ma vale anche per qualsiasi altra dipendenza da librerie 3rd party.

Un'altra opzione è quella di creare un collegamento con il sistema operativo CRT, come spiega Koby Kahane qui .

Ho fatto una DLL personalizzata per il mio progetto di installazione. La mia dll è molto semplice, registrando pochi servizi, non CLR o qualsiasi 3a parte lib dipendente. Sono staticamente legata solo msi.lib.

Ho rimosso le esigenze dell'installatore NET e finestre prerequisiti del progetto di installazione. La mia configurazione non riesce a macines che non hanno .net framework ..?

Non ho avere alcun codice dipendente .net, quale dovrebbe essere la soluzione a questo. I don;. T desidera all'utente di scaricare quadro prima per l'installazione

Saluti Amit

qui potete trovare qualche breve esempio utilizzando DLL C ++ per azioni personalizzate:

http : //www.simple-talk.com/dotnet/visual-studio/visual-studio-setup---projects-and-custom-actions/

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