Setup über Netzlaufwerke

  • Hallo zusammen,

    ich habe einen Setupmanager geschrieben, welcher bei Auswahl eine Vielzahl von Programmen automatisch über silentinstallationen installiert.
    Soweit funktioniert das Ganze auch.
    Ich habe aber noch ein Problem, welches ich für mich eher unbefriedigend gelöst habe.

    Die Quelle für die Installationsdateien sind Netzwerkpfade (UNC). Als Betriebssystem kommt Windows Xp Pro Sp3 zum Einsatz.

    Wenn ich dort nun eine Datei über ein Netzlaufwerk öffne, dann kommt immer erst eine Meldung des Windows Attachment Execution Service. Hier ein Beispiel:

    [Blockierte Grafik: http://www.formortals.com/files/AES-warning.png]

    Da ich es unschön finde jetzt jedes mal einen Controlklick oder ähnliches auf "Run" zu machen, habe ich das folgendermaßen gelöst:

    [autoit]

    if RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Associations", "LowRiskFileTypes") <> ".exe;.msi;.bat" then
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Associations", "LowRiskFileTypes", "REG_SZ", ".exe;.msi;.bat")
    ProcessClose("explorer.exe")
    Run("explorer.exe")
    Endif

    [/autoit]

    Er schreibt hier in die Reg des Rechners, dass er beim Ausführen von .exe, .msi und .bat-Dateien keine solche Meldung bringen soll. Dies mach ich dann beim Beenden des Skripts wieder Rückgängig.

    Das Problem an der Sache ist, dass diese Änderung einen Neustart des Explorers benötigt, was ich unschön finde.

    Kennt ihr eine andere Möglichkeit diese Meldung erst gar nicht erscheinen zu lassen ohne den Umweg mit dem Explorer-kill?

    Denke einige von euch benutzen Autoit um Installationen über Netzwerke durchzuführen.

    Danke euch!

    Gruß
    Fr4g3r

  • Mit einem der beiden nachfolgenden Befehle:

    [autoit]


    ShellExecuteWait($win & "\ACROBAT FLASH\Adobe Flash Player 10.0.42.34 IE.exe", "/s")
    RunWait($win & "\LOTUS NOTES\7.04.NB\silent-nb.bat")

    [/autoit]

    Gruß
    Fr4g3r

  • Hi,

    der Server, auf dem die Share Freigabe liegt, muss wie folgt eingetragen werden:
    Internet Explorer -> Extras -> InternetOptionen -> Reiter Sicherheit -> Lokales Intranet anklicken -> Sites -> Erweitert -> meinServer.meine.domäne.de

    Den entsprechenden RegKey findest Du dann unter:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains

    Damit kannst Du dann mit Reg* Funktionen die Einträge abbilden und nachher wieder löschen.

    ;-))
    Stefan

  • Hi,

    danke dir!

    Und wenn ich diese Änderungen in die Reg schreibe, dann greifen die sofort ohne ein Neustart des Rechners oder der explorer.exe?

    Gruß
    Fr4g3r

  • Hi,

    da die Änderung sofort wirksam werden, wenn ich Sie über den Internet Explorer vornehme, gehe ich davon aus, dass die Einträge sofort aktiv sind.

    Da Du die Einträge ja vornehmen musst, teste einfach.

    Ich bin aber fest davon überzeugt dass es funktionieren wird.

    ;-))
    Stefan

  • Habs eben probiert, er macht das nicht.

    Wenn ich sie auch von Hand eintrage, dann kommt die Meldung noch immer.
    Falls es nen Unterschied macht: Wir nutzen IE8.

    Gruß
    Fr4g3r