Ich habe eine MFC-Anwendung, die ich für die Bereitstellung verpacken möchte. Es scheint von den Dateien 'msvcr90.dll', 'msvcp90.dll' und 'mfc90.dll' abhängig zu sein. Was ist der richtige Weg, um diese Dateien zu verteilen?Richtiger Weg, um VC++ - Laufzeitdateien zu verteilen
Ich kann keine Mergemodule verwenden, da mein Installer sie nicht unterstützt. Ich weiß, dass ich VCRedist_x86.exe ausführen kann, aber ich möchte dies aus verschiedenen Gründen nicht tun.
Soweit ich sehen kann, ist meine einzige Alternative, die Dateien als Private Side-by-Side-Baugruppen zu installieren. Ist das richtig?
Nach http://msdn.microsoft.com/en-us/library/ms235317(VS.80).aspx die richtige Methode zum Installieren einer privaten Assembly ist das Kopieren der Ordner "Microsoft.VC90.CRT" und "Microsoft.VC90.MFC" in den gleichen Ordner wie die ausführbare Datei. Ist das der richtige Weg, um das Problem zu lösen? Es funktioniert, aber es scheint ein bisschen 1990er zu sein, Systemdateien auf diese Weise zu kopieren. Kann mir jemand ein Beispiel für eine andere Anwendung (oder zumindest ein Demo-Projekt) zeigen, die dies tut?
Zum Schluss, wann muss ich mir Gedanken über die Verteilung einer. Manifest-Datei für meine Anwendung machen? Soll ich die XML-Datei explizit installieren oder ist sie irgendwie in meine ausführbare Datei eingebettet?
FWIW Ich stellte eine ähnliche Frage zum Versand der CRT-DLLs. http://stackoverflow.com/questions/2131093/distributing-the-visual-c-runtime-libraries-msvcrt – Rob
Willkommen bei DLL Hell, Kapitel 3. * (Die ersten beiden Kapitel behandeln Probleme mit der Dateiposition und Versionsprobleme.) –