MFC-DLLs in Anwendung/DLL einbinden (Stichwort Errorcode 14001)



  • Hi C++-Freunde,

    mich ärgert wiedermal der Error 14001 und ich brauche Nachhilfe. Problem ist, dass auf einem Zielsystem sämtliche MFC80 usw. DLLs fehlen (insbesondere auch dwmapi.dll und Konsorten) und auch die Nachinstallation des Microsoft Redistributable Package keine so richtige Abhilfe bringt.

    Gibts da eine automatisierte Möglichkeit seitens Visual Studio, dass (fast) alle ben. DLLs mit zur compilierten Anwendung/DLL in den Release-Ordner dazugepackt werden? Problem ist ja auch, dass man häufig nicht weiß, welchen Update-/Installationsstand das Zielsystem hat.

    MfG F98.


  • Mod

    Das ist doch wohl ein Witz oder?

    1. Darfst Du gar keine DLLs ausliefern die nicht redistributable sind!
    dwmapi.dll shlwapi.dll etc.
    2. Warum willst Du alle möglichen CRT Versionen ausliefern. Dein Programm benötigt mit Sicherheit nur eine. Außer Du hast einen Fehler gemacht.
    3. Die MFC80 DLLs werden nicht im lokalen Anwednungsverzeichnis gesucht, wenn Du nicht die Manifeste geändert hast. Ein Kopieren dieser Dateien nützt also gar nichts. Redistributable Paket ausliefern!

    Am Besten statisch Linken wnen Deine Anwendung kelin ist und standalone.



  • Martin Richter schrieb:

    Das ist doch wohl ein Witz oder?

    1. Darfst Du gar keine DLLs ausliefern die nicht redistributable sind!
    dwmapi.dll shlwapi.dll etc.
    2. Warum willst Du alle möglichen CRT Versionen ausliefern. Dein Programm benötigt mit Sicherheit nur eine. Außer Du hast einen Fehler gemacht.
    3. Die MFC80 DLLs werden nicht im lokalen Anwednungsverzeichnis gesucht, wenn Du nicht die Manifeste geändert hast. Ein Kopieren dieser Dateien nützt also gar nichts. Redistributable Paket ausliefern!

    Am Besten statisch Linken wnen Deine Anwendung kelin ist und standalone.

    0. Nö. Warum gleich so aufgescheucht? Hat der böse Nachbar die Hecke falsch geschnitten?
    1. Ok, wieder was gelernt.
    2. Es geht nicht um "alle möglichen" sondern nur die, welche man mit dem Dependency Walker noch findet.
    3. Wieder was gelernt. Prinzipiell sind doch die DLLs im Ordner System32 abgelegt.
    4. Wie genau erfolgt das (statisches Linken)?


Anmelden zum Antworten