7 Replies Latest reply on Nov 29, 2011 7:35 AM by Rauschi

    Treiberinstallation mit nachfolgendem EScript

    Rauschi Apprentice
      Hallo zusammen,

      ich suche eine Möglichkeit nach einer Treiberinstallation via Driver Package ein EScript aufzurufen.

      Kurzum: Die Treiber wurden auf einer OU freigegeben. Jetzt soll jeder User der das Gerät an seinem PC angeschlossen hat und die Treiber installiert hat, auch die dazugehörige Software via EScript installiert bekommen.


      Klar ginge es innerhalb des ESprits via Abfrage If isinstalled ... aber dann bekommen ja alle das Paket mit einer gelben Policy ...  und das ist nicht gewünscht.

      Hatte jemand schon mal so einen Fall oder hat da jemand einen Ansatz wie ich das lösen könnte ???

      Gruß Marco
        • 1. Re: Treiberinstallation mit nachfolgendem EScript
          info@offlimits-it.com Expert
          erweiter dein Treiberpaket einfach um die Escript Befehle
          • 2. Re: Treiberinstallation mit nachfolgendem EScript
            NicoS1 Master
            Hallo Marco,

            man kann ein Treiberpaket genauso wie ein normales eScript Paket mit Befehlen erweitern.

            Wenn der "InstallPNPDevice" Befehl nicht stört kann man ihn drin lassen. Wir haben aber stellenweise schon hergehen müssen, und haben diese löschen / auskommentieren müssen, was leider nur in der Script.inc direkt geht, und nicht über die Packaging Workbench. Aber das war ein Einzelfall mit der Soundkarte eines bestimmten Gerätetyps.

            Was man aber beachten muß, wenn man Treiber für USB Geräte paketiert, dass Windows leider nochmal loslegen kann, wenn man das Gerät in einer andere USB Buchse steckt, und dann das Treiberpaket nochmal los läuft.

            Deshalb sollte man, wenn man eine setup.exe oder ähnliches in das Treiberpaket mit einbaut evtl. noch via if-Abfrage prüfen, ob das setup bereits ausgeführt wurde (z.B. if Abfrage auf den Uninstall Registry Key).

            Gruß
            • 3. Re: Treiberinstallation mit nachfolgendem EScript
              Markus.Zierer Expert
              wie nordin schon geschrieben hat, kannst Du das Treiberpaket mit eScript Befehlen erweitern. Das ist gar kein Problem. Für dein Szenario wäre das z.B. ein Aufruf eines weiteren Paketes per RuneScript Befehl. Da Du in diesem Fall aber nicht mehr den vollem Compliance Status hast, würde ich davon absehen.

              Grundsätzlich ist es vermutlich so, dass die SW die notwendigen Treiberdateien sowieso installieren würde. Also mach Dir das doch zu nutze. Dafür musst Du aber den InstallPNPDevice Befehl umgehen. Änderung direkt an der Script.inc, wie von Nico geschrieben, würden zwar funktionieren, aber es gibt eine einfachere Methode.

              Lege NACH dem InstallPNPDevice Befehl eine Sprungmarke an und füge VOR dem Befehl einen goto ein. Damit erreichst Du, dass das Paket zwar erkannt und ausgeführt wird, wenn das entsprechende Gerät angeschlossen wird, aber der PNP Treiber wird nicht installiert. Statt dessen werden einfach die eSCript Befehle abgearbeitet.
              • 4. Re: Treiberinstallation mit nachfolgendem EScript
                Rauschi Apprentice
                Hallo zusammen,

                erstmal danke für die schnellen Info`s

                @ Markus: Grundsätzlich würde es funktionieren wenn ich das richtig Interpretiere, aber wie Nico schon geschrieben hat, Ist das Problem ja nicht die erneute Installation der USB Treiber sondern die Installation der Software. Also müsste ich wie du geschrieben hast das ganze umkehren.... oder ???

                Lege NACH dem InstallPNPDevice Befehl eine Sprungmarke an und füge VOR dem Befehl einen goto ein. Damit erreichst Du, dass das Paket zwar erkannt und ausgeführt wird, wenn das entsprechende Gerät angeschlossen wird, aber der PNP Treiber wird nicht installiert. Statt dessen werden einfach die eSCript Befehle abgearbeitet.




                Windows installiert ja immer abhängig vom Port die Treiber neu was ja nicht das Problem ist. Es kann nur zum Problem kommen wenn ich die Sw "drüberinstalliere" oder sehe ich das falsch ???

                Gruß Marco
                • 5. Re: Treiberinstallation mit nachfolgendem EScript
                  AlexanderDechent Apprentice
                  Hi Marco,

                  wenn ich es richtig verstanden habe, würde ich
                  1. die Verwendung des Komponenten-Modells aktivieren wenn nicht schon aktiv
                  2. deine Software als separates Paket paketieren
                  3. und dieses dann dem Driver-Package als Komponente hinzufügen (in der zweiten Position, also nach dem Treiber)

                  So wird die Software immer nach Installation des Driver Pakets installiert.

                  Viele Grüße,
                  Alex
                  • 6. Re: Treiberinstallation mit nachfolgendem EScript
                    NicoS1 Master
                    Oh nein... bitte nicht das Komponentenmodell...

                    Tut mir leid Alexander, aber ich hab damit nicht die besten Erfahrungen gemacht, und wäre auch dafür ehrlich gesagt etwas übertrieben...

                    Das mit der Sprungmarke geht auch. Gefällt mir persönlich nur nicht so, wenn ich einen Befehl nicht will, kommentier ich ihn aus... aber das überlass ich jedem Paketierer selbst. 1000 Wege führen ans Ende des eScripts ;-)

                    Im Prinzip (mit Sprungmarke)

                    goto weiter
                    InstallPnPDevice
                    :Weiter <= Sprungmarke

                    if NOT RegKeyExists (HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\...)
                    => Runas / Execute setup.exe -s

                    Wenn Software Installiert wird, schreibt sie ja in der Regel einen Uninstall Key, damit sie auch unter Systemsteuerung => Software deinstallierbar ist. Das findet man alles in dem oben genannten Reg Pfad. Jetzt musst dir da drunter nur den passenden Registry Schlüssel raussuchen, der zu deiner Installierten Software passt.

                    Wenn jetzt jemand das Gerät das erste mal eingesteckt, wird die Setup Exe aufgerufen. Wenn er das Gerät an einem anderen Port einsteckt, wird die setup.exe übersprungen, und er geht gleich ans Ende des Pakets.
                    • 7. Re: Treiberinstallation mit nachfolgendem EScript
                      Rauschi Apprentice
                      So ich haben Fertig ... :-)

                      Habe jetzt wie Nico beschrieben hat, das Treiber Paket um den Setup ergänzt verknüpft mit einer Abfrage auf den Uninstall ...

                      Hat wunderbar funktioniert.


                      Gruß Marco