visual studio 2005 c++ express-verson -> erzeugt exe nix gut?



  • hey leutz...

    erstmal sry, mir ist keine besserer titel eingefallen... nun zum problem:

    ich habe mir die kostenlose version des visual studios 2005 c++ express runtergeladen ( https://www.microsoft.com/germany/msdn/vstudio/express/visualc/default.mspx )

    auch alles ganz gut, die registrierung etwas nervig, aber hey, 50$ gespart, wenn ich das einmal da registriere??? also no prob, alles gemacht.

    läuft auch super, toll und alles.
    aber dann habe ich einem freund eine mit meiner version erzeugte exe ( release-version) gegeben, und was wunder, er konnte das programm nicht ausführen.
    sofort eine fehlermeldung ( "die anwendung konnte nicht gestartete werden, weil die anwendungskonfiguration nicht korrekt ist. zur problembehebung sollten sie die anwendung neu installieren.")

    dolle wurst...
    was kann man da machen, oder ist das der haken an dieser "gratis"-version???

    mfg, topi



  • Falsches Forum.



  • Stell bei Release das hier um: Projektoptionen -> C/C++ -> Code Generation -> Runtime Library -> Multi-Threaded (/MDd)

    Gruß



  • hm, das war standardmäßig so...
    und mit anderen optionen gehts auch nicht...
    wenn ich eine einstellung ohne dll wähle, gibts die meldung, dass diese option nicht mit der option "clr:/pure" kompatibel ist...



  • könnte das evtl mit dem .NET-Framework zusammenhängen?? Kenn mich allerdings auch nicht genauer mit aus...



  • Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum MFC (Visual C++) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • LUZA schrieb:

    aber dann habe ich einem freund eine mit meiner version erzeugte exe ( release-version) gegeben, und was wunder, er konnte das programm nicht ausführen.
    sofort eine fehlermeldung ( "die anwendung konnte nicht gestartete werden, weil die anwendungskonfiguration nicht korrekt ist. zur problembehebung sollten sie die anwendung neu installieren.")

    Das liegt nicht an der Express Version sondern daran, dass Du eine EXE erstellt hast, welche gegen die DLLs der CRT gelinkt ist. Und diese hast Du nur Deiner EXE mitgegeben, aber nicht auf dem dortitgem System installiert, bzw. Du hast das Manifest vergessen, welches benötigt wird...

    Fazit: Es gibt die folgenden Möglichkeiten, Deine EXE zu verbreiten, ohne auf dem Ziel-System was zu installieren:
    1. Du linkst gegen die statische CRT (LIB); dies geht aber nur, wenn Du nicht das .NET-Framework verwendest; ein weiterer Vorteil ist, dass das Programm auch noch unter NT läuft (was bei den DLLs nicht der Fall ist)

    Ab

    2. Du linkst weiterhin gegen die DLL Version der CRT, dann musst Du aber die DLLs (msvcr80.dll, msvcp80.dll und msvcm80.dll) in das gleichen Verzeichnis wie Deine EXE tun und das folgende Manifest (mit dem Namen Microsoft.VC80.CRT.manifest) in auch dieses Verzeichnis:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!-- Copyright © 1981-2001 Microsoft Corporation -->
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <noInheritable/>
    <assemblyIdentity
    type="win32"
    name="Microsoft.VC80.CRT"
    version="8.0.50608.0"
    processorArchitecture="x86"
    publicKeyToken="1fc8b3b9a1e18e3b"
    />
    <file name="msvcr80.dll"/>
    <file name="msvcp80.dll"/>
    <file name="msvcm80.dll"/>
    </assembly>

    Hier benötigt auch Deine EXE ein Manifest (wird aber normalerweise automatisch von VC Express erzeugt)...

    3. Du compilierst Dir Deine eigenen CRT-DLLs

    Siehe auch:
    Why does VC8 install libraries to WinSXS
    http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx

    Bootstrapper for the VC++ 2005 Redists (with MSI3.1)
    http://codeproject.com/useritems/vcredists_x86.asp

    Supported Target Platforms for VC2005
    http://blog.kalmbachnet.de/?postid=53



  • thx, ist zwar alles etwas kompliziert bzw. viel aufwand, wenn ich nur ein kleines programm an jmd. geben will, aber es funktioniert.

    muss ich onkel billy also doch keinen drohbrief schreiben...
    weiss denn einer, ob ich diese version jetzt so lange benutzen kann, wie ich will??? oder gibts da dann doch noch irgendwie irgendeinen haken?

    mfg, topi



  • Nein, laut FAQ von MS gibts keinen Hacken:

    Do customers who acquire the Visual Studio Express products during the free promotional pricing period have to pay after the first year if they want to continue to use them?
    No, as long as you download Visual Studio Express on or before November 7th 2006, you will not have to pay for it.

    Quelle: http://msdn.microsoft.com/vstudio/express/support/faq/default.aspx#pricing


Anmelden zum Antworten