Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Dr. Best Senior JLI'ler
Alter: 34 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 17.10.2007, 10:25 Titel: Unter Vista kompilierte .net Anwendung klappt nicht unter XP |
|
|
Tach,
ich habe in letzter Zeit mal ein bisschen mit dem .net framework rumgespielt um damit die GUIs für kleine Utilities zu meiner Engine zu entwickeln. Dabei hat sich folgendes Problem ergeben. Ich entwickle die Anwendungen bevorzugt an meinem Desktop PC (mit Vista) da der Formeditor an meinem Laptop (mit XP) ewige Wartezeiten mit sich bringt. Wenn ich die Anwendungen dann aber unter Vista kompiliere und versuche die erstellten Programme auf Rechnern mit XP auszuführen kriege ich folgende Fehlermeldung:
Zitat: | C:\Programme\VegetationCreator\VegetationCreator.exe
Diese Anwendung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren. |
Unter Vista funktioniert das Programm einwandfrei unter XP garnicht. Kompiliere ich es aber unter XP läuft es auf XP und Vista Systemen. Bis jetzt habe ich es also so gemacht, dass ich immer vor einem Release alle Projektdateien auf mein Laptop rüberkopiert habe um es dann dort zu kompilieren. Dass diese Lösung suboptimal ist sollte aber klar sein. Ich verwende auf beiden Rechnern Microsoft Visual Studio 2005 Standard (die Version von MSDN Solve), auf dem Vista Rechner habe ich allerdings das MS VS 2005 Service Pack 1 installiert. Das Programm verwendet das .net framework v.2.0.50727.
Im voraus danke an alle die zur Lösung beitragen.
MfG
Christoph _________________
Ich bin da, wer noch? |
|
Nach oben |
|
|
fast hawk Senior JLI'ler
Anmeldedatum: 15.07.2005 Beiträge: 237 Wohnort: Freiburg Medaillen: Keine
|
Verfasst am: 17.10.2007, 17:09 Titel: |
|
|
ich würd mal schauen ob auf beiden rechner die .net framework version gleich ist bzw. du auf dem einen nicht eine andere Version(neuere) des DirectX hast!
Ich hatte das selbe problem mal mit 2 win xp rechner doch das hat sich ergeben als ich bei dem wo es net gang das neueste .net framework drauf hab.
Aber unter Umständen musst du jedes mal den Quellcode neu kompilern.
gruß
fast hawk _________________ Jetziges Projekt: The Ring War
Status: 40%
-----------------------------------
Nicht weil es schwer ist, wagen wir es nicht, sondern weil wir es nicht wagen, ist es schwer.
--
Lucius Annaeus Seneca (4)
röm. Philosoph, Dramatiker und Staatsmann
Zuletzt bearbeitet von fast hawk am 17.10.2007, 17:29, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 17.10.2007, 17:15 Titel: Re: Unter Vista kompilierte .net Anwendung klappt nicht unte |
|
|
So ein Programm hatt ja ganz viele Abhängigkeiten.
Und das Problem wird halt sein, dass Vista neuere Versionen von was auch immer welchen dlls hat und XP ältere. Und wegen abwärtskompatibilitäten geh halt die XP kompilation unter Vista aber nicht die Vista kompilation unter XP, da keine "Aufwärtskompatibilität"^^
Also die Fehlermeldung kenn ich nur zu gut, die kommt bei mir immer, wenn ne benötigte DLL o.ä. net in der erwarteten form oder überhaupt nicht gefunden wird. |
|
Nach oben |
|
|
Dr. Best Senior JLI'ler
Alter: 34 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 17.10.2007, 18:35 Titel: |
|
|
Das sind wohl wahre Antworten, aber leider sehr unbefriedigende . Dass es mit unterschiedlichen dll Versionen zusammenhängt wird wahrscheinlich der Grund sein, aber dann ergibt sich natürlich die Frage, was ich dagegen tuen kann . An DirectX kann's nicht liegen. Erstens habe ich die aktuellste DX Runtime auf dem Laptop drauf und zweitens funktionieren .net Anwendungen, die kein DX verwenden auf beiden Rechnern, egal wo sie kompiliert sind. Tatsächlich funktioniert meine DX basierte 3D-Engine dll sogar unter Windows 98 . Es wird also wohl an .net liegen, aber auch da hab ich auf beiden Rechnern genau die gleiche Version drauf (2.0.50727). Gibt es vielleicht irgendwelche Tools oder Tricks, mit denen man die Abhängigkeiten eines Programms feststellen kann und sehen kann an welcher es scheitert? Das dürfte zur Lösung recht hilfreich sein. _________________
Ich bin da, wer noch? |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 17.10.2007, 19:58 Titel: |
|
|
ähm nochmal ne wahre aber unbefriedigende antwort...
also es gibt ein Tool zum feststellen der Abhängigkeiten. Das ist irgendwo schon in dem VS verzeichnis mit dabei.. Bloß weiss ich nicht mehr wie es heißt, is schon gut ein Jahr her.. Und ich hab momentan auch net so viel Zeit zum selber suchen. Aber es sollte eines geben, also ne einfache .exe irgendwo im Installationsverzeichnis von VS |
|
Nach oben |
|
|
AFE-GmdG JLI MVP
Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 18.10.2007, 07:27 Titel: |
|
|
Welche Version der Entwicklungsumgebung benutzt du?
Windows Vista bringt nämlich von Haus aus das Dot Net Framework 3.0 mit, welches unter WinXP erst nachinstalliert werden muss. Umgedreht ist unter XP in Aller Regel das Framework 2.0 installiert. Programme die für das 2.0 Framework kompiliert sind laufen in aller Regel auch im 3.0 Framework - oder du hast zusätzlich in Vista noch die Runtime des 2.0 Frameworks installiert.
Ich weiss nicht welches Tool du meinst - aber die Abhängigkeiten eines Projektes werden doch in Projektmappenordner vom Studio angezeigt (Referenzen)??? |
|
Nach oben |
|
|
Dr. Best Senior JLI'ler
Alter: 34 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 18.10.2007, 14:28 Titel: |
|
|
@ AFE-GmdG
Also das .net 3.0 SDK hab ich nicht installiert (zumindest nicht wissentlich). Im Startmenu hab ich nur einen Eintrag für's .net 2.0 SDK und in meinem Projekt werden als Verweise halt nur die folgenden dlls angegeben, die wohl dem Dateipfad nach klar dem .net 2.0 framework zuzuordnen sind:
c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll
c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll
c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll
c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll
c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.XML.dll
Wenn ich das Projekt auf dem Laptop kompiliere stehen da dann natürlich auch genau die gleichen Verweise und die oben aufgelisteten Dateien existieren auf dem Laptop auch alle.
@ manu
Das Tool dass du meinst konnte ich nich ausfindig machen . Hab mal nach Reference und Dependence gesucht, aber da gab's keine ordentlichen Ergebnisse. Im Startmenueintrag von VS is auch nix drin und den ganzen Installationsordner von VS von Hand durchsuchen ist kaum machbar, vor allem wenn man nicht genau weiß wonach man denn eigentlich schauen muss .
P.S.: Sorry, falls das mit der unbefriedigenden Antwort undankbar wirkte. War eher als Scherz gemeint .
Edit: Noch ein paar Zusatzinformationen, die vielleicht relevant sind. Ich schreibe in C++ und wenn ich bei VS 2005 den about Dialog aufrufe steht da folgendes für den Desktop PC:
Zitat: | Microsoft Visual Studio 2005
Version 8.0.50727.867 (vsvista.050727-8600)
Microsoft .NET Framework
Version 2.0.50727
Installierte Edition: Standard
Microsoft Visual Basic 2005 77904-235-2547764-41123
Microsoft Visual Basic 2005
Microsoft Visual C# 2005 77904-235-2547764-41123
Microsoft Visual C# 2005
Microsoft Visual C++ 2005 77904-235-2547764-41123
Microsoft Visual C++ 2005
Microsoft Visual J# 2005 77904-235-2547764-41123
Microsoft Visual J# 2005
Microsoft Visual Web Developer 2005 77904-235-2547764-41123
Microsoft Visual Web Developer 2005
Microsoft Web Application Projects 2005 77904-235-2547764-41123
Microsoft Web Application Projects 2005
Version 8.0.50727.867
Microsoft Visual Studio 2005 Standard Edition - DEU Service Pack 1 (KB926606)
Dies ist ein Service Pack für Microsoft Visual Studio 2005 Standard Edition - DEU.
Wenn Sie zu einem späteren Zeitpunkt einen aktuelleren Service Pack installieren, wird dieser Service Pack automatisch deinstalliert.
Weitere Informationen erhalten Sie unter http://support.microsoft.com/kb/926606
Update für Microsoft Visual Studio 2005 Standard Edition - DEU (KB932234)
Dies ist ein Update für Microsoft Visual Studio 2005 Standard Edition - DEU.
Wenn Sie zu einem späteren Zeitpunkt einen aktuelleren Service Pack installieren, wird dieser Update automatisch deinstalliert.
Weitere Informationen erhalten Sie unter http://support.microsoft.com/kb/932234 |
Und für den Laptop steht da folgendes:
Zitat: | Microsoft Visual Studio 2005
Version 8.0.50727.42 (RTM.050727-4200)
Microsoft .NET Framework
Version 2.0.50727
Installierte Edition: Standard
Microsoft Visual Basic 2005 77904-235-2547764-41937
Microsoft Visual Basic 2005
Microsoft Visual C# 2005 77904-235-2547764-41937
Microsoft Visual C# 2005
Microsoft Visual C++ 2005 77904-235-2547764-41937
Microsoft Visual C++ 2005
Microsoft Visual J# 2005 77904-235-2547764-41937
Microsoft Visual J# 2005
Microsoft Visual Web Developer 2005 77904-235-2547764-41937
Microsoft Visual Web Developer 2005 |
Wesentlicher Unterschied is also dass die Visual Studio Versionen ein bisschen verschieden sind und dass ich (wie gesagt) auf dem Desktop PC das VS Service Pack draufhab. Die .net Versionen sind identisch . _________________
Ich bin da, wer noch? |
|
Nach oben |
|
|
manu Super JLI'ler
Alter: 35 Anmeldedatum: 09.03.2006 Beiträge: 327 Wohnort: allgäu (DE) Medaillen: Keine
|
Verfasst am: 18.10.2007, 16:53 Titel: |
|
|
Hi, hab gesucht und das Versteck des Tools gefunden:
" "\Microsoft Visual Studio 8\Common7\Tools\Bin\Depends.Exe |
|
Nach oben |
|
|
Dr. Best Senior JLI'ler
Alter: 34 Anmeldedatum: 17.06.2004 Beiträge: 269 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 19.10.2007, 18:14 Titel: |
|
|
Super, das Programm ist genau was ich gesucht habe, danke für's raussuchen . Ich habe mein Programm jetzt mal damit überprüft. Die unter Vista kompilierte Version benötigt folgende nicht vorhandene DLLs: MSVCM80.dll, MSVCP80.dll, MSVCR80.dll, MSJAVA.dll
Komischerweise sind die bei der unter XP kompilierten Version (die funktioniert) auch alle aufgelistet aber werden dort korrekt geladen . Ich werde mal weiterhin versuchen die Ursache dafür zu finden. Die dlls gehören offensichtlich zur CLR, wenn ich die deaktiviere kompiliert das Projekt aber natürlich nicht.
Die dlls bei meinen Programmen mitliefern will ich nicht, weil die zusammen gut ein MB ausmachen und somit die Downloadgröße ungefähr verdoppeln würden . _________________
Ich bin da, wer noch? |
|
Nach oben |
|
|
|