tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von deepthroat
  • 1 Beitrag von deepthroat
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
1878
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Dampfhammer Dampfhammer ist offline Rookie
    Registriert seit
    Dec 2010
    Beiträge
    9
    Hallo,
    ich hoffe, ich bin hier im Forum richtig.

    Und zwar benutze ich den Visual C++ 2010 Express Compiler.
    Wenn ich die Programme an andere weitergeben will, benötigen sie die "MSVCR100D.dll".
    Kann man dies in den Einstellungen von Visual C++ ändern, dass diese DLL nicht mehr benötigt wird?
    Sowas ähnliches hatte ich mal bei Rad Studio (hatte den mal als Test). Dort wurde eine DLL für Multithreading benötigt. Ist es sowas ähnliches auch bei VC++?

    MfG
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Hallo,

    stelle sicher, dass du dein Programm im Release-Modus erstellt hast. Jeder, der dein Programm benutzen will, muss sich zusätzlich noch das Microsoft Visual C++ 2010 Redistributable Package installieren.

    Alternativ kannst du dein Programm auch statisch gegen die Laufzeitbibliothek linken, falls das mit der Express-Version funktioniert (siehe http://msdn.microsoft.com/de-de/libr...v=VS.100).aspx).

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    Dampfhammer Dampfhammer ist offline Rookie
    Registriert seit
    Dec 2010
    Beiträge
    9
    Ok, einen 4,8MB Download an ein Programm dran zu heften, was nichtmal 40KB groß ist, wäre etwas... naja...

    So wie ich das jetzt verstanden habe, muss ich in jedem Fall die DLL dazu ausliefern bzw. dieses Redistrutable Package muss auf dem jeweiligen Computer installiert sein. (Jetzt weiß ich auch, weshalb das bei den ganzen Spielen immer mit installiert wird )
    Die Express-Variante bietet leider nicht die richtige Möglichkeit. Naja, werde es dann mit einem anderen Compiler mal versuchen.

    Vielen Dank

    MfG
    Geändert von Dampfhammer (19.06.11 um 23:40 Uhr)
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Zitat Zitat von Dampfhammer Beitrag anzeigen
    Ok, einen 4,8MB Download an ein Programm dran zu heften, was nichtmal 40KB groß ist, wäre etwas... naja...

    So wie ich das jetzt verstanden habe, muss ich in jedem Fall die DLL dazu ausliefern bzw. dieses Redistrutable Package muss auf dem jeweiligen Computer installiert sein. (Jetzt weiß ich auch, weshalb das bei den ganzen Spielen immer mit installiert wird )
    Genau das ist der Punkt. Höchstwahrscheinlich ist die Laufzeitumgebung auf dem Zielcomputer bereits installiert. Und selbst wenn nicht und derjenige es für dein Programm erst noch installieren muß, ist die Wahrscheinlichkeit hoch, das derjenige es früher oder später auch für andere Programme benötigen wird.

    Es ist eine einmalige Sache, für weitere Programme bzw. Programmversionen muß nicht jedesmal die komplette Laufzeitumgebung mitgeschleppt werden.

    Dir sollte auch klar sein, das bei Verwendung der statischen Laufzeitbibliothek die generierte .exe um einiges größer sein wird (da die Laufzeitumgebung quasi mit in das Programm eingebettet wird).
    Zitat Zitat von Dampfhammer Beitrag anzeigen
    Die Express-Variante bietet leider nicht die richtige Möglichkeit. Naja, werde es dann mit einem anderen Compiler mal versuchen.
    Ich weiß nicht ob das mit der Express Variante möglich ist, aber normalerweise würde man einfach einen Installer generieren, der die fehlenden Komponenten automatisch runterlädt. Du könntest alternativ zum MS Setup Tool auch NSIS verwenden.

    Gruß
    Dampfhammer bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Dampfhammer Dampfhammer ist offline Rookie
    Registriert seit
    Dec 2010
    Beiträge
    9
    So, ich habs grade mal einem Kumpel geschickt, der das Package wirklich installiert hat.
    Bei ihm klappt es auch nicht, also die Fehlermeldug bezüglich der fehlenden DLL erscheint immernoch.

    Einen Installer für solche winzigen Programme zu machen, die eigl nur aus einer .exe bestehen, scheint mir auch etwas... naja...

    Aber vielen Dank! Hab jetzt auch was dazu gelernt.

    MfG
     

  6. #6
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    endet der DLL-Name mit 'D' dann ist es die Debug-Variante und die ist im Redistributable Package natürlich nicht enthalten. Lies nochmal den ersten Satz der Antwort von Matthias Reitinger.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  7. #7
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.169
    Zitat Zitat von Dampfhammer Beitrag anzeigen
    Einen Installer für solche winzigen Programme zu machen, die eigl nur aus einer .exe bestehen, scheint mir auch etwas... naja...
    Das kommt auf die Zielgruppe an.

    Wenn DAUs Teil deiner Zielgruppe sind, dann willst du denen nicht sagen, das sie irgendwo erst was runterladen und installieren müssen...

    Wenn du dein Programm nur an einen Kumpel weitergeben willst, dann sag ihm einfach das er die MSVC Redist installieren muss. Das ist dann geringerer Aufwand.

    Gruß
    Dampfhammer bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  8. #8
    Dampfhammer Dampfhammer ist offline Rookie
    Registriert seit
    Dec 2010
    Beiträge
    9
    Die MSVCR100D.dll wird immer benötigt, egal, ob ich auf Debug oder Release gestellt habe (eingestellt hab ich das passende auch, bzw. alles durchversucht).

    Habs mal mit Dev-C++ versucht. Da sind die Programme um einiges größer (das 10-fache ca.) und benötigen dann keine DLL. Also für mich nehme ich dann VC++ und wenn das Programm dann fertig ist, lass ich das durch Dev-C++ durchlaufen.


    Edit: GARR! Ok, es funktioniert doch mit VC++. Ich war so blöd und habe die Dateien immer aus dem Ordner mit dem Namen Debug geholt... natürlich waren da immer nur die Dateien drin, die rausgekommen sind, als ich den Debug-Modus an hatte... In einem anderen Ordner waren dann die release-Dateien... also es funktioniert jetzt auch ohne zusätzlichen Download.

    Vielen Dank an euch zwei

    MfG
    Geändert von Dampfhammer (22.07.11 um 05:49 Uhr)
     

Ähnliche Themen

  1. .NET Umgehen
    Von WorldRacer im Forum .NET Café
    Antworten: 3
    Letzter Beitrag: 05.08.08, 11:19
  2. Session umgehen!?
    Von DJLopez im Forum PHP
    Antworten: 1
    Letzter Beitrag: 24.04.07, 16:06
  3. proxy umgehen
    Von rauchmelder im Forum Security (Viren, Trojaner, Spam)
    Antworten: 4
    Letzter Beitrag: 22.09.04, 14:34
  4. Wie GB-Begrenzung umgehen?
    Von Moritz123 im Forum Hardware
    Antworten: 2
    Letzter Beitrag: 10.09.04, 11:54
  5. Cache umgehen
    Von tam im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 07.08.04, 13:52