Moombas (nur um etwaigen Missverständnissen vorzubeugen) :
FileInstall bindet Dateien wie Grafiken oder hier eine .dll in das Skript ein, und extrahiert sie beim Programmstart in das angegebene Verzeichnis. Sie ist danach also als eigenständige Datei vorhanden, so, als ob Du sie 'normal' beigelegt hättest.
Dies unterscheidet sich von einem #include, bei dem die inkludierte UDF ein Teil des Hauptskriptes wird !
Wobei, WENN man schon mit einer DLL arbeitet, man diese auch so in ein Script "einbauen" kann, dass diese im Scriptablauf direkt in den Speicher geladen und angesprochen werden kann, OHNE den Umweg über ein Speichern in den Verzeichnispfad (und Starten von dort aus).
ICH versehe diese DLL dann mit einem auf das Script angepassten Namen.
Sicherlich kann man auf dem Standpunkt stehen, dass eine per Fileinstall eingebundene DLL, welche vom Script beim ersten Start in den Scriptordner geschrieben wurde, problemlos durch eine andere (ggf. "neuere") Version dieser DLL ersetzt werden könnte.
Der Sinn einer DLL liegt aber darin, nur EINMAL in den Speicher geladen werden zu müssen, und ALLE anderen Programme haben dann Zugriff auf die in der DLL enthaltenen Funktionen. Ob das bei einer DLL Sinn macht, die Betriebssystemweit (mit der neueren Version ja "geänderte") Datenbankfunktionen bereit stellt, ist Ansichtssache.
Was habe ich denn gemacht, nachdem es gelaufen hatte ... (Brainstorming) ...
*snip*
[......MASSIVES BRAINSTORMING....].*snip*
Und dennoch muss sich ja irgend etwas geändert haben ... <Haare rauf´>
Im Extremfall muss "nur" über irgendein Update eine geänderte Version eingespielt werden, und es ergeben sich die seltsamsten "Probleme". Die mit dem eigentlichen AutoIt-Script aber auch garnichts (!) zu tun haben...
Wenn man eine langfristig funktionierende Version eines Scripts mit einer (nur dafür) benutzten DLL haben möchte, dann sollte man den Namen dieser DLL entsprechend an das Script anpassen.
Und wer meint, "soooo schlimm" kann es nicht kommen, der sei auf den aktuellen Thread zum Thema "MsgBox verlangsamt den Skriptablauf unter Win 10" verwiesen....dort wurde nämlich auch NUR eine Funktion (PeekMessage) innerhalb einer systemweit verwendeten DLL (user32.dll) geändert....