Welche MFC (7!) DLLs ausliefern?

04/07/2010 - 15:35 von Peter Mairhofer | Report spam
Hi,

Ich habe mit Visual Studio .NET 2003 ein MFC Programm erstellt mit einer
zugehörigen DLL die die ATL verwendet.

Leider finde ich keine Dokumentation mehr zu VC.Net 2003 (oder ich bin
zu blind).

Daher meine Frage: Welche DLLs soll ich mit ausliefern um sicherzugehen
dass die Anwendung auf allen Plattformen funktioniert?

Wenn ich mir die "DLL Dependency" anschaue, so ist die Liste nàmlich
sehr groß:

MFC71.dll, MSVCR71.dll, kernel32.dll, user32.dll, gdi32.dll,
advapi32.dll, shell32.dll, comctl32.dll, oleaut32.dll, ws2_32.dll

Und für die ATL DLL:

mfc71u.dll, msvcr71.dll, kernel32.dll, ole32.dll, atl71.dll, msvcp71.dll.

Die System DLLs werde ich sicher nicht mitliefern (können/müssen), also
würde ich nur diese DLLs einpacken:

mfc71.dll, msvcr71.dll, mfc71u.dll, atl71.dll und msvcp71.dll

Habe ich damit alle Komponenten eingepackt sodass die Anwendung sicher
auf allen Systemen làuft?

Oder soll ich lieber gleich beide Programme statisch linken?

Als Installer verwende ich nicht Windows Installer sondern einen ein ein
proprietàres Programm (Setup Specialist). Dort habe ich natürlich viele
Optionen für die DLLs.

Ich würde sie ins %WINSYSDIR% kopieren (also windows\system32). Das ist
eh eine gute Idee?

Weiters bietet SetupSpecialist folgende Optionen:

[ ] Versionsprüfung (d.h. fragt nach ob eine DLL mit höherer Version
überschrieben werden soll)
[ ] DLL/OCX Selbstregistrierung
[ ] Typenbibliothek installieren
[ ] Gemeinsam genutze Datei (wird in
HKLM\Software\Microsoft\Windows\CurrentVersion\SharedFiles eingetragen)
[ ] Nicht deinstallieren
[ ] Existierende Datei nicht überschreiben

Sind irgendwelche dieser Optionen für die MFC DLLs empfehlenswert? Ich
hàtte mal auf "nein" getippt.

Vielen Dank und LG
Peter
 

Lesen sie die antworten

#1 Robert Kochem
04/07/2010 - 18:21 | Warnen spam
Peter Mairhofer schrieb:

Ich habe mit Visual Studio .NET 2003 ein MFC Programm erstellt mit einer
zugehörigen DLL die die ATL verwendet.



Lizenztechnisch darfst du glaube ich gar keine einzelnen DLLs dazupacken,
sondern lediglich das passende Visual C++ 2008 Redistributable Package.
Das enthàlt AFAIR alle benötigten DLLs passend zu deine VC++ Version.

Robert

Ähnliche fragen