Meine Programme funktionieren nicht auf anderen PC's?



  • Hi Leute,

    und zwar hab ich hier Visual Studio 2005 Prof. eine MFC Anwedung erstellt (CLR Runtime aktiv).

    Jetzt hab ich das Programm auf einen weiteren Rechner starten wollen, und er sagt mir Anwendungskonfigurationsfehler, das ist immer der Fall wenn etwas nicht installiert ist, nur was fehlt?

    Habe auf dem anderen Rechner Visual Studio Express 2005 mit Plattform SDK installiert, und noch das .NET Framework 2.0.

    Sollte doch alles dabei sein? 🙄



  • Du musst das vcredist_x86.exe (irgendwo in Deiner VC2005-Installation) und das dotnetredist.exe installieren...



  • Danke, werd ich mal ausprobieren 🙂



  • Kann es evt. an noch etwas liegen, funktioniert nämlich immer noch nicht 🙄



  • Meldung:

    Diese Anwednung konnte nicht gestartet werden, weil die Anwendungskonfiguration nicht korrekt ist. Zur Problembehandlung sollten Sie die Anwendung neu installieren.

    Also warum die nicht einfach schreiben wass nicht passt. versteh ich beim besten Willen auch nicht. 😡



  • Mmh, ich hab jetzt das gleiche Problem. Plötzlich will die Anwendung nicht mehr. Auf anderen PC´s läuft sie (so wie vorher auch auf diesem).

    Kann das vlt mit irgendwelchen ServicePatches von Microsoft zusammenhängen?



  • Hab im Internet auch was von fehlenden .dll´s und Manifest Fehlern gelesen. Meine Anwendung hat aber vorher immer auf diesem Rechner funktioniert...



  • Nach stundenlangem lesen im Netz hab ich einfach mal ne Hallo Welt Anwendung auf dem Problem Rechner aufgerufen (WinFormsAnwendung), mit dem Ergebnis, dass diese läuft! Es scheint also wirklich an irgendwelchen Abhängigkeiten zu liegen.

    Also hab ich ein Setup-Projekt erzeugt, diesem meine Anwendung beigelegt, sowie die vom Setup angezeigten Merge Module hinzugefügt. Trotz erfolgreicher Installation wird mein Programm nicht korrekt ausgeführt, sondern bricht mit der oben erwähnten Fehlermeldung ab.

    Da es auf meinem "EntwicklungsRechner" läuft, kann es doch kein Programmierfehler sein, oder?
    Da ich mich noch nie so wirklich mit dem Manifest und den Konfigurationseinstellungen auseinandersetzen musste, steh ich im Moment wirklich aufm Schlauch. Kann ich vlt mit irgendeinem Tool feststellen ob mir auf dem ZielRechner irgendwas fehlt?
    Oder kann mir jemand nen Tip zu den Konfig/Manifest Einstellungen geben?

    Vielen Dank,

    Dappeljuh



  • Du kannst mal schauen ob Du mit
    http://www.microsoft.com/germany/technet/sysinternals/utilities/Filemon.mspx

    eventuell etwas findest.



  • So, habs mittlerweile hinbekommen... 😃

    Das Problem lag schlicht und ergreifend daran, daß meine letzten Programm Versionen mit Visual Studio SP1 erstellt wurden. Alte Versionen liefen noch.

    Laut Internet Recherge wird mit dem SP1 auch ne neue Runtime Library genutzt. Von 8.0.50727.42 auf 8.0.50727.762.

    Ich denke das der Tip von Jochen mit dem vcredist_x86.exe / dotnetredist.exe auch funktioniert hätte, allerdings läuft mein Programm auf nem Server, wo der Admin bei jeder Installation sehr mürrisch ist. (Da mag er ja auch recht haben)

    Ich hab meinem Setup-Projekt nun die folgenden Merge Module samt policies beigepackt:
    CRT_x86.msm und openMP_x86.msm.

    Ich finde man sollte das mit in die FAQ aufnehmen...



  • Ich habe eine Visual Studio Version ohne SP1 aber trotzdem kann ich mein erstelltes ActiveX-Steuerelement nicht auf anderen PCs mittels regsvr32.exe registrieren. Bekomme die gleiche Fehlermeldung wie oben beschrieben.
    Habe auch schon beide Dateien vcredist_x86.exe / dotnetredist.exe installiert, aber wenn ich das richtig verstehe, bringen sie nur was, wenn man eine Anwendung mit VS 2005 SP1 erstellt hat - oder irre ich mich da?

    Wie bringe ich nun beide Framework-Versionen so zusammen, dass sie kompatibel sind?

    Könnte mir jemand bitte erklären, wie das genau mit dem Merge und den policies und den beiden Dateien CRT_x86.msm und openMP_x86.msm in einem Setup-Projekt funktioniert?

    Der letzte Post ist zwar schon lange her, wäre aber trotzdem sehr glücklich über einen Hinweis.



  • könnte jemand bitte dann in einem Post zusammenfassen, was man alles braucht... hab nämlich das gleiche Problem.

    Also Zusammenfassung wäre nicht schlecht. THX!



  • Habe jetzt auch schon SP1 für VS installiert und dazu die neueste vcredist_x86.exe.
    Hilft alles nichts.

    laut http://www.codeproject.com/cpp/vcredists_x86.asp kann man die benötigten merge-dateien aus dem Ordner \Program Files\Microsoft Visual Studio 8\VC\Redist\x86\Microsoft.VC80.CRT in das Programmverzeichnis, in dem das Programm ausgeführt wird kopieren, doch auch das hilft nicht.

    In dem selben Beitrag steht auch was von einer Multithreaded(/MT)-Kompilierung.
    Wenn ich mein ActiveX-Steuerelement so kompiliere, bekomme ich folgende Meldung:

    fatal error C1189: #error : Please use the /MD switch for _AFXDLL builds

    Was bedeutet diese Meldung?

    Gruß



  • Sind denn auch alle Elemente enthaöten, die das ActiveX braucht ? MFC libs etc ?



  • das hoffe ich. bin da eher ein Quereinsteiger. habe einfach sicherheitshalber alle Dateien aus dem Verzeichnis C:\Programme\Microsoft Visual Studio 8\VC\redist zusammen mit der OCX-Datei ins Windows\System32 auf dem Zielrechner kopiert.



  • möchte nochmal betonen, dass auf dem Entwicklungsrechner die Registrierung der Datei problemlos klappt. Es handelt sich also um das bekannte Problem, nur einfach nicht über die Installation der vcredist_x86.exe lösbar



  • http://www.dependencywalker.com/

    Schau Dir das ocx mal damit an und gugg mal ob alle abhängigkeiten erfüllt sind auf dem zielsystem



  • vielen Dank für die Schnelle Reaktion,

    habe vorerst das Problem gelöst, indem ich unter Projekt->Eigenschaften->Konfigurationseigenschaften->Allgemein unter "Verwendung von MFC" die Auswahl "MFC in einer statischen Bibliothek verwenden" gemacht habe.
    Macht zwar die Datei wahnsinnig groß, aber man kann sicher sein, dass sie auf jedem System lauffähig ist.

    Gruß



  • ich würde sagen sowas passt doch wunderbar in die FAQ
    😉



  • ich habe mein Projekt jetzt wie Arrny umgestellt, aber es kommt folgender Fehler (mit dem ich nicht viel anfangen kann)

    "Befehlszeile Error D8016: Die Befehlszeileoptionen /MTd und /clr:pure sind inkompatibel"

    Erstmal was ist überhaupt MTd?
    Und was bedeutet dieser Fehler?


Anmelden zum Antworten