Eine neue benutzerdefinierte Aktion hinzufügen

<< Click to Display Table of Contents >>

RayPack > 8.0 > User Guide > PackDesigner > MSI / MST / RPP-basierte Projekte > Erweiterter Modus > Benutzerdefinierte Aktionen 

Eine neue benutzerdefinierte Aktion hinzufügen

Das Hinzufügen einer neuen Custom Action zu einem Packaging-Projekt wird durch einen Klick auf die Schaltfläche Create new ... ausgelöst, die in der oberen linken Ecke des Dialogs CUSTOM ACTIONS angezeigt wird. Der Custom-Action-Assistent wird gestartet und begleitet Packager durch den Prozess der Custom-Action-Definition.

 

Assistentschritt: Aktionstyp

Die tatsächliche Schrittfolge des Assistenten hängt von der auf dem ersten Assistentenbildschirm getroffenen Aktionstypauswahl ab:

 

Standard-MSI-Custom-Actions:

 

oExecutable

Ausführbare Quelle

Ausführungsparameter

oDLL

DLL-Quelle

oVBS Script

Skriptquelle

Skriptinhalt

oJS Script

Skriptquelle

Skriptinhalt

oDie Typen Set folder, Set property und Show error message enthalten keine zusätzlichen Schritte, erweitern aber den Schritt Details um spezifische Einstellungen.

 

Wrapper über Standard-MSI-Custom-Actions:

 

oPowerShell
 

Um einen der dargestellten Custom-Action-Typen auszuwählen, muss auf die entsprechende Symbol-Kachel geklickt werden. Die aktuelle Auswahl wird durch ein farbiges Feld mit einem Häkchen in der oberen rechten Ecke der Aktionstypkachel angezeigt.

 

Sobald ein Typ ausgewählt ist, muss der nächste Schritt durch Klicken auf die Schaltfläche NEXT aufgerufen werden. Während der gesamten Assistentenausführung können Benutzer die Custom-Action-Erstellung durch Klicken auf die Schaltfläche CANCEL abbrechen.

Optionale Assistentschritte

Die folgenden Assistentschritte werden für bestimmte Custom-Action-Typ-Erstellungsverfahren angezeigt:

 

Ausführbare Quelle

– Nur für Custom-Action-Typ Executable –

 

Wählen Sie einen der folgenden Quelltypen durch Klicken auf das Typsymbol aus:

 

Executable from a binary source
Erfordert ein ausführbares Ressourcenobjekt in der Tabelle Binary.
Informationen zur Verwaltung von binären Ressourcen über die Visual-Designer-Oberfläche finden Sie im Hilfeabschnitt zu Resources.
 

Executable deployed within this package
Erfordert ein ausführbares Dateiobjekt in der Tabelle File.
Informationen zur Verwaltung von Dateien über die Visual-Designer-Oberfläche finden Sie im Hilfeabschnitt zu Files and Folders.
 

Executable pointed by a property
Erfordert eine Eigenschaft aus der Tabelle Properties, die einen Pfad enthält, der auf eine bestimmte Datei zeigt, die entweder im aktuellen Packaging-Projekt oder auf dem Zielcomputer gespeichert sein kann.
Informationen zur Verwaltung von Eigenschaften über die Visual-Designer-Oberfläche finden Sie im Hilfeabschnitt zu Properties.
 

Executable on destination
Ermöglicht die Definition eines Pfades zu einer ausführbaren Datei.

 

Durch Klicken auf NEXT wird der Schritt Ausführungsparameter aufgerufen.

 

Ausführungsparameter

– Nur für Custom-Action-Typ Executable –

 

Wenn im vorherigen Schritt Executable from a binary source ausgewählt wurde, müssen Benutzer zwischen den verfügbaren Optionen wählen:

New file from disk – Eine Datei von einem lokalen oder freigegebenen Systemlaufwerk auswählen.
oder

Existing binary stream – Eines der binären Ressourcenobjekte auswählen, die bereits dem Packaging-Projekt hinzugefügt wurden.

 

Wenn im vorherigen Schritt Executable deployed within this package ausgewählt wurde, müssen Benutzer eines der Dateiobjekte auswählen, die bereits dem Packaging-Projekt hinzugefügt wurden.

 

Wenn im vorherigen Schritt Executable pointed by a property ausgewählt wurde, müssen Benutzer

die Quelleigenschaft auswählen – Eine der Eigenschaften auswählen, die bereits dem Packaging-Projekt hinzugefügt wurden.
und

den Pfad zur ausführbaren Datei definieren – Der angezeigte Wert wird automatisch aktualisiert, um dem tatsächlichen Inhalt der Quelleigenschaft zu entsprechen. Passen Sie ihn manuell an, um den tatsächlichen Pfad zur ausführbaren Datei zu definieren.

 

Wenn im vorherigen Schritt Executable on destination ausgewählt wurde, müssen Benutzer eines der Verzeichnisobjekte auswählen, die bereits dem Packaging-Projekt hinzugefügt wurden.

 

Befehlszeilenargumente können optional für jeden ausführbaren Quelltyp angegeben werden. Definieren Sie die Argumente, die an die Befehlszeile angehängt werden müssen, die zur tatsächlichen Ausführung der ausführbaren Datei verwendet wird.

 

Durch Klicken auf NEXT in diesem Schritt wird der Schritt Details aufgerufen.

 

DLL-Quelle

– Nur für Custom-Action-Typ DLL –

 

Wenn eine DLL aus einer binären Quelle verwendet werden soll:

 

Definieren Sie die Quell-DLL-Datei durch Aktivieren einer der verfügbaren Optionen:

 

DLL from a binary source kann durch die Definition von entweder

New file from disk – Eine Datei von einem lokalen oder freigegebenen Systemlaufwerk auswählen.
oder

Existing binary stream – Eines der binären Ressourcenobjekte auswählen, die bereits dem Packaging-Projekt hinzugefügt wurden.

 

DLL deployed within this package bietet ein Dropdown-Menü zur Auswahl eines der Dateiobjekte, die bereits dem Packaging-Projekt hinzugefügt wurden.

 

Die DLL muss über den Entry point aufgerufen werden, wobei das Handle für die aktuelle Installationssitzung als Argument übergeben wird. Der angegebene Einstiegspunkt muss mit dem aus der DLL exportierten übereinstimmen.

 

Durch Klicken auf NEXT wird der Schritt Details aufgerufen.

 

Skriptquelle

– Nur für Custom-Action-Typen VBS und JS Script –

 

Skripte können Custom Actions auf verschiedene Weisen hinzugefügt werden:

als binäre Stream-Ressource

als Inline-Skriptquellcode

als Eigenschaftswert

als im Paket bereitgestellte Datei

 

Die im oberen Bereich der Assistentenoberfläche ausgewählte Methode bestimmt die Steuerelemente, die zum tatsächlichen Hinzufügen des Skripts erforderlich sind und im unteren Teil des Assistenten-Dialogbildschirms angezeigt werden:

 

Wenn source stream ausgewählt ist, können Benutzer entweder die Erstellung einer neuen Stream-Ressource auslösen oder eine der bereits im Packaging-Projekt verfügbaren Ressourcen auswählen.

 

Wenn inline script ausgewählt ist, müssen Benutzer den Code im nächsten Assistentschritt eingeben.

 

Wenn property value ausgewählt ist, können Benutzer entweder die Erstellung einer neuen Eigenschaft auslösen oder eine der bereits im Packaging-Projekt verfügbaren Eigenschaften auswählen.

 

Wenn deployed file ausgewählt ist, können Benutzer eine der Dateien auswählen, die bereits dem Packaging-Projekt hinzugefügt wurden.

 

Durch Klicken auf NEXT wird der Schritt Skriptinhalt aufgerufen.

 

Skriptinhalt

– Nur für Custom-Action-Typen VBS und JS Script –

 

Die in diesem Schritt angezeigte Steuerelement-Oberfläche hängt direkt von den im vorherigen Schritt getroffenen Auswahlen ab:

 

Wenn source stream, inline script, oder property value ausgewählt wurden, wird ein Textbereich angezeigt, der es ermöglicht, den Skriptcode manuell einzugeben, den bereits verfügbaren Code zu bearbeiten oder Quellcode aus einer externen Datei zu laden. Der Textbereich darf nicht leer gelassen werden, da eine skriptbasierte Custom Action den Code für die Ausführung enthalten muss.

 

Wenn zusätzlich source stream, property value, oder deployed file ausgewählt wurden, gibt es ein Eingabefeld, mit dem Benutzer die tatsächliche Funktion definieren können, die im Rahmen der Custom Action aufgerufen werden soll. Der Funktionsname ist für bereitgestellte Dateien obligatorisch und für die anderen Optionen optional.

 

Durch Klicken auf NEXT wird der Schritt Details aufgerufen.

 

Während sich die typabhängigen Schritte unterscheiden können, sind die folgenden Schritte für alle Typen gemeinsam und erforderlich:

 

Assistentschritt: Details

Der Detailsschritt erfordert die Definition des Ausführungsmodus:

 

Immediate – Custom Actions, die Eigenschaften, Feature-Zustände, Komponentenzustände oder Zielverzeichnisse setzen oder Systemoperationen durch Einfügen von Zeilen in Sequenztabellen planen, können in vielen Fällen die sofortige Ausführung sicher verwenden.

Deferred – Custom Actions, die das System direkt ändern oder einen anderen Systemdienst aufrufen, müssen auf den Zeitpunkt der Ausführung des Installationsskripts verschoben werden.

Rollback – Das Rollback-Verfahren wird als Bereinigung ausgeführt, wenn eine Installation nicht ausgeführt werden kann. Custom Actions, die für die Ausführung beim Rollback markiert sind, werden während der primären Installation nicht ausgeführt.

Commit – Das Commit-Verfahren wird zur Finalisierung erfolgreicher Installationen ausgeführt. Eine Commit-Custom-Action ist das Gegenstück zu einer Rollback-Custom-Action und kann zusammen mit Rollback-Custom-Actions verwendet werden, um Custom Actions rückgängig zu machen, die direkte Änderungen am System vornehmen.

 

Darüber hinaus müssen Packager den Benutzer bestimmen, der als Ausführer der Custom Action definiert ist:

Run as system – Wenn Custom Actions so definiert sind, dass sie als Systembenutzer ausgeführt werden, werden die Eigenschaften einiger benutzerbezogener Eigenschaften und Pfade beeinflusst, wie z. B. die benutzerbezogenen AppData-Verzeichnisse und aktuelle Benutzer-Registry-Ziele.

Run as current user – Diese Standardeinstellung personifiziert die Custom Action für den Benutzer, der das Paket tatsächlich installiert.

Terminal server aware – Nur in Terminal-Server-basierten Zielumgebungen erforderlich.

 

Die folgenden optionalen Verhaltenseinstellungen können aktiviert werden:

 

Als 64-Bit-Skript ausführen
Auf 64-Bit-Betriebssystemen kann Windows Installer Custom Actions aufrufen, die für 32-Bit- oder 64-Bit-Systeme kompiliert wurden. Eine 64-Bit-Custom-Action basierend auf Skripten muss explizit als 64-Bit markiert werden.
 

Nach Abschluss Exit-Code prüfen
Wenn diese Option aktiviert ist, gilt die Custom Action als erfolgreich abgeschlossen, wenn der Rückgabecode 0 zurückgegeben wird. Alle anderen Rückgabewerte drücken eine fehlerhafte Custom-Action-Ausführung aus. Deaktivieren Sie diese Option, um den Rückgabecode zu ignorieren und immer mit dem Verfahren fortzufahren, zu dem die Custom Action gehört.

 

Wenn Set folder als Aktionstyp ausgewählt wurde, wird dieser Schritt verwendet, um den Ordner auszuwählen, der umbenannt werden soll, und den neuen Wert zu definieren. Der Ordnerbezeichner muss ein bereits bekanntes Objekt aus der Directory-Tabelle sein. Benutzer können die Syntaxvorschlag-Funktion verwenden, um den neuen Wert basierend auf dynamischen Werten wie Eigenschaften festzulegen.

 

Wenn Set property als Aktionstyp ausgewählt wurde, wird dieser Schritt verwendet, um die zu ändernde Eigenschaft auszuwählen und den neuen Wert zu definieren. Der Eigenschaftsbezeichner muss ein bereits bekanntes Objekt aus der Eigenschaften-Tabelle sein. Benutzer können die Syntaxvorschlag-Funktion verwenden, um den neuen Wert basierend auf dynamischen Werten wie Pfaden festzulegen.

 

Wenn Show error als Aktionstyp ausgewählt wurde, wird dieser Schritt verwendet, um die tatsächliche Fehlermeldung zu bestimmen, die angezeigt werden soll. Die Meldung darf nicht leer sein.

 

Durch Klicken auf NEXT wird der Schritt Sequence aufgerufen.

 

Assistentschritt: Reihenfolge

Dieser Schritt ermöglicht es optional zu definieren, in welchen Installationssequenzen die Custom Action ausgeführt werden soll.

 

Um die Custom Action einer der Sequenzen hinzuzufügen, müssen Benutzer zunächst die Umschalter für den gewünschten Sequenztyp erweitern. Nach dem Erweitern enthält der Umschaltbereich die tatsächlich verfügbare(n) Sequenz(en) für den Typ.

Aktivieren Sie das Kontrollkästchen links neben der Sequenzbeschreibung, um die Position der Custom Action innerhalb der jeweiligen Sequenz definieren zu können.

Custom Actions können keiner Sequenz, allen Sequenzen oder einer beliebigen Kombination von Sequenzen hinzugefügt werden.

 

Diese Einstellung kann später über die Ansicht SEQUENCING des Erweitert-Modus geändert werden.

 

Durch Klicken auf NEXT wird der Schritt Additional Settings aufgerufen.

 

Assistentschritt: Zusätzliche Einstellungen

RayPack generiert automatisch einen Vorschlag für den Namen der Custom Action basierend auf dem Aktionstyp. Der Name der Custom Action darf nicht leer gelassen werden, muss im gesamten Packaging-Projekt eindeutig sein und sollte keine Sonderzeichen enthalten.

 

Das optionale Eingabefeld für die Bedingungsanweisung kann verwendet werden, um eine Zeichenfolge zur Auswertung zur Laufzeit einzugeben. Die Custom Action wird nur ausgeführt, wenn die Bedingung leer gelassen wird (was einem NULL-Wert entspricht) oder als TRUE ausgewertet wird.

 

Packager können die Bedingung später als Teil der Sequenzierungsverwaltungsaktivitäten anpassen.

 

Durch Klicken auf NEXT wird der Schritt Summary aufgerufen.

 

Assistentschritt: Zusammenfassung

Diese Übersicht gibt die Möglichkeit, die in den vorherigen Schritten vorgenommenen Einstellungen zu überprüfen. Bitte stellen Sie sicher, dass alle Eigenschaften korrekt auf das gewünschte Custom-Action-Verhalten abgestimmt sind.

Verwenden Sie die Schaltfläche BACK, um zu vorherigen Schritten zu navigieren, falls Anpassungen erforderlich sind. Bitte beachten Sie, dass das Zurückgehen die bereits eingegebenen Werte in Schritten beeinflussen kann, die voneinander abhängen. Wenn beispielsweise der Ressourcentyp für eine skriptbasierte Custom Action geändert wird, muss der eigentliche Skriptcode neu definiert werden.  

 

Durch Klicken auf PROCESS wird die Custom Action gemäß den angezeigten Einstellungen erstellt und der Assistentdialog geschlossen.