This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
UAC und benutzerdefinierte Aktion
Started by
Tlorenzo
, Jul 23 2010 10:31
6 replies to this topic
Posted 23 July 2010 - 10:31
Guten Morgen,
ich führe in einer benutzerdefinierten Aktion ein Batch-Skript aus SUPPORTDIR aus.
Wird mein Basic-MSI unter einem OS mit aktivierter UAC ausgeführt, scheitert die Ausführung dieses Batch-Skripts. Starte ich die Installation im Kontext "Als Administrator ausführen", funktioniert das Skript fehlerfrei.
Besteht die Möglichkeit bei der Ausführung der benutzerdefinierten Aktion "erhöhte Rechte" anzufordern?
Habe etwas gegoogelt und bin auf folgenden Artikel aufmerksam geworden.
Ich habe es bereits mit der Option "In-Script-Ausführung: Verzögerte Ausführung im Systemkontext" getestet, aber erhalte dabei immer folgende Fehlermeldung:
ich führe in einer benutzerdefinierten Aktion ein Batch-Skript aus SUPPORTDIR aus.
Wird mein Basic-MSI unter einem OS mit aktivierter UAC ausgeführt, scheitert die Ausführung dieses Batch-Skripts. Starte ich die Installation im Kontext "Als Administrator ausführen", funktioniert das Skript fehlerfrei.
Besteht die Möglichkeit bei der Ausführung der benutzerdefinierten Aktion "erhöhte Rechte" anzufordern?
Habe etwas gegoogelt und bin auf folgenden Artikel aufmerksam geworden.
Ich habe es bereits mit der Option "In-Script-Ausführung: Verzögerte Ausführung im Systemkontext" getestet, aber erhalte dabei immer folgende Fehlermeldung:
CODE |
Cannot write script record. Transaction not started. - OK |
Hat jemand einen Tipp?
Gruß,
tlorenzo
Edited by Tlorenzo, 23 July 2010 - 10:31.
Posted 23 July 2010 - 12:19
Das ist der richtige Weg. allerdings darf die Aktion dann nur zwischen InstallInitialize und InstallFinalize (in der Execute-Sequenz) liegen. Die Fehlermeldung deutet darauf hin, dass du sie irgenwo vor InstallInitialize eingefügt hast.
Stefan Krüger
InstallSite.org twitter facebook
Posted 23 July 2010 - 13:20
Hi Stefan,
danke für den Tipp.
Wo muss ich das den genau einstellen?
Die Optionen Installationsausführungssequenz, Angebotsausführungssequenz, Admin-UI-Sequenz und Admin-Ausführungssequenz sind aktuell als <Fehlt in Sequenz> konfiguriert.
Danke.
danke für den Tipp.
Wo muss ich das den genau einstellen?
Die Optionen Installationsausführungssequenz, Angebotsausführungssequenz, Admin-UI-Sequenz und Admin-Ausführungssequenz sind aktuell als <Fehlt in Sequenz> konfiguriert.
Danke.
Posted 23 July 2010 - 13:27
Sorry, ich habe die deutsche Version nicht. Wahrscheinlich ist die Aktion derzeit in the Install-UI Sequenz ("Installations-UI" ?) eingetragen? Dort rausnehmen und stattdessen bei Installationsausführungssequenz einfügen. Wo genau (zwischen InstallInitialize und InstallFinalize) hängt davon ab, was die Aktion macht und ob sie dazu z.B. eine Datei braucht, die erst installiert wird. Im allgemeinen würde ich sie ziemlich am Ende, also direkt vor InstallFinalize, einfügen, damit sie nicht ausgeführt wird, wenn die Installation vorher abbricht.
Hast du dir auch Gedanken zum Rollback gemacht und ob die Aktion z.B. bei einem Update auch ausgeführt werden soll?
Hast du dir auch Gedanken zum Rollback gemacht und ob die Aktion z.B. bei einem Update auch ausgeführt werden soll?
Stefan Krüger
InstallSite.org twitter facebook
Posted 23 July 2010 - 14:10
Nein, bisher nicht. Ich möchte es erst einmal am Laufen haben.
Das Batch-Skript editiert die ACL der installierten Dateien und muss somit nach der Installation ausgeführt werden.
Ich bekomm die einstellungen in der Benutzerdefinierten Sequenz nicht hin. Wie lautet die Option den im Englischen?
Ich erhalte immer die o.g. Fehlermeldung!
Das Batch-Skript editiert die ACL der installierten Dateien und muss somit nach der Installation ausgeführt werden.
Ich bekomm die einstellungen in der Benutzerdefinierten Sequenz nicht hin. Wie lautet die Option den im Englischen?
Ich erhalte immer die o.g. Fehlermeldung!
Posted 23 July 2010 - 15:17
Mich würde die Lösung weiterhin interessieren, aber ich habe einen Workaround gefunden.
Setup-Eigenschaften > Erforderliche Ausführungsstufe > Administrator
Durch diese Option wird vor dem Ausführen des IS bei aktivierter UAC zwingend die Admin-Kennung benötigt und diese wird auch für meine benutzerdefinierte Aktion gehalten.
Setup-Eigenschaften > Erforderliche Ausführungsstufe > Administrator
Durch diese Option wird vor dem Ausführen des IS bei aktivierter UAC zwingend die Admin-Kennung benötigt und diese wird auch für meine benutzerdefinierte Aktion gehalten.
Posted 26 July 2010 - 18:11
Du musst bei Installationsausführungssequenz eine geeignete Stelle zwischen InstallInitialize und InstallFinalize auswählen. In den anderen Sequenzen sollte <Fehlt in Sequenz> eingestellt sein, also insbesondere auch in der Install-UI-Sequenz.
Stefan Krüger
InstallSite.org twitter facebook