Branding-Beispiel 2

Einleitung

Dieses Kapitel beschreibt wie Features zu den Featureoptionen des WinCC OA-Setups hinzugefügt werden. Ein vollständiges detailliertes Beispiel des Brandings finden Sie unter Branding-Beispiel 1.

Zusammenfassung des Beispiels

In diesem Kapitel erfahren Sie, wie Sie neue Projekte zum Setup hinzufügen. In diesem Beispiel wird ein Projekt (ProjectA) hinzugefügt.

Dieses Kapitel beschreibt zuerst, wie ein Projekt-Paket erstellt wird und danach, wie Sie das Projekt als Paket hinzufügen.

Schritt für Schritt Anleitung

Gehen Sie wie folgt vor:

  1. Kopieren Sie die Datei /Branding/Resources/ProjectTemplate.wxs und benennen Sie die Datei sowie ihr Projekt heißen soll. In unserem Beispiel soll das Projekt "ProjectA" heißen. In der Datei [ProjektName].wxs (hier ProjectA.wxs) geben Sie die Produkt-ID, den UpgradeCode sowie die Component-ID an (siehe die Abbildungen unterhalb). Die Produkt-ID, der UpgradeCode sowie die Component-ID bilden ein GUID (Globally Unique Identifier). Beachten Sie, dass der Upgradecode nicht geändert werden muss, wenn ein Projekt durch ein Projekt-Update überschrieben werden soll und dass die Produkt-ID bei jedem neuen (eigenen) Deployment geändert werden muss. D.h., wenn es bei einem eigenen Projekt Änderungen gibt, muss eine neue ID in der [Projektname].wxs-Datei gesetzt werden. Um eine GUID zu generieren, verwenden Sie einen Generator z.B. guidgen.exe von Visual Studio.

VORSICHT:

Beachten Sie, dass bei einem Upgrade eine höhere Versionsnummer benötigt wird. Wo die Versionsnummer gesetzt wird wird, im Kapitel Branding-Beispiel 1 beschrieben.

Abbildung 1. Guidgen.exe (Visual Studio)

Kopieren Sie die GUID ohne die {} geschwungenen Klammern.

Anmerkung:

Die Product-ID muss nur für eigene Projekte geändert werden. Das WinCC OA-Branding-Paket enthält eine Produkt-ID.

Anmerkung:

Beachten Sie, dass zu leeren Verzeichnissen, die für das Projekt verwendet werden, leere Dateien hinzugefügt werden müssen. Verzeichnisse dürfen nicht leer sein.

Beachten Sie zudem, dass ein Registry-Eintrag für das Projekt im Registry existieren muss und auf 1 gesetzt werden muss. Der MSI-Name der .wxs-Datei ist der Registry-Eintrag! In diesem Beispiel ist der Registry-Eintrag "ProjectA".

Abbildung 2. /Branding/Resources/ProjectTemplate.wxs ohne Änderungen

Setzen Sie die GUID in der ProjectA.wxs-Datei:

Abbildung 3. ProjectA.wxs-Datei mit Produkt-ID, Upgrade-Code und Component-ID
  1. Erstellen Sie das Projekt-Paket indem Sie build_project.bat wie folgt aufrufen:

Abbildung 4. Aufruf von "build_project.bat"

Mit -name geben Sie den Featurenamen an und mit -dir das Verzeichnis wo das Feature liegt (in diesem Beispiel das Verzeichnis für das "ProjectA"). Das generierte MSI-Projekt finden Sie im Verzeichnis Branding/Output_msi.

  1. Um das Projekt als Feature zu dem Setup hinzuzufügen, muss eine Variable zu der Bundle_substituted.wxs-Datei hinzugefügt werden. In diesem Beispiel heißt die Variable "INSTALLPROJECTA".

Abbildung 5. Variable "INSTALLPROJECTA" hinzufügen

  1. Fügen Sie die Registry-Suche zu der Bundle_substituted.wxs-Datei, indem Sie eine Suche aus der Datei kopieren und entsprechend der Abbildung unterhalb ändern. Verwenden Sie die Variable (INSTALLPROJECTA), die Sie im Schritt 3 hinzugefügt haben. Beachten Sie, dass die Variable "After" mit der ID übereinstimmen muss (siehe Abbildung unterhalb "ProjectAExists").

Abbildung 6. Registry-Suche hinzufügen

  1. Fügen Sie das MSI-Paket "ProjectA" zum Chain-Element der Bundle_substituted.wxs-Datei hinzu - siehe folgende Abbildung:

Abbildung 7. "ProjectA" zum Chain-Element hinzufügen

  1. Fügen Sie das Projekt zu der BundleFeatureStructure.xml-Datei als BootstrapperPackage hinzu (siehe Abbildung unterhalb).

Die MsiPackage-ID der Bundle_substituted.wxs-Datei muss mit der ID (Name) der BundleFeatureStructure.xml-Datei übereinstimmen. Die Variable "InstallCondition" wurde auf Permanent = "no" gesetzt. Das bedeutet, dass, wenn WinCC OA deinstalliert wird, auch das MSI-Paket deinstalliert wird. Die Variable "Cache="always" bedeutet, dass das Feature (Projekt) später nachinstalliert werden kann. Die ID wird während der Installation angezeigt "Installiere Paket ProjectA". MSIPropertyName"PROJECTDIR" definiert, wohin das Feature (ProjectA) installiert werden soll ([PROJECTDIR] also in das Projektverzeichnis, ansonsten in das Installationsverzeichnis (INSTALLDIR).

Abbildung 8. BootstprapperPackage der BundleFeatureStructure.xml-Datei

Die Variable "isEnabled = "yes" gibt an, dass man die Checkbox für das Feature ("Projekt) anhaken kann.

  1. Fügen Sie die Texte für das Projekt (I INSTALLPROJECT A = 1 sowie "PROJECTDIR= [Pfad ohne Leerzeichen] gibt das Projektverzeichnis an.) der Theme_de-de.wxl-Datei hinzu:

D.h. Featureauswahl als Kommandozeilenoption:

| INSTALLPROJECT A = 1 sowie

den Text PROJECTDIR= [Pfad ohne Leerzeichen] gibt das Projektverzeichnis an.

(siehe unterhalb)

Abbildung 9. Theme_de-de.wxl-Datei
  1. Fügen Sie die OEM-Strings zu der Theme_de-de.wxl-Datei hinzu:

Abbildung 10. OEM-Strings in der Theme_de-de.wxl-Datei

  1. Generieren Sie das Setup mit build.bat -name [Produktname.exe] bzw.

falls das Produkt digital signiert werden soll: build.bat -name [Produktname.exe] -sign [Pfad_zu_PFX] -pass [Passwort]

build.bat -sign certificate_[certificateName].pfx -pass MyPassWord -name MyExeName.exe

Das geänderte Setup finden Sie im Branding/Output-Verzeichnis. Öffnen Sie das Setup in deutscher Sprache über [Produktname.exe] /lang 1031 im Output-Verzeichnis - z.B. OEM_4_0.exe /lang 1031.

Abbildung 11. ProjectA "OEM Projektkonfiguration A"