Ein Projekt zum MSI packen



  • Ich habe hier ein Problem, und zwar dass meine Anwendung (erstellt mit VC++ 2003, MFC statisch gelinkt) auf einem Rechner mit win2000 nicht läuft. Ich bekomme eine Fehlermeldung (Absturz, "Visual C++ Runtime Error"). Ich vermute also, dass eine Bibliothek auf dem Rechner veraltet ist, und daher der Fehler rühren könnte. Ich möchte also jetzt das ganze als MSI packen und möglichst prüfen, ob die dll's, die ich verwende, aktuell sind oder aus meinem MSI rübergezogen werden müssen.

    Nun meine Frage:
    - wie kriege ich raus, welche dll's mein Programm braucht? Es gibt ja den Dependency Walker, aber ich kann ja nicht alle dll's die herangezogen werden, mitliefern...
    - wie kann ich ein MSI erstellen, um das Programm zu verteilen?



  • - Ein MSI würde ich mit WiX erstellen
    http://sourceforge.net/projects/wix/
    - Für die CRT/MFC/ATL gibt es MSM-Dateien, die bei Deiner VS-version dabei sind. Diese musst Du mitliefern.

    PS: Wenn ein Absturz passiert, so wie Du ihn beschrieben hast, tritt eigentlich nur bei einem Fehler in Deinem Programm auf; nicht weil eine DLL nicht passt...



  • Hallo, danke erstmal für die Antwort.
    Also, teilweise war das richtig - ein Fehler lag bei mir, dennoch ist das Hauptproblem wohl in einer veralteten DLL zu suchen. Meine Anwendung liest drei Dinge aus: Die DiskID der HDD, die PnP-ID der Netzwerkkarte und die Bezeichnung der CPU. Unter Win2000 Installationen, die kein VS drauf haben, gelingt das Auslesen der Prozessordaten nicht, der Rest aber schon. Absturz gab es, da ich an einer Stelle vergessen hatte, das Ergebnis auf NULL zu prüfen - aber das Problem wie gesagt liegt woanders.


Anmelden zum Antworten