2017-07-11 26 views
-1

Ich habe MFC-Anwendung auf Windows Server 2012 R2 gebaut. Es funktioniert einwandfrei auf Nicht-Build-Computern Windows Server 2012 R2. Es kann jedoch nicht auf Windows Sevrer 2008 R2 gestartet werden.Anwendung, die auf Windows Server 2012 R2 gebaut wird, scheitert an Windows Server 2008 R2

Beide Maschinen sind 64bit. Weitere Informationen zur MFC-Anwendung Meine App hat sowohl verwalteten als auch nicht verwalteten Code. Ich habe eine DLL, die CLR für die Common Language Runtime unterstützt. Ich lade es zur Laufzeit. Meine Anwendung ist für .NetFramework4.0 gerichtet

Ich habe sowohl .netframework4.0 und .netframework4.5 auf Windows Server 2008 R2-Computer installiert. Trotzdem kann die Anwendung nicht gestartet werden.

+2

Haben Sie auch C++ - und/oder MFC-Redistributable-Pakete installiert? – VTT

+0

Ja. Ich habe wiederverteilbare Pakete installiert. – simba

+0

Bitte definieren Sie "es startet nicht". Zeigt es eine Fehlermeldung an? –

Antwort

0

Eines der häufigsten Tools zur Fehlersuche ist die Event Viewer zu sehen, ob es irgendwelche Ausnahmen protokolliert hat.

Es ist wahrscheinlich, dass Abhängigkeiten für Ihre nicht verwaltete DLL fehlen. Ein übliches Werkzeug, um dies zu überprüfen, ist die Dependency Walker.

+0

In der Ereignisanzeige sind keine Protokolle vorhanden. Und ich probierte Abhängigkeitswalker, dlls hinzufügen half nicht viel. – simba

0

Die Anwendung, die auf Windows Server 2012 R2 erstellt wurde und statisch mit Boost Library verknüpft wurde.

Das Szenario war so, ich hatte sowohl verwaltete als auch native Bibliotheken gebaut. Als ich eine C++ \ CLI-Bibliothek referenzierte, die statisch mit Boost-Bibliotheken verknüpft war, konnte der Linker nicht geladen werden.

Lösung: Boost-Bibliotheken dynamisch verknüpfen.

Verwandte Themen