Farbschema: Dunkel
Sie befinden sich hier: start » de » Dokumentation » Werkzeuge für Microsoft Access » WKL Bootstrapper » Anleitungen » Starter per MSI verteilen

Starter per MSI verteilen

In einer verwalteten Umgebung gelangt Software nur über die Softwareverteilung der IT auf einen PC, als signiertes Windows-Installer-Paket. Der Starter einer Anwendung wird deshalb einmal als ein solches Paket installiert; von da an bringt er jede neue Version der Anwendung selbst mit, für jeden Benutzer, ohne dass die IT erneut verteilt.

Lösungsüberblick

tools\New-StarterMsi.ps1 baut das Paket aus der Projektdatei und der EXE-Datei des Starters. Ohne Installer-Einstellungen ist es das Paket früherer Releases:

  • je Computer, nach Program Files (x86)\WKL\<product>, wo Benutzer den Starter und seine Projektdatei nicht ändern können;
  • eine Verknüpfung im Startmenü aller Benutzer (mit /RUNCFG nur, wenn der Starter die Projektdatei nicht von selbst fände);
  • das Logo, das das Projekt nennt, wenn es neben der Projektdatei liegt;
  • ein aus dem Produktschlüssel gebildeter UpgradeCode, sodass jedes spätere Paket des Produkts das frühere ersetzt;
  • signiert, wenn ein Codesignaturzertifikat genannt ist.

Ab Version 2.3.0 beschreibt <name>.msi.json neben der Projektdatei mehr (siehe Die Installer-Einstellungen): ein Paket je Benutzer neben oder anstelle des Pakets je Computer, Dialoge in fünf Sprachen mit eigenen Seiten, deren Werte in <name>.ini neben dem Starter landen, die Lizenz, Bilder und WiX-Fragmente des Herausgebers. Das Skript baut dann ein Paket je Bereich und Sprache.

Umsetzung

  1. Legen Sie Wkl.Bootstrapper.exe neben die Projektdatei, dazu das Logo, falls das Projekt eines nennt.
  2. Prüfen Sie die Projektdatei und, falls vorhanden, die Installer-Einstellungen:

    Wkl.Bootstrapper.exe /check bootstrapper.json
    Wkl.Bootstrapper.exe /check bootstrapper.msi.json
  3. Bauen Sie das Paket (erfordert die Befehlszeile wix des WiX Toolset, Version 6 oder höher):

    .\tools\New-StarterMsi.ps1 -Project \\server\amed\deploy\bootstrapper.json -Version 1.0.0 `
        -CertificateThumbprint <thumbprint of the code signing certificate>

    Die Pakete landen neben der Projektdatei (-OutputFolder nennt einen anderen Ordner); das Skript gibt den Pfad jedes Pakets aus. Die Quellen schreibt der Starter aus dem Release des Skripts (Wkl.Bootstrapper.exe einen Ordner über tools, 2.3.0 oder höher); ein älterer Starter wird abgelehnt, ohne gestartet zu werden.

  4. Übergeben Sie das Paket der IT zur Verteilung (Gruppenrichtlinie, Intune oder Configuration Manager).

Hinweise

  • Erhöhen Sie -Version für jedes Paket, das die IT verteilen soll. Windows Installer ersetzt ein installiertes Paket nur durch eine höhere Version. Ein Paket ist nur nötig, wenn sich der Starter oder die Projektdatei ändert, nicht für eine neue Version der Anwendung: Die bringt der Starter aus der Quelle mit.
  • Die Standardversion ist package.version der Installer-Einstellungen, sonst die Produktversion der EXE-Datei des Starters; nennen Sie eine, wenn sich nur die Projektdatei geändert hat.
  • Werte eigener Seiten lassen sich ohne Dialoge übergeben: msiexec /i <package> /qn SERVER=... MODE=... (siehe Die Installer-Einstellungen).
  • Ohne -CertificateThumbprint wird das Paket nicht signiert. Verwaltete Umgebungen lehnen unsignierte Pakete meist ab. Das Signieren braucht signtool.exe aus dem Windows SDK und erreicht den Zeitstempelserver (-TimestampUrl, Standard DigiCert).
  • Das Paket installiert nur den Starter. Voraussetzungen des Computers (Microsoft Access oder seine Runtime, ODBC-Treiber für alle Benutzer, für alle Benutzer registrierte Komponenten) gehören in die eigenen Pakete der IT; der Starter prüft sie mit den conditions des Projekts und meldet, was fehlt.
  • Die Benutzer starten die Anwendung aus dem Startmenü. Der Starter arbeitet dann nur im Benutzerprofil, wie unter Anwendung mit dem Bootstrapper ausliefern beschrieben.
  • Nennen Sie source als Freigabe oder absoluten Pfad. Ein relatives source (etwa deploy, wie /new-project es schreibt) gilt ab dem Ordner des Starters, nach der Installation also ab Program Files (x86)\WKL\<product>. Der installierte Starter bricht dann mit Code 12 ab, während /check und /whatif neben der Projektdatei nichts melden, weil der relative Pfad dort aufgelöst wird (Der Ordner mit der Anwendung ist nicht erreichbar (Code 12)).
  • Zwei Einträge unter „Apps“ tragen den Namen der Anwendung. Das Paket registriert den Starter für den Computer; dieser Eintrag entfernt den Starter und seine Projektdatei, braucht Administratorrechte und ist Sache der IT. Beim ersten Start legt der Starter je Benutzer einen Eintrag für die installierte Anwendung an; dieser entfernt die Anwendung aus dem Benutzerprofil (/uninstall). Beide zeigen display.name der Projektdatei, sonst den Produktschlüssel.

Verwandte Themen

de/wiki/msaccess/bootstrapper/how-to/roll-out-the-starter-with-an-msi.txt · Zuletzt geändert: von Wolfgang van der Stille