Hat benutzerdefinierte Aktion DLL-s für msi Installer haben werden nur mit Visual Studio erstellt?

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

Frage

Ich habe Setup-Projekt mit Visual Studio erstellt. Ich brauche auch einige benutzerdefinierte Aktionen - erstellt DLL mit Visual C ++ und es funktioniert gut, aber ich möchte nicht, Visual C ++ Runtime-Dateien in meinem Projekt aufzunehmen. So ist es möglich, diese DLL mit einem anderen C ++ Compiler zu bauen?

Ich habe versucht, um es mit Dev-C ++ zu machen, aber beim Kompilieren erhalte ich einige hundert Kompilierungsfehlern von Dateien msi.h und msiquery.h

War es hilfreich?

Lösung

Wahrscheinlich ist die einfachste Lösung, um Ihre DLLs gegen die statische Laufzeit lib zu verbinden.

Andere Tipps

In der Regel benutzerdefinierte Aktion DLLs sollte nur auf DLLs verlassen, die bereits im System vor der Installation sind. Das bedeutet zum Beispiel, statisch die CRT verknüpft, wie MSalters erwähnt, sondern gilt auch für jede andere Abhängigkeit von 3rd-Party-Bibliotheken.

Eine weitere Option ist mit dem Betriebssystem CRT zu verknüpfen, wie Koby Kahane erklärt hier .

Ich habe eine benutzerdefinierte DLL für mein Setup-Projekt gemacht. Meine dll ist sehr einfach, Registrierung wenige Dienste, nicht CLR oder eine 3rd-Party-lib abhängig. statisch mit msi.lib verknüpft haben nur.

Ich habe die .net und Windows Installer Voraussetzung Anforderungen aus dem Setup-Projekt entfernt. Mein Setup nicht auf macines nicht .net Framework mit ..?

Wie ich habe keine .net abhängigen Code aufweist, sollte, was die Lösung dieses Problems sein. Ich don. T Anwender wollen Rahmen für die Installation zuerst herunterladen

Viele Grüße Amit

Hier können Sie einig kurzes Beispiel unter Verwendung von C ++ DLLs für benutzerdefinierte Aktionen finden:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top