Guideline Formate und Architektur - Formatauswahl - Cluebiz
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
08.02.2022 02:55:54 Guideline Formate und Architektur Formatauswahl Basierend auf den für die Paketerstellung zur Verfügung gestellten Quellen sind folgende Verfahren möglich: - Umwandlung eines bestehenden Hersteller-MSI. - Erstellung von MSI durch Umpacken des Legacy-Installers oder von Grund auf. - Verwendung von Legacy-Setup. - Paketvirtualisierung (App-V/ThinApp/MSIX) Allgemeine Best Practices für die Paketierung sind im Folgenden aufgeführt. Ein originales Hersteller-MSI darf nicht verändert werden. Anpassungen müssen immer von MST vorgenommen werden. Die originalen MSI-Datenbanken dürfen nicht verändert werden. In Hersteller-MSI Ausnahmefällen, wenn eine Transformationserstellung nicht möglich ist oder eine Fixierung der Hersteller-MSI nicht in einem akzeptablen Zeitrahmen möglich ist, kann die Setup-Erfassung durchgeführt werden. Anpassungstool des Herstellers Wenn ein herstellerspezifisches Anpassungstool (z. B. Adobe InstallTuner, Microsoft Office Customization Tool) für das Originalpaket verfügbar ist, sollte es verwendet werden. Mehr als ein Hersteller-MSI von Wenn die Originalanwendung mehr als ein Hersteller-MSI von verschiedenen Herstellern enthält, verschiedenen Herstellern sollte die Paketierungsaufgabe in separate Aufgaben für jedes Hersteller-MSI aufgeteilt werden. Vorteile und Nachteile Applikations-Virtualisierung Das Virtualisieren von Applikationen (z.B. in App-V/MSIX) kann dem Kunden Vorteile, aber auch Nachteile bieten: Vorteile Applikationen werden korrekt Installiert und Deinstalliert Es gibt keinerlei Konflikte zwischen den Applikationen Mehrere Versionen der gleichen Applikation können parallel installiert werden Vorteile beim Rollout von Applikationen Applikationen können pro Benutzer zugewiesen werden (z.B. bei VDI oder Citrix) Nachteile Virtualisierte Versionen von Applikationen werden nicht vom Hersteller angeboten Die virtualisierte Applikation muss bei jedem Versionsupdate vom Hersteller neu erstellt werden Durch das Sequence-Verfahren gehen in der Regel Garantieleistungen vom Hersteller verloren Inkompatibilitäten verhindern das Erstellen von App-V Paketen Es bleibt eine Mischung von Klassischen Applikationen mit Virtualisierten Applikationen, welche aufeinander abgestimmt werden muss Strategien für die Applikationsvirtualisierung Aggressive Applikationsvirtualisierung Bei dieser Strategie versucht der Kunde, den höchstmöglichen Anteil seiner Applikationen zu virtualisieren. Das bringt ihm den Vorteil, dass er seine VDI oder TS Umgebung in der höchsten Ausbaustufe nutzen kann. Jeder Benutzer kann sich an seinem Thin-Client anmelden und hat alle seine Applikationen zur Verfügung. Es müssen keine permanenten virtuelle Clients bereitstehen. Fallbezogene Applikationsvirtualisierung Hier werden nur Applikationen virtualisiert, welche Projektbezogen sinn machen. Bei dieser Strategie wird nicht versucht, alle Applikationen generell zu virtualisieren. Das kann sein, dass ein Set von Applikationen auf VDI funktionieren muss oder über MSI-X auf private Geräte verteilt Guideline Page 1 of 24
08.02.2022 02:55:54 werden muss. Ein weiteres Beispiel könnte das Bereitstellen der Applikation auf demselben Gerät in einer unterschiedlichen Version sein. Vorteile und Nachteile des Snapshot Verfahrens Mit der Snapshot-Technik kann die Installation einer Applikation aufgezeichnet werden und z.B. in ein Windows Installer Paket (msi) konvertiert werden. Damit erhält der Kunde sämtliche Vorteile der Installer-Technik (Repair, Maschinen/Benutzerteile getrennt, Advertised Shortcuts, Standartisierung), aber gleichzeitig erlischt der Support durch den Hersteller. Die Verantwortung für das Paket liegt nun beim Ersteller dieses Snapshots und kann damit auch negative Effekte (z.B. Funktionsfehler, korrupte Deinstallationen) auslösen. Der Snapshot muss in der Regel bei jedem Versionsupdate des Hersteller komplett neu erstellt werden. Wir empfehlen die Snapshot Technik nur, falls entweder keine Installationroutine vom Hersteller vorliegt oder die Qualität der gelieferten Hersteller-Routine nicht korrekt ist (z.B. kein Silent Uninstall oder problematische Parameter). Technische Erklärung zu den Formaten Klassische Format e Virt uelle Format e App-X, MSI-X Univ ersal Apps Dockers / Cont ain ers MSI, Leg acy, App-V, Port ab le Hyper-V and Win- Snapshots von Dritt- Apps, Symant ec App-X, MSI-X UWP dows Cont ain er herstellern VSA, ThinApp Reg istry, Files ystem Nativ (teilw virt durch Virtuell Virtuell Virtuell Virtuell UAC) Services, Treiber un- Ja Nein (AppV kann Ser- Nein Nein Ja ters tützt vices) CPU-Virtualis ierung Nativ Nativ Nativ Nein Ja Kann Admin-Rechte Ja Ja Nein Nein Ja verlang en Läuft auf ARM oder Nein Nein Nein Ja Nein Broadcom Business Store Nein Nein Ja Ja Nein (Azure) ab Win7, Win10 OS Required ab WinXP (1607) keine Lizenz ab Win10 (1607) ab Win10 ab Win10 (1607) mehr nötig Geignet für User-De- Nein Ja Ja (zwing end) Ja (zwing end) Nein ployment Geeignet für VDI und Apps können im Store Applikation muss als Komplette Una bhän- voller Hers teller-Sup- Behebung von Ins tal- published werden, UWP kompiliert wer- gigkeit der Container Bemerkung en port, maximale Kom- lationskonflikten, keine Ins tallations- den, kein Konvert mög- untereina nder, patibilität nicht immer kompati- konflikte, nicht immer lich braucht mehr CPU und bel (z.B. Hardware) kompatibel Memory Architektur Applikation und Betriebssystem Es gibt zwei Kriterien für die Architekturen, es gibt die Architekture des Betriebssytems und die Architekture der Applikation, welche ausgeführt werden soll. Windows Architektur Betriebssystem/Applikation Win x86 Win x64 Win Arm Win Arm64 Windows 7/8/10 x86 OK not OK not OK not OK Windows 7/8/10 x64 OK OK not OK not OK Guideline Page 2 of 24
08.02.2022 02:55:54 Windows 8.1 arm (Windows RT) not OK not OK OK not OK Windows 8/10 arm64 (Surface X) OK ** OK (beta) OK OK MacOS Architektur Betriebssystem/Applikation MacOS x64 MacOS M1 MacOS x64 (Intel) OK not OK MacOS M1 (Apple Silicon) OK ** OK ** Ausser Treiber und Hardwarenahe Programme Schnittstellen zum OS Übersicht Applikationen haben verschieden Schnittstellen zum Betriebssytsem, welche mit der Installation erstellt werden. Diese Schnittstellen werden zu einem grossen Teil in der Registry unter CLASSES_ROOT registriert. Untenstehend werden die einzelnen Schnittstellen beschrieben. https://blogs.windows.com/windowsdeveloper/2017/04/13/com-server-ole-document-support-desktop-bridge/ Startmenü Das Startmenü ist der bekannteste Einstiegspunkt unter Windows, in welchem die Benutzer Ihre Programme wiederfinden. Die Einträge im Startmenü waren vor Windows 8 komplett unter %ProgramData%\Microsoft\Windows\Start Menu\ als .lnk Dateien abgelegt. Zusätzlich wurden Sie noch mit dem entsprechenden Benutzerverzeichnis kombiniert. Ab Windows 8 sind im Startmenü auch MSIX Apps ausgewiesen. Klassisch Speicherpfad %ProgramData%\Microsoft\Windows\Start Menu\*.lnk %APPDATA%\Microsoft\Windows\Start Menu\*.lnk Deinstallation Problemlos Ja Änderung bei Minor Update Nein App-V Speicherpfad %ProgramData%\Microsoft\Windows\Start Menu\*.lnk %APPDATA%\Microsoft\Windows\Start Menu\*.lnk Deinstallation Problemlos Ja Änderung bei Minor Update Ja MSIX Speicherpfad %ProgramFiles%\WindowsApps\...\appxmanifest.xml HKCR\AppX...\Application Deinstallation Problemlos Ja Änderung bei Minor Update Automatisch Desktop Wie im Startmenü werden auch die Desktop-Verknüpfungen über ein Windows-Verzeichnis (%PUBLIC%\Desktop) als .lnk Dateien erstellt, auch hier wird das Verzeichnis aus dem entsprechnden Benutzerverzeichnis kombiniert. Zusätzlich werden gewisse vordefinierte Icons wie z.B. der Schnittstellen zum OS Page 3 of 24
08.02.2022 02:55:54 Trashcan vom Betriebssytem ergänzt. Klassisch Speicherpfad %PUBLIC%\Desktop\*.lnk %USERPROFILE%\Desktop\*.lnk Deinstallation Problemlos Ja Änderung bei Minor Update Nein App-V Speicherpfad %PUBLIC%\Desktop\*.lnk %USERPROFILE%\Desktop\*.lnk Deinstallation Problemlos Ja Änderung bei Minor Update Ja MSIX Speicherpfad nicht unterstützt Deinstallation Problemlos nicht unterstützt Änderung bei Minor Update nicht unterstützt Dateiverknüpfungen (FTA) Unter Windows reichen die Dateiverknüpfungen (File-Extensions) bis zu DOS-Zeiten zurück. Windows erkennt Dateitypen anhand der Endung des Dateinamens. Diese Extensions werden in Legacy-Paketen über Classes_Root definiert, und zwar im Root des Trees, sie beginnen immer mit einem Punkt (.). Klassisch Speicherpfad HKCR\.* Deinstallation Problemlos Nein Änderung bei Minor Update Nein App-V Speicherpfad HKCR\.* Deinstallation Problemlos Nein Änderung bei Minor Update Ja MSIX Speicherpfad HKCR\.*\OpenWithProgids Deinstallation Problemlos Ja Änderung bei Minor Update Automatisch ProgID Dateiverknüpfungen zeigen im klassischen Windows auf eine ProgId, und nicht direkt auf die Exe. Die ProgId enthält die Information, wo sich das Programm befindet und mit welchen Parametern es gestartet werden soll. ProgId-Einträge werden ausserdem von WebBrowsern unterstützt, es ist beispielsweise folgender Eintrag möglich: txtfile://meineparameter Schnittstellen zum OS Page 4 of 24
08.02.2022 02:55:54 https://docs.microsoft.com/en-gb/windows/win32/com/-progid--key Klassisch Speicherpfad HKCR\* Deinstallation Problemlos Nein Änderung bei Minor Update Nein App-V Speicherpfad HKCR\* Deinstallation Problemlos Nein Änderung bei Minor Update Ja MSIX Speicherpfad Nicht unterstützt (ausser Kompatibilität) Deinstallation Problemlos Ja Änderung bei Minor Update Automatisch Verbs Die Verbs beschreiben das Kontextmenü beim "Rechtsklick" auf eine Datei Mime Types Der Internet Media Type, auch MIME-Type (nach der Spezifikation Multipurpose Internet Mail Extensions) oder Content-Type (nach dem Namen des Feldes), klassifiziert die Daten im Rumpf einer Nachricht im Internet. Wie im MIME-Standard erläutert, wird z. B. bei einer HTTP-Übertragung einem Browser mitgeteilt, welche Daten der Webserver sendet – ob es beispielsweise ein Plain-Text-Dokument, ein HTML-Dokument oder ein PNG-Bild ist. Auch in E-Mails wird das „Content-Type“-Header-Feld dazu verwendet, die verschiedenen Daten zu klassifizieren. https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types https://de.wikipedia.org/wiki/Internet_Media_Type Klassisch Speicherpfad HKCR\CLSID\MIME\* HKEY_CURRENT_USER\Software\Classes Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Nein App-V Speicherpfad HKCR\CLSID\MIME\* HKEY_CURRENT_USER\Software\Classes Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Ja MSIX HKCR\PackagedCom\Package\* Schnittstellen zum OS Page 5 of 24
08.02.2022 02:55:54 Speicherpfad HKEY_CURRENT_USER\Software\Classes Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Automatisch Classes (CLSID) Eine CLSID ist eine Globally Unique Identifier, die ein com-Klassenobjekt identifiziert. Wenn Ihr Server oder Container das Verknüpfen mit den eingebetteten Objekten zulässt, müssen Sie für jede unterstützte Objektklasse eine CLSID registrieren. Jede Coklasse vom COM-Server hat mindestens einen Eintrag unter diesem Schlüssel, der die CLSID und die ProgID angibt. Die CLSID ist eine GUID, die die Klasse eindeutig identifiziert, und die ProgID (programmatic identifier) ist eine Zeichenkette, die die Klasse in einer besser lesbaren Form identifiziert. https://docs.microsoft.com/en-gb/windows/win32/com/clsid-key-hklm https://mariusbancila.ro/blog/2010/06/01/com-and-registry/ Klassisch Speicherpfad HKCR\CLSID\* HKEY_CURRENT_USER\Software\Classes Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Nein App-V Speicherpfad HKCR\CLSID\* HKEY_CURRENT_USER\Software\Classes Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Ja MSIX Speicherpfad HKCR\PackagedCom\Package\* HKEY_CURRENT_USER\Software\Classes Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Automatisch TypeLibs Jede Typbibliothek hat einen Schlüssel unter HKEY_CLASSES_ROOT\TypeLib, mit dem Namen der LIBID. Die Unterschlüssel liefern Informationen über den physischen Speicherort der Typbibliothek-Datei (.tlb-Datei) und andere, wie Flags (Schlüssel FLAGS) das Verzeichnis, das die Hilfedatei für die Typbibliothek enthält (Schlüssel HELPDIR). Eine LIBID ist eine GUID, die eine Typbibliothek eindeutig identifiziert. Eine *.TLB-Datei ist eine Binärversion einer IDL-Datei. Diese wird von Sprachen wie VB, Java, Javascript und vielen anderen verwendet, um die COM-Objekte nutzen zu können. Klassisch Speicherpfad HKCR\TypeLib\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Nein App-V Speicherpfad HKCR\TypeLib\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Ja Schnittstellen zum OS Page 6 of 24
08.02.2022 02:55:54 MSIX Speicherpfad HKCR\TypeLib\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Automatisch Interfaces Die Informationen für alle in einer IDL-Datei (Typbibliothek) definierten Schnittstellen müssen in der Registrierung hinzugefügt werden. Unter HKEY_CLASSES_ROOT\Interface muss ein Schlüssel mit der IID der Schnittstelle stehen. Die IID (Interface Identifier) ist eine GUID, die eine Schnittstelle eindeutig identifiziert. Klassisch Speicherpfad HKCR\Interface\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Nein App-V Speicherpfad HKCR\Interface\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Ja MSIX Speicherpfad HKCR\Interface\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Automatisch AppIds Eine AppID (Application Identifier) ist eine GUID, die einen COM-Server eindeutig identifiziert und zur Beschreibung von Sicherheits- und Aktivierungseinstellungen verwendet wird; sie wird für Out-of-Proc-Szenarien (lokal oder remote) verwendet. Normalerweise ist die AppID identisch mit der CLSID einer Coclass des COM-Servers (ohne Kollisionsgefahr, da die CLSID und die AppID unterschiedlichen Zwecken dienen). Klassisch Speicherpfad HKCR\AppID\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Nein App-V Speicherpfad HKCR\AppID\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Ja MSIX Schnittstellen zum OS Page 7 of 24
08.02.2022 02:55:54 Speicherpfad HKCR\AppID\* Deinstallation Problemlos Ja (wegen GUID) Änderung bei Minor Update Automatisch AppPath Wenn die ShellExecuteEx -Funktion mit dem Namen einer ausführbaren Datei im lpfile -Parameter aufgerufen wird, gibt es mehrere Stellen, an denen die Funktion nach der Datei sucht. Es wird empfohlen, die Anwendung im Registrierungs Unterschlüssel App-Pfade zu registrieren. Dadurch entfällt die Notwendigkeit, dass Anwendungen die Systempfad-Umgebungsvariable ändern. Die Datei wird an den folgenden Speicherorten gesucht: 1. Das aktuelle Arbeitsverzeichnis 2. Nur das Windows-Verzeichnis (es werden keine Unterverzeichnisse durchsucht). 3. Das Windows\system32-Verzeichnis. 4. Verzeichnisse, die in der PATH-Umgebungsvariablen aufgelistet sind. 5. Empfohlen: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\AppPath https://docs.microsoft.com/en-us/windows/win32/shell/app-registration Klassisch Speicherpfad HKLM\Software\Microsoft\Windows\CurrentVersion\AppPath Deinstallation Problemlos Ja Änderung bei Minor Update Nein App-V Speicherpfad HKLM\Software\Microsoft\Windows\CurrentVersion\AppPath Deinstallation Problemlos Ja Änderung bei Minor Update Automatisch MSIX Speicherpfad HKLM\Software\Microsoft\Windows\CurrentVersion\AppPath Deinstallation Problemlos Ja Änderung bei Minor Update Automatisch Generelle Guidelines Shortcuts Shortcuts auf dem Desktop werden immer entfernt Shortcuts mit dem Namen "Uninstall" oder "ReadMe" werden immer entfernt Die Shortcuts werden zusätzlich in der Sektion erfasst, damit ist es möglich, sie in ein anderes System zu exportieren Benutzerteile Falls das Paket vom Hersteller korrekt erstellt wurde, ist der Benutzerteil in diesem Fall vernachlässigbar, weil er über das Selfhealing vom MSI angestossen wird. In Ausnahmefällen kann aber auch hier die Sektion benutzt werden, diese erstellt automatisiert eine "ActiveSetup.vbs" im Hauptverzeichnis des Programmes, welche während der Installation für alle angemeldeten Benutzer direkt ausgeführt wird, aber auch für alle nachfolgenden Anmeldungen über das ActiveSetup.vbs ausgelöst wird Applikations-Updates Generelle Guidelines Page 8 of 24
08.02.2022 02:55:54 Autoupdate der Applikationen (z.B. Java Runtime, Firefox, Adobe Reader) wird ausgeschaltet. Updates können einfach über den Roboter erstellt werden, deshalb kann generell darauf verzichtet werden. Reboot Reboots werden immer unterdrückt Umgebungsvariablen Bestehende Umgebungsvariablen (z.B. PATH) dürfen nicht ersetzt werden. Zusätzliche Variablen können erstellt werden, müssen bei der Deinstallation aber wieder entfernt werden (falls per Machine). Hartcodierte Pfade Hartcodierte Pfade müssen nach Möglichkeit vermieden werden. Hardcodierte Werte werden durch Eigenschaften ersetzt. Benutzerdefinierte Eigenschaften, die dem Paket hinzugefügt werden (um Hardcodes zu ersetzen usw.). Sicherheit Die Berechtigungen müssen für die lokale Benutzergruppe festgelegt werden (wenn in der Installationsdokumentation nichts anderes beschrieben ist). Die Zugriffsberechtigungen für Dateien, Ordner, Registrierungsschlüssel und Dienste (falls erforderlich) werden durch einen benutzerdefinierten Abschnitt in der Datei deploy.xml festgelegt, der nach der Installation ausgeführt wird. SECEDIT oder icacls Dienstprogramme sollten verwendet werden. Überschreiben von Dateien Auf einem Windows-Betriebssystem gibt es bestimmte Dateien, die eine besondere Bedeutung haben und deshalb nicht überschrieben, sondern nur bearbeitet oder angehängt werden können. Die folgenden Dateien können nie überschrieben, sondern nur zusammengeführt oder angehängt werden: %Windir%\System32\drivers\etc\Hosts %Windir%\System32\drivers\etc\Lmhosts %Windir%\System32\drivers\etc\Services %Windir%\Win.ini %Windir%\System.ini DLL und OCX Registrierung In gewissen fällen müssen DLLs und OCX-Dateien in der Registry registriert werden (z.B. über regsvr32 Deinstallation Das Standard-Deinstallationsverhalten ist das Entfernen aller Komponenten, die durch das MSI auf dem Betriebssystem platziert wurden. Dies ist auch abhängig vom Zählerwert der freigegebenen DLL. Permanente, gemeinsam genutzte und modifizierte Komponenten werden nicht entfernt. Das Einstellen einer Komponente auf "shared" oder "permanent" erfolgt durch das Erstellen der Tabelle "Components" in der MSI- Datei. Eine Deinstallationsaktion muss Daten und benutzergebundene Einstellungen und Dateien unverändert lassen. Parameter Alle konfigurierbaren Anwendungseinstellungen (Servernamen, Serienschlüssel), die während der Bereitstellungsphase geändert werden könnten, sollten als Variablen festgelegt werden. Anwendung veröffentlichen Windows registriert Anwendungen in der Registry, die später für das Kontextmenü "Öffnen mit" verwendet werden, die im Startmenü gesucht werden können und die für die PATH-Variable verwendet werden. Die Veröffentlichung kann bei der Integration aktiviert werden. https://helgeklein.com/blog/2010/08/how-the-app-paths-registry-key-makes-windows-both-faster-and-safer/ Firewall-Einstellungen Generelle Guidelines Page 9 of 24
08.02.2022 02:55:54 Während der Integration des Pakets können Sie die Software-Firewall-Einstellungen direkt im Paket aktivieren oder als externe Dateien exportieren AppLocker und VirusScanner Bei der Integration des Pakets können Sie die Einstellungen als externe Dateien exportieren. Legacy Paket erstellen Übersicht Für die Erstellung eines Legacy-Paketes wird nur gemacht, wenn keine MSI-Datei zur Verfügung stellt. Da das Legacy-Format keine Standartisierung kennt, gestaltet sich die Erstellung etwas komplizierter. Erstellung Es muss zunächst abgeklärt werden, ob der Hersteller sowohl für die Installation wie auch für die Deinstallation Parameter bereitstellt, damit die Software im "Hintergrund" installiert werden kann. Installationsablauf Der Ablauf der Installation gestaltet sich immer nach dem gleichen Muster 1. Überprüfung, ob die zu installierende Software bereits lokal installiert ist, dies ist eine Sicherheitsmassnahme, falls das Paket eventuell schon manuell installiert worden ist oder der Job falsch gesetzt worden ist. 2. Alle Prozesse aus dem Programmfolder der zu installierenden Software werden gelöscht 3. Bekannte Prozesse der Applikation werden gelöscht 4. Installation Setup.exe mit Silent-Parametern 5. Nachträgliches setzen der Einstellungen (z.B. Sprache, Servernamen, ...) 6. Änderungen an den Standard-Sicherheitseinstellungen des Systems (Dateien, Ordner, Registrierung, Dienste) müssen untersucht werden 7. Optional ein Feedback, ob ein Reboot notwendig ist 8. Überprüfung auf einen Registry Key oder ein File, ob die Installation korrekt durchgelaufen ist Deinstallationsablauf 1. Überprüfung, ob die zu installierende Software bereits lokal installiert ist. 2. Alle Prozesse aus dem Programmfolder der zu installierenden Software werden gelöscht 3. Bekannte Prozesse der Applikation werden gelöscht 4. Deinstallation mit Silent Parametern (uninstall.exe) 5. Eventuell Rücknahme von zusätzlichen Rechten auf dem Filesystem oder der Registry 6. Optional ein Feedback, ob ein Reboot notwendig ist 7. Überprüfung auf einen Registry Key oder ein File, ob die Installation korrekt durchgelaufen ist Reparatur 1. Überprüfung, ob die zu installierende Software bereits lokal installiert ist. 2. Alle Prozesse aus dem Programmfolder der zu installierenden Software werden gelöscht 3. Alle Prozesse aus der "File Table" der MSI werden gelöscht 4. Deinstallation mit Silent Parametern (uninstall.exe) 5. Installation Setup.exe mit Silent-Parametern 6. Nachträgliches setzen der Einstellungen (z.B. Sprache, Servernamen, ...) 7. Eventuell Vergabe von zusätzlichen Rechten auf dem Filesystem oder der Registry 8. Optional ein Feedback, ob ein Reboot notwendig ist 9. Überprüfung auf einen Registry Key oder ein File, ob die Installation korrekt durchgelaufen ist Shortcuts Die Shortcuts werden zusätzlich in der Sektion erfasst, damit ist es möglich, sie in ein anderes System zu exportieren Benutzerteile In Ausnahmefällen kann aber auch hier die Sektion benutzt werden, diese erstellt automatisiert eine "ActiveSetup.vbs" im Legacy Paket erstellen Page 10 of 24
08.02.2022 02:55:54 Hauptverzeichnis des Programmes, welche während der Installation für alle angemeldeten Benutzer direkt ausgeführt wird, aber auch für alle nachfolgenden Anmeldungen über das ActiveSetup.vbs ausgelöst wird MSI Paket erstellen Übersicht Für die Erstellung eines MSI-Paketes ist es natürlich zwingend, dass der Hersteller eine MSI-Datei zur Verfügung stellt. Da die Datei als Datenbank zur Verfügung steht, können wir mit dem FastWrapper sehr viele Informationen direkt auslesen. Daher ist es unnötig, z.B. den Uninstall Key manuell zu suchen. Technische Referenzen https://docs.microsoft.com/en-us/windows/win32/msi/windows-installer-portal Installationsablauf Der Ablauf der Installation gestaltet sich immer nach dem gleichen Muster 1. Überprüfung, ob die zu installierende Software bereits lokal installiert ist, dies ist eine Sicherheitsmassnahme, falls das Paket eventuell schon manuell installiert worden ist oder der Job falsch gesetzt worden ist. 2. Alle Prozesse aus dem Programmfolder der zu installierenden Software werden gelöscht 3. Alle Prozesse aus der "File Table" der MSI werden gelöscht 4. Installation der MSI, in der Regel in der Kombination mit der MST 5. Nachträgliches setzen der Einstellungen (z.B. Sprache, Servernamen, ...) 6. Eventuell Vergabe von zusätzlichen Rechten auf dem Filesystem oder der Registry 7. Optional ein Feedback, ob ein Reboot notwendig ist 8. Überprüfung auf einen Registry Key oder ein File, ob die Installation korrekt durchgelaufen ist Deinstallationsablauf Generell sollten alle Ressourcen, die bei der Installation installiert wurden, bei der Deinstallation entfernt werden. Dies ist das Standardverhalten der MSI-Technologie. Die Ausnahmen sind Dateien, die über Komponenten installiert wurden, die mit anderen installierten Paketen gemeinsam genutzt werden. Dateien und INI-Einträge, die nach der Installation der Software erstellt wurden, werden bei der Deinstallation standardmäßig nicht entfernt. Der Anwendungsordner verbleibt mit einigen erstellten Inhalten auf dem Computer. Benutzerspezifische Dateien und Registry-Einträge sollten nicht gelöscht werden. 1. Überprüfung, ob die zu installierende Software bereits lokal installiert ist. 2. Alle Prozesse aus dem Programmfolder der zu installierenden Software werden gelöscht 3. Alle Prozesse aus der "File Table" der MSI werden gelöscht 4. Deinstallation der MSI 5. Eventuell Rücknahme von zusätzlichen Rechten auf dem Filesystem oder der Registry 6. Optional ein Feedback, ob ein Reboot notwendig ist 7. Überprüfung auf einen Registry Key oder ein File, ob die Installation korrekt durchgelaufen ist Reparatur 1. Überprüfung, ob die zu installierende Software bereits lokal installiert ist. 2. Alle Prozesse aus dem Programmfolder der zu installierenden Software werden gelöscht 3. Alle Prozesse aus der "File Table" der MSI werden gelöscht 4. Reparatur der MSI 5. Eventuell Reparatur von zusätzlichen Rechten auf dem Filesystem oder der Registry 6. Optional ein Feedback, ob ein Reboot notwendig ist 7. Überprüfung auf einen Registry Key oder ein File, ob die Installation korrekt durchgelaufen ist Properties Folgende Eigenschaften können als Kommandozeilenparameter in der deploy.xml gesetzt werden. ALLUSERS 1 Installation pro Maschine unter Verwendung von Ordnern im Profil "Alle Benutzer". ARPNOMODIFY 1 Deaktiviert die Änderungsfunktionalität im ARP Ein ARP-Eintrag für jede msi. Falls msi mehr als einen ARP-Eintrag installiert, MSI Paket erstellen Page 11 of 24
08.02.2022 02:55:54 ARPSYSTEMCOMPONENT Kein Eintrag kann ARPSYSTEMCOMPONENT = 1 über die Registry-Tabelle gesetzt werden, um einen zusätzlichen APR-Eintrag zu verbergen. Er sollte bei der De-Installation des Pakets gelöscht werden. LIMITUI 1 Die Ebene der Benutzeroberfläche (UI), die bei der Installation des Pakets verwendet wird, ist auf Basic beschränkt. MSIDISABLERMRESTART 1 Windows Restart Manager: Die Eigenschaft wird ignoriert, wenn der Neustart- Manager nicht verfügbar oder deaktiviert ist. MSIRESTARTMANAGERCONTROL Disable Windows Restart Manager: Deaktiviert den Neustart-Manager. MSIRMSHUTDOWN 2 Windows Restart Manager: Die Eigenschaft wird ignoriert, wenn der Neustart- Manager nicht verfügbar oder deaktiviert ist. REBOOT ReallySuppress Unterdrückt alle Neustarts und Neustartaufforderungen, die durch ForceReboot während der Installation ausgelöst werden. ROOTDRIVE C:\ Legt das Standardlaufwerk für das Zielverzeichnis der Installation fest. Features Das Layout der Merkmale sollte nicht verändert werden, wenn es nicht benötigt wird. Components Komponenten einer Hersteller-MSI können unverändert belassen werden. Komponenten, die über MST hinzugefügt werden, sollten den Vorschriften für Repackaged MSI entsprechen. Current User Entries Wenn das Paket vom Hersteller korrekt erstellt wurde, ist der Benutzeranteil in diesem Fall vernachlässigbar, da er vom MSI per Selbstheilung ausgelöst wird. In Ausnahmefällen kann aber auch hier der Abschnitt verwendet werden, der automatisch eine "ActiveSetup.vbs" im Hauptverzeichnis des Programms anlegt, die direkt bei der Installation für alle angemeldeten Benutzer ausgeführt wird, aber auch bei allen nachfolgenden Anmeldungen über die ActiveSetup.vbs ausgelöst wird AktiveSetup ActiveSetup-Einträge im Hersteller-MSI werden, wenn sie vorhanden sind, in den Abschnitt der Datei deploy.xml verschoben. Ansonsten gelten die Empfehlungen für Repackaged MSI. Dateien Die Hersteller-MSI kann ohne Änderungen belassen werden. Medien/CAB's Vendor msi Media Option wird unverändert belassen. Wenn Dateien zum Paket hinzugefügt werden, sollten sie in eine neue externe CAB-Datei (mit dem Namen .cab) komprimiert oder als unkomprimierte Dateien eingebunden werden, abhängig von den Besonderheiten der Hersteller-MSI. Ini-Dateien Die Hersteller-MSI kann ohne Änderungen belassen werden. Registrierung Schlüssel sind auf hart kodierte Einträge zu untersuchen, z.B.: Rechnernamen, IP-Adressen, Portnummern etc. Diese Einträge sollten durch MSI- Eigenschaften ersetzt werden. Der Inhalt der SelfReg-Tabelle kann in der Hersteller-MSI so belassen werden. Dateizuordnungen Die Hersteller-msi kann ohne Änderungen belassen werden. Umgebungsvariablen MSI Paket erstellen Page 12 of 24
08.02.2022 02:55:54 Werte übernehmen, wenn Umgebungsvariable bereits vorhanden. Bei der Installation angelegte Umgebungsvariable muss beim Entfernen des Pakets entfernt werden. Beispiel: *=-PATH Dienste Bei der Deinstallation der Anwendung sollten die installierten Dienste gestoppt und entfernt werden. ODBC Die msi des Herstellers kann ohne Änderungen belassen werden. Benutzerdefinierte Aktionen Es sollte keine zusätzliche Custom Action verwendet werden. Alle erforderlichen erweiterten Aktionen sollten über die Deploy.xml implementiert werden. Sicherheitsberechtigungen Zugriffsrechte müssen für die lokale Benutzergruppe gesetzt werden (wenn nicht anders in der Installationsdokumentation beschrieben). Die Zugriffsrechte für Dateien, Ordner, Registrierungsschlüssel und Dienste (falls erforderlich) werden durch Anweisungen in der Datei deploy.xml gesetzt, die nach der Installation ausgeführt werden. Es sollten die Dienstprogramme SECEDIT oder icacls verwendet werden. In Ausnahmefällen kann die Tabelle LockPermissions, MsiLockPermissionsEx in der Hersteller-MSI belassen werden. Dies sollte in der Paketdokumentation vermerkt werden. Shortcuts Die Shortcuts werden zusätzlich im Abschnitt aufgezeichnet, so dass es möglich ist, sie auf ein anderes System zu exportieren Spezielle Richtlinien 1. ProductCode sollte niemals geändert werden 2. LaunchConditions werden immer entfernt 3. Allgemeine Manipulationen werden immer im MST durchgeführt 4. Dynamische Manipulationen (Servernamen, Serienschlüssel) werden in der Deploy.xml vorgenommen Paketvalidierung Bei der MSI-Validierung wird die Konsistenz und referenzielle Integrität der MSI-Dateidatenbank überprüft. Dies geschieht mit sogenannten ICE- Tests (Internal Consistency Evaluators). Die Standard-Validierung mit der "Full MSI Validation Suite" muss verwendet werden. ICE-Fehler in der "Vendor MSI" können ignoriert werden. Fehler von 3rd Party Merge Modules oder die von zertifizierten Merge Modules stammen, können ebenfalls ignoriert werden. Alle "Warnings"-Meldungen können ignoriert werden. Snapshot erstellen (als MSI) Übersicht MSI Snapshots werden nur erstellt, wenn der Hersteller keine qualitativ genügende Installationssource zur Verfügung stellt. Für das Erstellen dieser Pakete gibt es diverse kommerzielle Produkte. Installationsablauf Die MSI Snapshot Installation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Deinstallationsablauf Die MSI Snapshot Deinstallation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Snapshot erstellen (als MSI) Page 13 of 24
08.02.2022 02:55:54 Generell sollten alle Ressourcen, die bei der Installation installiert wurden, bei der Deinstallation entfernt werden. Dies ist das Standardverhalten der MSI-Technologie. Die Ausnahmen sind Dateien, die über Komponenten installiert wurden, die mit anderen installierten Paketen geteilt werden. Dateien und INI-Einträge, die nach der Installation der Software erstellt wurden, werden bei der Deinstallation standardmäßig nicht entfernt. Der Anwendungsordner verbleibt auf dem Computer mit einigen angelegten Inhalten. Er sollte vom Packager erkannt und korrigiert werden. Benutzerspezifische Dateien und Registry-Einträge sollten nicht gelöscht werden. Reparaturablauf Die MSI Snapshot Reparatur ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Summen-Informationsstrom Titel = Installationsdatenbank Autor = ClueBiz Betreff = Paketname Kommentare = leer gelassen Stichwörter = Installieren,MSI Plattform = Intel oder x64 Installationsverzeichnis Standardmäßig wird das Installationsverzeichnis der Herstelleranwendungen verwendet. Wenn nichts anderes angegeben ist, sollten alle Anwendungen unter dem Verzeichnis "%ProgramFiles%" oder "%ProgramFiles(x86)%" installiert werden. Gemeinsam genutzte Dateien werden unter "%CommonProgramFiles%", "%ALLUSERPROFILE%", "%CommonProgramFiles(x86)%" installiert. Abweichungen sollten im Installationsdokument des Pakets definiert werden. Shortcuts Standardspeicherort der Anwendungsverknüpfungen ist der vom Software-Setup-Programm vorgeschlagene Ordner. Es sollten die Namen der Verknüpfungen des Herstellers verwendet werden. Allgemeine Regeln können vom Anwendungsbesitzer bei der Paketbestellung geändert werden. Die folgenden Verknüpfungen sollten bei der Setup-Erfassung ausgeschlossen werden: Desktop-Verknüpfungen, Schnellstart, Online- Updates, Online-Registrierung, andere Internet-Verknüpfungen, Online-Hilfe, Versionshinweise, Deinstallations-Verknüpfungen, ReadMe- Verknüpfungen. Verknüpfungen zu Hilfedateien sollten nur entfernt werden, wenn die Ziel-Hilfedatei aus der Anwendung heraus gestartet werden kann (z. B. durch Drücken von F1). Alle Verknüpfungen sollten ausgeschrieben werden, außer Verknüpfungen zu einem Ordner und Verknüpfungen zu einer externen Datei. Properties ALLUSERS 1 Installation pro Maschine unter Verwendung von Ordnern im Profil "Alle Benutzer". ARPNOMODIFY 1 Deaktiviert die Änderungsfunktionalität in ARP ARPPRODUCTICON file.ico Eintrag aus Icon-Tabelle LIMITUI 1 Die Ebene der Benutzeroberfläche (UI), die bei der Installation des Pakets verwendet wird, ist auf Basic beschränkt Hersteller Name des Herstellers der Anwendung ODER Wenn der Hersteller unbekannt ist, setzen Sie den Wert = ClueBiz MSIDISABLERMRESTART 1 Windows Restart Manager: Die Eigenschaft wird ignoriert, wenn der Neustart- Manager nicht verfügbar oder deaktiviert ist. MSIRESTARTMANAGERCONTROL Deaktivieren Windows-Neustart-Manager: Deaktiviert den Neustart-Manager MSIRMSHUTDOWN 2 Windows Restart Manager: Die Eigenschaft wird ignoriert, wenn der Neustart- Manager nicht verfügbar oder deaktiviert ist. Produktname Name der Anwendung entsprechend dem Eintrag im ARP ProduktVersion Version der Anwendung im ARP REBOOT ReallySuppress Unterdrückt alle Reboots und Reboot-Aufforderungen, die durch ForceReboot während der Installation ausgelöst werden. ROOTDRIVE C:\ Legt das Standardlaufwerk für das Zielverzeichnis der Installation fest. Features Snapshot erstellen (als MSI) Page 14 of 24
08.02.2022 02:55:54 Enthält das Installationspaket eine benutzerspezifische Konfiguration, die beim Start der Anwendung von einem MSI-Einstiegspunkt ausgeführt werden soll, sollte diese mit allen relevanten Anzeigen im Feature "UserPart" hinzugefügt werden. "UserPart" sollte das übergeordnete Feature des Hauptfeatures der Anwendung sein Begründung: Bei sehr großen Anwendungen trägt diese Strukturierung zu einer wesentlich schnelleren Umsetzung der Konfiguration bei. Feature UserPart Feature_Parent Title Benutzerteil Description Display 0 Level 1 Directory_ Attributes 32 Das Hauptmerkmal sollte wie folgt ausgefüllt werden: Feature Produktname ohne Leerzeichen und Punkte Feature_Parent UserPart Title Produktname ohne Leerzeichen und Punkte Description Display 0 Level 1 Directory_ Attributes 32 Components Komponenten, die Dateien vom Typ DLL, OCX, EXE, SYS, TLB, CHM in die Systemordner wie system32 oder %CommonProgramFiles% installieren, sollten die Option "Always increment shared .DLL count" haben (Attributwert der Komponente = 8 oder höher). Alle Komponenten, außer "CreateFolder", "INIFiles" und "RemoveFiles", müssen einen Keypath haben. Wenn eine Komponente eine DLL-, OCX-, EXE-, SYS- oder TLB-Datei enthält, muss diese Datei ein Schlüsselpfad der Komponente sein. Diese Komponenten dürfen nicht mehr als eine Datei enthalten. Wenn INI- oder Registry-Einträge für eine DLL-, OCX-, SYS- oder TLB-Datei benötigt werden, sollten diese Einträge und die Datei in derselben Komponente gespeichert werden. Kennzeichnen Sie Komponenten für 64Bit-Anteile korrekt (Attribut 256 + zusätzlich z.B. 8). Kleinbuchstaben in der GUID sind nicht erlaubt. Für eine neue Komponente muss eine neue GUID erzeugt werden. Pro-Maschine- und Pro-Benutzer-Daten in der gleichen Komponente sind verboten. Leere Komponenten müssen aus dem Paket entfernt werden. Current User Entries Wenn ein Paket Current-User-Einträge enthält, stellen Sie sicher, dass diese Einträge wirklich notwendig sind. Wenn nicht, können sie aus dem Paket entfernt werden. Wenn möglich, sollten alle Pro-Benutzer-Daten zu der Komponente namens CurrentUser gehören. Der Schlüsselpfad für eine Pro-Benutzer-Komponente muss ein Registry-Eintrag unter HKCU sein, der für jedes Paket eindeutig ist (z. B. Verwendung von PackageCode), um die Funktionalität der Selbstreparatur zu gewährleisten. Beispiel für einen Dummy-Schlüssel: Root Schlüssel Name Wert 1 SOFTWARE [Hersteller] [Produktname] Paketcode AktuellerBenutzer [Produktcode] ActiveSetup Im Falle von nicht beworbenen Verknüpfungen oder wenn die Daten pro Benutzer aktualisiert werden müssen und mit Standard-MSI-Mitteln nicht korrekt aktualisiert werden können, muss ein Active Setup in das Paket aufgenommen werden. Hier kann der -Abschnitt verwendet werden, der automatisch eine "ActiveSetup.vbs" im Hauptverzeichnis des Programms anlegt, die direkt bei der Installation für alle angemeldeten Benutzer ausgeführt wird, aber auch bei allen nachfolgenden Anmeldungen über die ActiveSetup.vbs angestoßen wird. Dateien Snapshot erstellen (als MSI) Page 15 of 24
08.02.2022 02:55:54 Alle *.log, uninstall* update* Dateien sollten aus dem Paket entfernt werden. Auch alle Verweise auf die entfernten Dateien in der Registry und der Shortcut-Tabelle sollten entfernt werden. Media/CABs Es sollte eine einzelne externe CAB-Datei verwendet werden. Die externe CAB sollte den Namen .cab tragen. INI-Dateien INI-Dateien sollten über die Tabelle "IniFile" installiert werden. Wenn eine Datei jedoch eine INI-Erweiterung und eine falsche interne Struktur hat, sollte die Datei direkt über die Tabelle File installiert werden. In Ausnahmefällen: Wenn die Reihenfolge der INI-Dateieinträge relevant ist und der IniFile-Tabellenmechanismus von MSI ungeeignete Ergebnisse liefert, ist es zulässig, INI-Dateien durch die gleichzeitige Verwendung von MSI-Datei-Tabelle und IniFile-Tabelle zu installieren. Wenn INI-Dateieinträge für DLL-, OCX-, SYS- oder TLB-Dateien erforderlich sind, sollten diese Einträge und die Datei in derselben Komponente gespeichert werden. Festcodierte Werte werden durch Eigenschaften ersetzt. Benutzerdefinierte Eigenschaften werden dem Paket hinzugefügt (um Hardcodes zu ersetzen usw.). Register Alle Registry-Einträge sollten über die Registry-Tabelle installiert werden. Die Ausnahme sind die Registry-Einträge, die unter HKEY_CLASSES_ROOT über die Tabelle Class, ProgId, Extension etc. installiert werden können. Die Verwendung der TypeLib-Tabelle wird nicht empfohlen. Alle HKCR\CLSID-, HKCR\TypeLib-, HKCR\Interface-Einträge sollten zu dem entsprechenden DLL/OCX-Komponentennamen gehören. Stellen Sie sicher, dass die Registrierungsschlüssel für die 64Bit-Registrierungsstruktur unter Verwendung einer 64Bit-Komponente installiert werden. Andernfalls werden sie in die 32Bit-Registrierungsstruktur installiert. Die Schlüssel sind auf hart kodierte Einträge zu untersuchen, z. B.: Rechnernamen, IP-Adressen, Portnummern usw. Diese Einträge sollten durch MSI-Eigenschaften ersetzt werden. Die Verwendung der SelfReg- Tabelle im Setup-Capture ist verboten. Dateizuordnungen Die Zuordnung von Dateierweiterungen muss über den MSI-Standardmechanismus (Erweiterungstabelle) erfolgen. Entsprechende Einträge in der Registry-Tabelle müssen entfernt werden. Umgebungsvariablen Werte übernehmen, wenn Umgebungsvariable bereits vorhanden. Bei der Installation angelegte Umgebungsvariable muss beim Entfernen des Pakets entfernt werden. Beispiel: *=Pfad Dienste Die Installation von Diensten sollte über die entsprechenden Tabellen (ServiceControl und ServiceInstall) und nicht direkt über die Registry- Einstellungen erfolgen. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services sollte nur dann geändert werden, wenn die Anwendung Dienstparameter benötigt, die nicht mit den MSI-Dienstetabellen selbst ausgeliefert werden. Während der Deinstallation der Anwendung sollten die installierten Dienste gestoppt und entfernt werden. ODBC ODBC-Einträge sollten über die entsprechenden Tabellen installiert werden und nicht über die direkte Installation der Registry-Einstellungen. ODBC-Einträge für 64Bit müssen über die Komponenteneigenschaften markiert werden. Ansonsten werden die ODBC-Einträge stattdessen in 32Bit geschrieben. Es ist auch erlaubt, ODBC-Einträge über die Registry-Tabelle zu installieren. Benutzerdefinierte Aktionen Benutzerdefinierte Aktionen können nur in Ausnahmefällen verwendet werden. Alle benötigten erweiterten Aktionen sollten über die Deploy.xml implementiert werden. Sicherheitsberechtigungen Zugriffsberechtigungen für Dateien, Ordner, Registrierungsschlüssel und Dienste (falls erforderlich) werden durch Anweisungen in der deploy.xml festgelegt, die nach der Installation ausgeführt werden. Es sollten die Dienstprogramme SECEDIT oder icacls verwendet werden. LockPermissions, MsiLockPermissionsEx Tabelle sind verboten. Paketüberprüfung Bei der MSI-Validierung wird die Konsistenz und referenzielle Integrität der MSI-Dateidatenbank überprüft. Dies geschieht mit sogenannten ICE- Tests (Internal Consistency Evaluators). Snapshot erstellen (als MSI) Page 16 of 24
08.02.2022 02:55:54 Die Standardvalidierung mit der "Full MSI Validation Suite" muss verwendet werden. Die Validierung sollte mit der "Full Windows Validation Suite" durchgeführt werden (alle ICE-Tests sollten ausgeführt werden), es sollten keine ERRORS in der MSI-Datei vorhanden sein und es sollten nur bestimmte Warnungen erlaubt sein. Nachfolgend finden Sie eine Liste der erlaubten Fehler/Warnungen in einer ICE-Validierung: ICE03 (Fehler): Nur Fehler, die "String-Überlauf (größer als die erlaubte Länge in der Spalte)" anzeigen. ICE33 (Warnung) ICE48 (Warnung) ICE49 (Warnung) ICE51 (Warnung) ICE60 (Warnung) ICE90 (Warnung) ICE91 (Warnung) Konvertierung zu App-V Übersicht App-V Pakete werden auf Wunsch für den Kunden erstellt, wenn er diese Technologie im Einsatz hat. App-V Pakete sind speziell geeignet für parallele Installationen und eine fehlerfreie Installation/Deinstallation. Da App-V Pakete komplett neu erstellt werden, erlischt aber in den meisten Fällen der Support vom Hersteller. Microsoft Application Virtualization (App-V) ist eine Anwendungsvirtualisierungslösung von Microsoft. Sie hilft Unternehmen, ihren Endanwendern den Zugriff auf praktisch jede Anwendung an jedem Ort zu ermöglichen, ohne Anwendungen direkt auf dem Computer zu installieren. Durch den Einsatz der App-V-Technologie können technische Abteilungen die Softwarebereitstellung und präzise Verteilung für eine stabile und produktive Benutzerumgebung effektiv verwalten. Was ist der Zweck der Virtualisierung? Sie bietet die Agilität, Skalierbarkeit und Kosteneinsparung, die in den heutigen Geschäftsszenarien erforderlich sind. Sie reduziert: -Ausfallzeiten der Infrastruktur. -Spart Zeit und Ressourcen, die für die Bereitstellung von Betriebssystemen für Benutzer aufgewendet werden. -Spart Zeit für die Fehlersuche bei Anwendungsinstallationen. -Mehrere Versionen der gleichen Anwendung können auf dem gleichen Rechner bereitgestellt werden. App-V-Pakete werden bei Bedarf für den Kunden erstellt, wenn er diese Technologie im Einsatz hat. App-V-Pakete eignen sich besonders für parallele Installationen und eine fehlerfreie Installation/Deinstallation. Technische Referenzen https://docs.microsoft.com/en-us/microsoft-desktop-optimization-pack/appv-v5/technical-reference-for-app-v-51 http://download.microsoft.com/download/F/7/8/F784A197-73BE-48FF-83DA-4102C05A6D44/App-V%205.0%20Sequencing%20Guide.docx Erstellung App-V Pakete werden über Root Packages automatisch erstellt. Das Verfahren ist untenstehende beschrieben: 1. Die Hersteller-Sourcen müssen entweder als msi, zip oder exe bereit stehen 2. Die Hersteller-Sourcen müssen temporär lokal entpackt werden, bei MSI ist das eine Administrative installation, bei exe kann das entweder über Parameter oder über 7Zip erreicht werden. Im schlechtesten Fall müssen die Sourcen über eine physikalische Installation entpackt werden. 3. Es muss ein Folder-Mapping erstellt werden, wo werden die entpackten Verzeichnisse später im App-V erscheinen (z.B. PFiles\Firefox -> [ProgramFilesX64]\Firefox 4. Shortcuts und Anpassungen müssen im Root Paket vorhanden sein 5. Extensions, ProgID und Verbs müssen im Root Paket manuell erfasst oder über ein MSI importiert werden 6. Die Paketierung passiert danach vollautomatisch über den Roboter In Ausnahmefällen kann eine Applikation auch über den Sequencer von Microsoft erstellt werden, bevorzugt wird aber das automatisierte Verfahren, da es erheblich schneller geht und keine Restspuren von der Sequencing Maschine enthält. Konvertierung zu App-V Page 17 of 24
08.02.2022 02:55:54 Installationsablauf Die App-V Installation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Deinstallationsablauf Die App-V Deinstallation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Reparatursablauf Die App-V Reparatur ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Shortcuts Die Shortcuts werden direkt und automatisiert aus dem .manifest file entpackt Verteilmechanismen Microsoft Streaming Server Pakete werden erst beim Aufruf "gestreamt", nur Dateien, welche wirklich benutzt werden, werden kopiert. Local Installation Die Software kann über das Deliveries_Setup.exe direkt auf dem Gerät installiert werden Kompatibilität Nicht alle Anwendungen können sequenziert werden, da es Einschränkungen bei App-V gibt: Einschränkung Beschreibung Anwendungen, die Dienste beim Booten starten App-V erfordert einen angemeldeten Benutzer, um den Start einer Anwendung zu initiieren. App-V kann Treiber nicht virtualisieren. Es ist möglich, dieses Problem zu umgehen und den Treiber lokal auf dem Zielcomputer zu installieren. Dazu gehören Antiviren- Anwendungen, die Gerätetreiber benötigen Software, VPN-Clients, Personal Firewalls und Dienstprogramme zum Einhängen von Festplatten und Volumes. Einige Benutzermodus-Gerätetreiber können virtualisiert werden. Anwendungen, die Teil des Betriebssystems sind Zum Beispiel der Internet Explorer Anwendungen, die COM+ verwenden Da COM+ dynamisch ist und zur Laufzeit geschieht, gibt es keine Möglichkeit für den Sequencer, diese Informationen zu erfassen. COM-DLL-Surrogat-Virtualisierung Zum Beispiel DLLs, die in Dllhost.exe laufen Anwendungsgruppen, VBScripts, Updates, PVAD Das Hauptverzeichnis der Applikation wird als "Opaque" markiert, damit wird sichergestellt, dass kein Konflikt mit einer physikalischen Installation auf dem Hostsystem entsteht Full Access auf VFS wird nur auf Bedarf aktiviert PVAD wird nicht benutzt Konvertierung zu MSIX Übersicht MSIX ist ein Paketformat für Windows-Apps, das eine moderne Verpackungsoberfläche für alle Windows-App zur Verfügung stellt. Beim MSIX- Paket wird die Funktionalität von vorhandenen App-Paketen und/oder Installationsdateien beibehalten, und es werden neue, moderne Verpackungs- und Bereitstellungsfeatures für Win32-, WPF- und Windows Forms-Apps ermöglicht. MSIX ermöglicht es Unternehmen, auf dem neuesten Stand zu bleiben und sicherzustellen, dass ihre Anwendungen immer auf dem neuesten Stand sind. Es ermöglicht es IT-Experten und Konvertierung zu MSIX Page 18 of 24
08.02.2022 02:55:54 Entwicklern, eine benutzerorientierte Lösung bereitzustellen und gleichzeitig die Gesamtbetriebskosten der Anwendung durch die Reduzierung der Notwendigkeit einer erneuten Verpackung zu senken. Referenzen https://docs.microsoft.com/en-us/windows/msix/ https://store.rg-adguard.net/ Erstellung MSIX Pakete werden über Root Packages automatisch erstellt. Das Verfahren ist untenstehende beschrieben: 1. Die Hersteller-Sourcen müssen entweder als msi, zip oder exe bereit stehen 2. Die Hersteller-Sourcen müssen temporär lokal entpackt werden, bei MSI ist das eine Administrative installation, bei exe kann das entweder über Parameter oder über 7Zip erreicht werden. Im schlechtesten Fall müssen die Sourcen über eine physikalische Installation entpackt werden. 3. Es muss ein Folder-Mapping erstellt werden, wo werden die entpackten Verzeichnisse später im App-V erscheinen (z.B. PFiles\Firefox -> [ProgramFilesX64]\Firefox 4. Shortcuts und Anpassungen müssen im Root Paket vorhanden sein 5. Extensions, ProgID und Verbs müssen im Root Paket manuell erfasst oder über ein MSI importiert werden 6. Die Paketierung passiert danach vollautomatisch über den Roboter In Ausnahmefällen kann eine Applikation auch über den Sequencer von Microsoft erstellt werden, bevorzugt wird aber das automatisierte Verfahren, da es erheblich schneller geht und keine Restspuren von der Sequencing Maschine enthält. Die erstellte AppV-Datei kann danach durch den Roboter in ein MSIX konvertiert werden. Installationsablauf Die MSIX Installation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Deinstallationsablauf Die MSIX Deinstallation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Reparaturablauf Die MSIX Reparatur ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Kompatibilität Es gelten die gleichen Einschränkungen wie bei App-V, zusätzlich aber noch weitere: 1. Falls die Applikation administrative Rechte benötigt, kann Sie nicht als MSIX bereitgestellt werden 2. Es kann nur ein Shortcut erstellt werden Verteilung MSI-X Update Mechanismus Bei jedem Aufruf der Software wird auf dem Webserver überprüft, ob bereits eine neue Version vorhanden ist. Das Update wird automatisch heruntergeladen und installiert. Local Installation Die Software kann über das Deliveries_Setup.exe direkt auf dem Gerät installiert werden Konvertierung zu PSFX Übersicht Konvertierung zu PSFX Page 19 of 24
08.02.2022 02:55:54 Das PSFX Framework von Cluebiz ist eine Erweiterung zu bestehenden MSIX-Paketen. Mögliche Einsatzgebiete sind: Treiber Services Ganze Native-Installationen wie VPN-Softwares Download https://productive.cluebiz.ch/fragments2/CluebizData/clients/e2ef5b9c-2757-4399-94b3-9042134c3284/msix/256b7e9d-dade-483b-a224- 37bcf938b109-x64-MUI-1.1.0.0.msix Anwendung 1. Erstellen Sie im Root Ihres MSIX-Paketes ein Verzeichnis "externalscripts" 2. Erstellen Sie nun ein powershell "install.ps1" in diesem Verzeichnis 3. Fügen Sie den gewünschten Code in Ihr Powershell, dieser wird später mit erhöhten Rechten durch den Service ausserhalb des Containers ausgeführt 4. Erstellen Sie ausserdem ein "uninstall.ps1", wenn Sie die Komponenten wieder entfernen möchten Auführung 1. Installieren Sie den PSFX Service 2. Installieren Sie danach Ihr MSIX-Paket 3. Es wird automatisch ein Verzeichnis c:\ProgramData\PSFXService\%paketname% angelegt 4. Die Datei install.ps1 wird automatisch von c:\ProgramData\PSFXService\%packagename% ausgeführt 5. Überprüfen Sie das Verzeichnis "%TEMP%" nach einer Log-Datei 6. Deinstallieren Sie nun Ihr MSIX-Paket 7. Die Datei uninstall.ps1 wird automatisch von c:\ProgramData\PSFXService\%packagename% ausgeführt 8. Das Verzeichnis c:\ProgramData\PSFXService\%packagename% wird gelöscht Docker Snapshot erstellen Übersicht Docker ist ein Open Source-Projekt zur Automatisierung der Bereitstellung von Apps als mobile, eigenständige Container, die in der Cloud oder lokal ausgeführt werden können. Docker ist darüber hinaus ein Unternehmen, das diese Technologie fördert und weiterentwickelt und mit Cloud- , Linux- und Windows-Anbietern zusammenarbeitet, einschließlich Microsoft. Referenzen https://docs.microsoft.com/en-us/dotnet/architecture/microservices/container-docker-introduction/ Erstellung https://blog.sixeyed.com/how-to-dockerize-windows-applications/ Installationsablauf Die Docker Installation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Deinstallationsablauf Die Docker Deinstallation ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Reparaturablauf Die Docker Reparatur ist ein standartisierter Ablauf, der keine spezielle Anpassung benötigt. Docker Snapshot erstellen Page 20 of 24
Sie können auch lesen