1

Ich habe eine C++ - Konsole-Anwendung, die ich mit einem vs2008 Setup-Projekt bereitstellen möchte. Wenn ich das Setup-Projekt erstelle und die Ausgabe von meiner Konsolenanwendung hinzufüge, erkennt das Setup-Projekt, dass es MSVCP90.dll und MSVCR90.dll benötigt. Wenn ich das Projekt erstellen, sind diese zwei DLLs wie erwartet in der MSI-Datei enthalten.vs 2008 Bereitstellungsprojekt funktioniert nicht

Wenn ich das Installationsprogramm herunterlade und starte, läuft alles wie erwartet und die Konsolenanwendung und die DLLs werden in das richtige Verzeichnis auf dem lokalen Rechner entpackt.

Wenn ich versuche, und die App laufen lasse, erhalte ich folgende Fehlermeldung:

Error 1721. There is a problem with
this Windows Installer package. A
program required for this install to
complete could not be run. Contact
your support personnel or package
vendor.

Ich habe versucht, die App mit/MT und/MD kompilieren keiner arbeitet.

Wenn ich einen Abhängigkeitswalker für die App ausführe, meldet er, dass er MSVCP90.dll und MSVCR90.dll erwartungsgemäß benötigt.

Schließlich, wenn ich das Installationsprogramm auf die Visual C++ - Laufzeitbibliotheken festlegen, lädt es herunter, und alles funktioniert gut.

Offensichtlich möchte ich vermeiden, die CRT-Bibliotheken herunterzuladen.

Vielen Dank für jede Hilfe, Jon

Antwort

1

Check out this example auf, wie die entsprechenden Mergemodulen hinzuzufügen und stellen Sie sie zusammen mit Ihrem Setup, um Ihre Zielmaschine.

+0

Danke für die Hilfe, aber Merge-Module lösen eine Abhängigkeit von .net aus, die ich vermeiden möchte – Jon