Frage

Nach einem einfachen C ++ Projekt mit Visual Studio 2008 auf Vista kompiliert, läuft alles gut auf dem ursprünglichen Vista-Rechner und anderen Vista-Computer. Es ist jedoch mehr als auf eine XP-Box führt zu einer Fehlermeldung zu bewegen. „Die Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration falsch ist“

Was muss ich tun, damit meine kompilierten EXE funktioniert auf XP und Vista? Ich hatte das gleiche Problem vor ein paar Monaten, und nur mit einigen Einstellungen Hantieren auf das Projekt es fest, aber ich erinnere mich nicht, welche, die ich geändert.

War es hilfreich?

Lösung

Sie müssen die Visual Studio 2008 Laufzeit auf dem Zielcomputer installieren:

  

http: // www .microsoft.com / downloads / details.aspx? FamilyID = 9b2da534-3e03-4391-8a4d-074b9f2bc1bf & displaylang = en

Alternativ könnten Sie auch einen Link die Laufzeit statisch, im Projekteigenschaftenfenster finden Sie unter:

  

c ++ -> Code Generation -> Runtime   Bibliothek und wählen Sie „Multi-Threaded   / MT "

Andere Tipps

Sie müssen die Laufzeit verteilbaren Dateien auf dem Computer installieren Sie versuchen, die App auf laufen.

Die verteilbare für das Jahr 2008 ist hier .

Die verteilbare für 2005 hier .

Sie können Seite an Seite installiert werden, falls Sie beide müssen.

Sie müssen wahrscheinlich die VC-Laufzeit mit Ihrer Anwendung verteilen. Es gibt eine Vielzahl von Möglichkeiten, dies zu tun. Dieser Artikel von dem Microsoft Visual C ++-Team am besten beschreibt die verschiedenen Möglichkeiten, diese Abhängigkeiten zu verteilen, wenn Sie Visual Studio 2005 oder 2008 verwenden.

Wie im Artikel erwähnt, wenn Sie das verteilbare Installationspaket herunterladen und starten Sie einfach, dass auf dem Client-Rechner, das ist fast immer nicht die optimale Wahl. Es gibt in der Regel bessere Möglichkeiten, um die erforderlichen DLLs wie einschließlich der Merge-Modul zu schließen, wenn Sie über Windows Setup oder App-lokale Kopie verteilen, wenn Sie nur einen ZIP-Ordner verteilen möchten.

Eine weitere Option ist statisch verknüpfen gegen die Laufzeitbibliotheken zu, anstatt sie mit Ihrer Anwendung zu verteilen. Diese Option eignet sich nur für eigenständige EXE-Dateien, die andere DLLs nicht geladen werden. Sie können auch nicht dies mit DLLs, die von anderen Anwendungen geladen werden.

Es ist viel einfachsten ist statisch nach der Laufzeit zu verbinden.

c ++ -> Code Generation -> Laufzeitbibliothek und wählen Sie "Multi-Threaded / MT"

Allerdings bedeutet dies die ausführbare Datei ein paar hundert KByte größer. Dies könnte ein Problem sein, wenn Sie eine große Anzahl von kleinen Programmen installieren, da jeder durch seine eigene Kopie der Laufzeit belastet wird. Die Antwort ist ein Installationsprogramm zu erstellen.

Neues Projekt -> "Einrichtung und Bereitstellung" -> "Setup-Projekt"

Laden Sie die Ausgabe von Ihren Anwendungsprojekten (definierten die DLL-Version der Laufzeit verwendet wird) in das Installer-Projekt und baut es. Die Abhängigkeit von der Laufzeit-DLL wird im Installationspaket bemerkt, enthalten sein und ordentlich und unauffällig an der richtigen Stelle auf dem Zielcomputer installiert ist.

Visual Studio 2005 tatsächlich zwei

Die eine für das Original Release

und die eine für SP1

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