Verzeichnis C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO\
-
Hi!
Ich schreibe gerade ein Setup-Programm für eine Anwendung, die auf eine ACCESS DB zugreift.
Um diesen Zugriff zu ermöglichen soll, wenn sie nicht vorhanden ist, die Datei DAO360.dll in das Verzeichnis *C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO* kopiert werden.
Jetzt meine Frage: Wie komme ich an dieses Verzeichnis (sowohl auf englischem wie deutschem Windows)? Sprich gibt es eine entsprechende Umgebungsvariable oder so?
Danke!
-
Habe die Lösung bereits gefunden ...
Bei Inno Setup gibt es eine Konstante ({dao}), mit der man auf dieses Verzeichnis zugreifen kann.
-
Die Funktion SHGetFolderPath ist Dein Freund - darüber kannst Du den Abschnitt "c:\Programme\Gemeinsame Dateien" auf einem beliebigen System ermitteln, auch wenn's mal auf d:\ liegt und "programmi" heißt.
Probier' mal CSIDL_COMMON_DOCUMENTS.
Den Teil \Microsoft Shared\DAO mußt Du aber selbst anhängen, der ist bereits anwendungsspezifisch.
Grundsätzlich gefällt mir Deine Idee nicht - eine DLL aus einem Paket nehmen und manuell installieren, das ist so eine 80%-Sache. Damit kannst Du ein Zielsystem ganz schön aufmischen.
Warum verteilst Du nicht mit Deinem Installer das vollständige MDAC-Installationspaket von MS? Dann wird der komplette Installer für alle MDAC-Treiber (inkl. Access, ADO, JET, etc) korrekt installiert und hat einen definierten Zustand.
-
Too slow.