Dienst bearbeiten

<< Click to Display Table of Contents >>

RayPack > 8.0 > User Guide > PackDesigner > MSI / MST / RPP-basierte Projekte > Visueller Designer-Modus > Systeminteraktion > Dienste 

Dienst bearbeiten

Dienstmanipulationsobjekte umfassen eine umfangreiche Reihe von Einstellungsoptionen. Um eine übersichtliche und leicht zu bedienende Oberfläche für diese Objekte bereitzustellen, ist der Bereich zum Bearbeiten von Diensten in vier Aktivitätsblöcke unterteilt:

 

Grundlegende Eigenschaften

Create

Controls

Control Settings

 

Während die grundlegenden Eigenschaften immer zur Bearbeitung verfügbar sind, sind die übrigen Einstellungen in Registerkarten gruppiert, die Benutzer manuell aufrufen müssen.

Grundlegende Eigenschaften

Dienstname

Diese Eigenschaft ist der Name des Dienstes auf dem Zielrechner.

Wenn ein Dienst erstellt wird, wird der Name für die interne Diensterkennung und -verwaltung festgelegt.

Wenn ein Dienst gesteuert wird, muss der in diesem Wert verwendete Name mit dem Namen des gesteuerten Dienstes auf dem Zielgerät übereinstimmen. Der Abgleich erfolgt ohne Berücksichtigung der Groß-/Kleinschreibung.

 

Dienstnamen dürfen aus maximal 256 alphanumerischen Zeichen bestehen. Die Verwendung von Schrägstrich („/") und umgekehrtem Schrägstrich („\") in Dienstnamen ist nicht zulässig.

 

Komponente

Jedes Dienstmanipulationselement benötigt eine Komponentenbeziehung.

Bei Diensterstellungen muss der Schlüsselpfad der zugehörigen Komponente die ausführbare Datei für den neuen Dienst sein. Außerdem wird der Dienst nur erstellt, wenn die Komponente tatsächlich während der Installer-Sequenzen installiert wird.

Bei Dienststeuerungen entscheidet die Komponente, ob die Dienststeuerungsaufgabe während der Installer-Sequenzen ausgeführt wird.

 
Bitte beachten Sie, dass die Standardkomponente, die RayPack auswählt, wenn das Dienstmanipulationsobjekt dem Paketierungsprojekt hinzugefügt wird, höchstwahrscheinlich nicht die für das Zielpaket gewünschte ist. Stellen Sie sicher, diese Einstellung auf die richtige Komponente anzupassen!

Tab: Create

 

papercliper

Hinweis:

Die Eigenschaften, die Benutzer in dieser Registerkarte bearbeiten können, sind für Dienststeuerungselemente nicht relevant.

 

Um jedoch ein Steuerungselement in ein Dienstmanipulationsobjekt umzuwandeln, das tatsächlich einen Dienst erstellt, können Benutzer das Create Service-Kontrollkästchen in dieser Registerkarte deaktivieren.

 

Benutzer können ebenso ein Dienststeuerungselement in ein Diensterstellungsobjekt umwandeln, indem sie das Create Service-Kontrollkästchen in dieser Registerkarte aktivieren.

 

Wenn der Manipulationstyp gewechselt wird, müssen Benutzer das Dienstmanipulationsobjekt hinsichtlich des Vorhandenseins und der Gültigkeit aller erforderlichen Einstellungen und Referenzen prüfen. Insbesondere bei Steuerungselementen, die in Erstellungselemente umgewandelt wurden, muss der Schlüsselpfad-Dateistatus der zugehörigen Komponente in Bezug auf die korrekte ausführbare Dienstdatei überprüft werden.

 

Create Service

Diese Option ist aktiv, wenn das Dienstmanipulationselement darauf ausgelegt ist, einen neuen Dienst auf dem Zielrechner zu erstellen.

Es ist nicht möglich, dieses Kontrollkästchen zu deaktivieren, bis ein Dienstmanipulationselement mit einer Reihe von Steuerbefehlen erweitert wurde (siehe unten)

 

Display name

Dies ist der lokalisierbare Dienstname, wie er den Benutzern auf dem Zielsystem angezeigt wird.

 

Description

Die Beschreibung wird in der Dienstverwaltungsoberfläche des Betriebssystems auf dem Zielrechner angezeigt.

 

Executable

Dieses schreibgeschützte Feld zeigt die ausführbare Datei an, die aus dem Schlüsselpfadwert der zugehörigen Komponente abgeleitet wird. Wenn dieses Feld leer ist, enthält die Komponente noch keine passende Schlüsselpfaddatei.

 

Arguments

Fügen Sie Parameter zur Befehlszeile hinzu, mit der der Dienst ausgeführt wird. Wenn mehr als ein Parameter hinzugefügt wird, müssen diese durch Null („[~]") getrennt werden.

 

Umschaltgruppe: Eigenschaften

Start-up type

Die hier ausgewählte Option wird in einen Satz von Bit-Flags für die Dienststart-Steuerung übersetzt.

Automatic – der Dienst startet automatisch mit dem Betriebssystem.

Manual – der Dienst startet, wenn der Dienststeuerungs-Manager die StartService-Funktion aufruft.

Disabled – der Dienst kann nicht mehr gestartet werden.

 

Error control

Die hier ausgewählte Option wird in einen Satz von Bit-Flags übersetzt, die die Reaktion auf Dienststartfehler auf dem Zielrechner steuern.

Log and continue – protokolliert den Fehler und setzt den Startvorgang fort.

Log and show message – protokolliert den Fehler, zeigt ein Meldungsfeld an und setzt den Startvorgang fort.

Log and restart service – protokolliert den Fehler, wenn möglich, und das System wird mit der zuletzt als funktionierend bekannten Konfiguration neu gestartet. Wenn die zuletzt bekannte gute Konfiguration gestartet wird, schlägt der Startvorgang fehl.

 

Wenn das Kontrollkästchen „Abort install on error" aktiv ist, wird die Installation des Zielpakets selbst abgebrochen, wenn der Dienst nicht erfolgreich erstellt werden konnte.

 

Service type

Dienste können als separater Prozess oder als Dienstprogramm mit gemeinsam genutzten Code-Komponenten im selben Prozess ausgeführt werden. Weitere Informationen zur Auswahl der richtigen Option finden Sie in der MSDN-Dokumentation zu Dienstprogrammen.

 

Interaction

Dieses Kontrollkästchen wird verwendet, um Dienste zu kennzeichnen, die mit dem Desktop interagieren. Ob Interaktion zulässig ist, wird durch die Sicherheitsmechanismen des Betriebssystems des Zielgeräts gesteuert.

Bitte beachten Sie, dass die Login-Eigenschaft im Bereich Anmeldeinformationen auf „LocalSystem" oder Null („[~]") gesetzt sein muss, wenn diese Option verwendet wird.

 

Load order group

Eine Dienstgruppe ist eine Sammlung ähnlicher Dienste, die beim Start zusammen geladen werden. Wenn ein Wert in das Eingabefeld Load order group eingegeben wird, wird der neue Dienst zur angegebenen Gruppe hinzugefügt.

 

Dependencies

Geben Sie die Namen von Dienstgruppen oder einzelnen Diensten ein, die auf dem Zielgerät gestartet werden müssen, bevor das aktuelle Dienstelement gestartet werden darf. Wenn mehrere Abhängigkeiten eingetragen werden müssen, ist die Trennung durch Null („[~]") erforderlich. Weitere Informationen zur Handhabung komplexer Abhängigkeitsnotationen finden Sie in der MSDN-Dokumentation.

 

Umschaltgruppe: Anmeldeinformationen

Login

Das Benutzerprofil, das zum Ausführen des Dienstes verwendet wird. Abhängig vom Diensttyp und den Interaktivitätseinstellungen muss der Login-Wert entweder einschließlich des Domainnamens angegeben werden (DomainName\Username oder .\UserName für integrierte Domain-Benutzer) oder durch „LocalSystem" oder Null („[~]") dargestellt werden.

 

Password

Das Passwort, das zum oben definierten Login-Benutzernamen passt.

 

Umschaltgruppe: Berechtigungen

 

papercliper

Hinweis:

Die Berechtigungsverwaltung ist für Dienstmanipulationselemente innerhalb von Paketierungsprojekten, die ein Windows Installer-Schema unter 500 verwenden, nicht verfügbar. Bitte legen Sie das Installer-Schema über die Ansicht Zusammenfassungsinformationen fest, die im Abschnitt Setup-Organisation des Visual Designer-Modus verfügbar ist.

 

Im Berechtigungsbereich können Benutzer Berechtigungsdefinitionen hinzufügen, die in die MsiLockPermissionsEx-Installer-Datenbanktabelle eingetragen werden. Klicken Sie auf die Schaltfläche Hinzufügen, um eine neue Kombination aus Security Descriptor Definition und Bedingungszeichenfolge zu erstellen. RayPack ermöglicht das Hinzufügen mehrerer Berechtigungsverwaltungselemente zu einem Dienst.

Das Entfernen einer Berechtigungseinschränkung erfolgt durch Klicken auf die Schaltfläche Löschen, die in der oberen rechten Ecke des Berechtigungsdefinitionsbereichs angezeigt wird.

 

SDDL

Die in der Security Descriptor Definition Language definierte Zeichenfolge legt den tatsächlichen Berechtigungssatz für den angegebenen Dienst fest. Wenn ein Berechtigungssatz hinzugefügt wird, bereitet RayPack eine Standardzeichenfolge vor, die an die tatsächlichen Anforderungen des Paketierungsprojekts angepasst werden muss. Obwohl es möglich ist, die SDDL-Zeichenfolge direkt im angezeigten Eingabefeld zu ändern, wird empfohlen, den erweiterten Editor-Dialog zu verwenden. Verwenden Sie die Schaltfläche „edit sddl text" unterhalb des SDDL-Eingabefelds, um diesen Editor-Dialog zu öffnen.

 

Condition

Wenn die Berechtigung an bestimmte Bedingungen geknüpft ist, können diese mit Unterstützung des RayPack-Bedingungs-Generators definiert werden. Verwenden Sie die Schaltfläche „edit in condition builder" unterhalb des Bedingungseingabefelds, um diesen Editor zu öffnen.

 

Tab: Controls

Beide Typen von Dienstmanipulationselementen ermöglichen die Definition von Steuerbefehlen, die während der Installations- und Deinstallationslaufzeit auf den Dienst angewendet werden. Wenn ein neues Dienststeuerungselement zu einem Paketierungsprojekt hinzugefügt wird, fügt RayPack automatisch ein Element zur Steuerungsregisterkarte hinzu und weist dem Dienst zu, während der Installation zu starten und auf den SCM-Bericht zu warten, bevor die Installation fortgesetzt wird. Der Bezeichner des Steuerbefehls wird automatisch als eindeutige Kombination aus mehreren Werten definiert (z. B. Name des übergeordneten Dienstmanipulationsobjekts, ein inkrementierender Indexwert und das Schlüsselwort „Control").

 

Ein Dienststeuerungselement muss mindestens einen Steuerbefehl haben, während Dienst-Installer-Elemente auch ohne Steuerbefehl ausgeführt werden können.

 

Um einen Steuerbefehl hinzuzufügen, klicken Benutzer auf die Schaltfläche Hinzufügen, die oberhalb der Liste bereits vorhandener Steuerbefehle angezeigt wird. Ein neuer Befehl wird mit denselben oben beschriebenen Standardeinstellungen hinzugefügt.

 

Um einen Steuerbefehl zu löschen, klicken Benutzer auf die Schaltfläche Löschen auf der rechten Seite des zu löschenden Steuerbefehls.

Bitte beachten Sie, dass das Löschen eines Steuerbefehls für Dienststeuerungselemente nicht möglich ist, wenn für das Dienststeuerungsobjekt kein weiterer Steuerbefehl mehr vorhanden ist.

 

Jeder Steuerbefehl kann hinsichtlich der folgenden Optionen angepasst werden:

 

Install action

Der Befehl, der während der Installationssequenz des Zielpakets angewendet werden soll, kann eine beliebige Kombination von Folgendem sein:

Start – startet den Dienst während der StartServices-Aktion.

Stop – stoppt den Dienst während der StopServices-Aktion.
Das Stoppen eines Dienstes stoppt auch alle abhängigen Dienste.

Delete – löscht den Dienst während der DeleteServices-Aktion.
Das Löschen eines Dienstes veranlasst den Installer, ihn zu stoppen, bevor er tatsächlich gelöscht wird.

 

Uninstall action

Der Befehl, der während der Deinstallationssequenz des Zielpakets angewendet werden soll, kann eine beliebige Kombination von Folgendem sein:

Start – startet den Dienst während der StartServices-Aktion.

Stop – stoppt den Dienst während der StopServices-Aktion.
Das Stoppen eines Dienstes stoppt auch alle abhängigen Dienste.

Delete – löscht den Dienst während der DeleteServices-Aktion.
Das Löschen eines Dienstes veranlasst den Installer, ihn zu stoppen, bevor er tatsächlich gelöscht wird.

 

Wait Type

Benutzer können entscheiden, ob die Installation warten soll, bis der SCM (Service Control Manager) meldet, dass der Dienst in einem ausstehenden Zustand ist, bevor die Installation fortgesetzt wird, oder bis zu max. 30 Sekunden warten, bis der Dienst abgeschlossen ist, bevor die Installation fortgesetzt wird.

 

Argument

Fügen Sie Parameter zur Befehlszeile hinzu, mit der der Dienst ausgeführt wird. Wenn mehr als ein Parameter hinzugefügt wird, müssen diese durch Null („[~]") getrennt werden.

 

Tab: Configure Settings

In dieser Registerkarte können Benutzer Ereignisse und Wiederherstellungsaktionen für das Dienstmanipulationsereignis verwalten. Beide Unterregisterkarten werden unterhalb der Hauptregisterkarten-Navigationsleiste angezeigt.

 

Unterregisterkarte: Ereignisse

Dienstmanipulationsereignisobjekte werden intern in der Installer-Datenbanktabelle MsiServiceConfig gespeichert. Eine Liste bereits erstellter Ereignisse wird angezeigt, wenn diese Unterregisterkarte geladen wird. Um die Details eines Ereignisses anzuzeigen, muss auf das nach unten zeigende Pfeilsymbol links neben der Titelleiste jedes Ereignisses geklickt werden. (Ein weiterer Klick auf das nun sichtbare nach oben zeigende Pfeilsymbol blendet den Detailbereich wieder ein.)

 

Um ein Ereignis hinzuzufügen, klicken Benutzer auf die Schaltfläche Hinzufügen oberhalb der Liste bereits vorhandener Ereigniselemente und passen die Standardeinstellungen des neu erstellten Objekts an.

 

Um ein Ereignis zu löschen, klicken Benutzer auf die Schaltfläche Löschen, die auf der rechten Seite des Datenblocks jedes Ereigniselements angezeigt wird.

 

Die folgenden Ereigniseigenschaften können bearbeitet werden:

 

Event trigger

Ereignisse können durch Install, Uninstall und/oder Reinstall ausgelöst werden – die tatsächliche Kombination aktiver Auslöser ist eine beliebige Benutzerdefinition.

 

Wait type und Argument

Die verfügbaren Optionen für die Argument-Eigenschaft hängen tatsächlich vom ausgewählten Wait type ab:
 

Wait type: Zeitverzögerung eines automatisch startenden Dienstes konfigurieren
Argument-Optionen:

oAutomatischen Dienststartaufschub deaktivieren

oDienst nach anderen automatisch startenden Diensten plus Zeitverzögerung starten
 

Wait type: Liste der vom Dienst benötigten Berechtigungen ändern
Argument-Optionen:

oDie dafür erforderliche Argument-Zeichenfolge kann im Dialog SERVICE PERMISSIONS geändert werden. Klicken Sie auf den Link „edit argument" rechts neben dem Argument-Eingabefeld, um den Editor-Dialog zu öffnen. Aktivieren Sie das Kontrollkästchen in der äußersten linken Spalte der Berechtigungsliste, um die für den Dienst erforderliche Berechtigung zu definieren. Deaktivieren Sie Kontrollkästchen, um vorhandene Anforderungen zu entfernen.
 

Wait type: Einen Dienst-SID-Typ zum Prozesstoken hinzufügen, das diesen Dienst enthält
Argument-Optionen:

oNone

oRestricted

oUnrestricted
 

Wait type: Zeitdauer konfigurieren, die der SCM wartet, bevor er mit anderen Abschaltvorgängen fortfährt
Argument-Optionen:

oDer erforderliche Argument-Wert ist eine Ganzzahl, die die Sekunden angibt, die der SCM warten soll.
 

Wait type: Konfigurieren, wann die Fehleraktionen für diesen Dienst ausgeführt werden sollen
Argument-Optionen:

oAktionen nur ausführen, wenn der Dienst ohne Meldung von SERVICE_STOPPED beendet wird

oAktionen ausführen, wenn der Dienst mit Meldung von SERVICE_STOPPED beendet wird

 

Unterregisterkarte: Wiederherstellungsaktionen

Wiederherstellungsaktionen für Dienstmanipulationen werden intern in der Installer-Datenbanktabelle MsiServiceConfigFailureOptions gespeichert. Sie definieren Aktionen, die beim nächsten Systemstart nach einem fehlgeschlagenen Dienstlauf ausgeführt werden müssen.

 

Eine Liste bereits erstellter Wiederherstellungsaktionen wird angezeigt, wenn diese Unterregisterkarte geladen wird. Um die Details einer Aktion anzuzeigen, muss auf das nach unten zeigende Pfeilsymbol links neben der Titelleiste jedes Elements geklickt werden. (Ein weiterer Klick auf das nun sichtbare nach oben zeigende Pfeilsymbol blendet den Detailbereich wieder ein.)

 

Um eine Wiederherstellungsaktion hinzuzufügen, klicken Benutzer auf die Schaltfläche Hinzufügen oberhalb der Liste bereits vorhandener Ereigniselemente und passen die Standardeinstellungen des neu erstellten Objekts an.

 

Um eine Wiederherstellungsaktion zu löschen, klicken Benutzer auf die Schaltfläche Löschen, die auf der rechten Seite des Datenblocks jedes Aktionselements angezeigt wird.

 

Die folgenden Wiederherstellungsaktions-Eigenschaften können bearbeitet werden:

 

Trigger

Wiederherstellungsaktionen können durch Install, Uninstall und/oder Reinstall ausgelöst werden – die tatsächliche Kombination aktiver Auslöser ist eine beliebige Benutzerdefinition und wird in einen Bit-Flag-Wert übersetzt.

 

Reset Period

Der Reset-Zeitraum definiert die Zeit (in Sekunden) erfolgreicher Dienst-Betriebszeit, die erforderlich ist, bevor der SCM-Fehlerzähler für den betreffenden Dienst zurückgesetzt wird.

 

Reboot Message

Wenn ein Neustart erforderlich ist, wird der eingegebene Wert angezeigt, bevor das System neu startet.

 

Command

Wenn ein Befehl als Teil der Wiederherstellungsroutine ausgeführt werden muss, muss er hier definiert werden. Wenn kein Wert angegeben wird, wird der vorhandene Befehl unverändert verwendet. Die Eingabe von Null („[~]") unterdrückt jede Befehlsausführung.

 

SCM Actions

Jede Wiederherstellungsaktion kann eine oder mehrere Service Control Manager (SCM)-Aktionen umfassen. Intern werden diese Aktionen als übereinstimmendes Paar von Sequenz-Arrays in den MsiServiceConfigFailureAction-Tabellenspalten Actions und DelayActions gespeichert.

 
Eine Liste bereits erstellter Wiederherstellungsaktionen wird angezeigt, wenn der Detailbereich einer Wiederherstellungsaktion geladen wird. Um die Details einer SCM-Aktion anzuzeigen, muss auf das nach unten zeigende Pfeilsymbol links neben der Titelleiste jedes Elements geklickt werden. (Ein weiterer Klick auf das nun sichtbare nach oben zeigende Pfeilsymbol blendet den SCM-Aktionsdetailbereich wieder ein.)

 

Um eine SCM-Aktion hinzuzufügen, klicken Benutzer auf die Schaltfläche Hinzufügen oberhalb der Liste bereits vorhandener SCM-Aktionselemente und passen die Standardeinstellungen des neu erstellten Objekts an.

 

Um eine SCM-Aktion zu löschen, klicken Benutzer auf die Schaltfläche Löschen, die auf der rechten Seite des Datenblocks jedes SCM-Aktionselements angezeigt wird.

 

Für jede SCM-Aktion können Benutzer die folgenden Eigenschaften bearbeiten:

 

Action

Benutzer müssen eine der verfügbaren Aktionen auswählen:

Restart service

Reboot computer

Run command

No action

 

Delay

Die Millisekunden, die gewartet werden sollen, bevor die oben definierte Aktion tatsächlich ausgeführt wird.