Post on 28-May-2020
Enterprise (Universal) App Deployment
Voraussetzungen
Workflow
Live Demo
Zusammenfassung
Agenda
Enterprise (Universal) App Deployment
Einheitlicher Workflow und FunktionenWindows und Windows Phone teilen sich einen gemeinsamen Workflow und
die meisten Enterprise Funktionen
Universelles Konzept, unterschiedliche UmsetzungNoch keine vollständige Harmonisierung zwischen Windows und Windows Phone in der
tatsächlichen Umsetzung
VoraussetzungenWindows
Ein (selbstausgestelltes) Zertifikat
• wird benötigt für die Signierung des App
Pakets und
• muss auf den Zielgeräten in
Vertrauenswürdige
Stammzertifizierungsstellen (Trusted Root
Certification Authority) installiert sein
• Beliebige Laufzeit
Gerät muss für Sideloading vorbereitet sein
• Mitglied einer Domäne oder über
Lizenzschlüssel
• Gruppenrichtlinie „Installation aller
vertrauenswürdigen Anwendungen zulassen“
(„Allow all trusted apps to install”) aktiviert
Windows Phone
Unternehmensaccount (einmalig 75 Euro)
Symantec Zertifikat wird benötigt für die
• Signierung des App Pakets und die
• Installation der App auf dem Endgerät
• 1 Jahr Laufzeit
• $299,00/Jahr
Breaking News
Mit Windows 8.1 Update werden für
Geräte innerhalb von Domänen
keine Sideloading Schlüssel mehr
benötigt.
Windows Version & Lizenzschlüssel
Lizenz-
form
Windows 8.1 Pro oder
Windows 8.1 Enterprise
und Mitglied einer Domäne
Kein Lizenzschlüssel
erforderlich
Enterprise Agreement
Enterprise Subscription Agreement
Enrollment for Education Solutions (under
a Campus and School Agreement)
School Enrollment
Select and Select Plus
Kostenfreier
Lizenzschlüssel
Alle anderen
$100 Sideloading Key für
eine unbegrenze Anzahl an
Geräten (Open License
Program)
Zertifikate für Windows Phone Apps
Kontotyp Unternehmen
Publisher name, der auf dem Endgerät gezeigt wird
Unternehmen muss zustimmen
Private key, CSR, Zertifikat gelten für einen PC
Zertifikate für Windows Phone Apps
Herausgeber
Gültigkeitszeitraum
Publisher name
Publisher ID
Verwendungszweck
(EKU)
Windows Phone App Registrierung
App enrollment token (AET) wird jährlich mit Hilfe der aus dem Symantec Zertifikat
generierten PFX Datei (Personal Information Exchange) und dem AETGenerator
Werkzeug erzeugt.
Wird per MDM oder E-Mail/Browser auf dem Telefon installiert.
Wird auf gültige Signartur und Ablaufdatum überprüft.
Publisher Id der AET und der Apps müssen identisch sein.
Bei jedem App Start wird das zugehörige AET gesucht und validiert.
Workflow
Entwickler-PC oder Build Server Geräte der Anwender
Build Test Prepare Deploy Manage
WorkflowBuild Test Prepare Deploy Manage
Keine App Zertifizierung/Review durch Microsoft.
Verantwortung für die App liegt vollständig beim Unternehmen/Autor. Die Windows
Store Richtlinien sind (meist) auch für Sideloading Apps sinnvoll.
Höhere Flexibilität für Entwickler durch Sonderrechte für Apps beim Sideloading
Mögliche Einschränkungen bei Push Benachrichtigungen
Sonderrechte beim SideloadingRegeln zur prozessübergreifenden Kommunikation treffen jetzt nur noch auf
Apps zu, die über den Windows Store ausgeliefert werden.
Es gibt keine Einschränkungen mehr bei der prozessübergreifenden
Kommunikation für Apps, die per Sideloading verteilt werden.
Interaktion mit Desktop AnwendungenWindows 8.1 Update erlaubt Apps, die über Sideloading verteilt werden mit Desktop
Anwendungen über zwei Mechanismen zu interagieren:
Brokered WinRT Component
App Container
Windows
Runtime App
Broker
Managed
WinRT
Component
Desktop
.NET
Framework,
Win32
Network Loopback (aka localhost)
Local
Service
App Container
Windows
Runtime App
Desktop
.NET
Framework,
Win32
Interaktion mit Desktop AnwendungenVorgehensweisen im Vergleich
Brokered WinRT Component Network Loopback
Benötigt Windows 8.1 Update Funktioniert mit Windows 8 and 8.1
WinRT Programmiermodell WCF oder REST Programmiermodell
Lädt Komponenten nach Bedarf Service Prozess muss immer laufen
App kann über Callbacks aktiviert werden Netzwerk Callbacks können die App nicht
aktivieren
//build 2014 session 2-515, Respecting Your Investments: How to Leverage Your Existing Code In a New Windows Runtime LOB App
Push Benachrichtungen
App TypWindows Notification Service
(WNS)
Microsoft Push Notification
(MPN)
Windows Runtime App (APPX)* 8.1 Nicht unterstützt
Windows Phone Silverlight
App (XAP)8.1 8.0/8.1
Windows Runtime Phone App
(APPX auf WP)*Nicht unterstützt Nicht unterstützt
* APPX Dateien, die mit einem Symantec Zertifikat signiert wurden, können WNS
nicht nutzen
WorkflowBuild Test Prepare Deploy Manage
Mit den verfügbaren Testkits können Sideloading Apps überprüft werden.
WACK (Windows App Certification Kit) und MPTK (Marketplace Test Kit) führen
ähnliche Prüfungen wie der Windows Store durch.
WorkflowBuild Test Prepare Deploy Manage
Beim Sideloading werden App Pakete durch das Unternehmen selbst signiert.
Publisher Display Name im Package.appxmanifest muss identisch sein mit dem
Herausgeber des Zertifikats, z.B. CN=Philipp.Bauknecht
Zum Signieren des Pakets muss zunächst eine PFX Datei (Personal Information
Exchange) aus dem Zertifikat erstellt werden.
Anschließend kann das appx Paket mit Hilfe der PFX Datei signiert werden und ist
damit bereit zur Verteilung.
WorkflowBuild Test Prepare Deploy Manage
Windows
1. Gruppenrichtlinie „Installation aller
vertrauenswürdigen Anwendungen
zulassen“ („Allow all trusted apps to
install”) aktivieren
2. Zertifikat in Vertrauenswürdige
Stammzertifizierungsstellen (Trusted Root
Certification Authority) installieren
3. App Paket per Powershell-Skript
installieren
Windows Phone
1. Installation AET (App Enrollment Token)
2. Installation App Paket
Beide Dateien können wahlweise per MDM
(z.B. Windows Intune), E-Mail, Webseite oder
App heruntergeladen und installiert werden.
WorkflowBuild Test Prepare Deploy Manage
Deployment-Varianten Windows
Installation Provisionierung
• Registriert die App für den Benutzer
• Installation stets pro Benutzer
• Benötigt keine Administrationsrechte
• Per Sideloading oder vom Windows Store
• Registriert die App auf dem Computer
• Installation automatisch für alle Benutzer
• Benötigt Administrationsrechte
• Nur für Sideloading
Installation mit
• Powershell cmdlets oder
• MDM Agent in Windows 8.1
Provisionierung mit
• DISM (Deployment Image Servicing and
Management) oder
• Powershell cmdlts
WorkflowBuild Test Prepare Deploy Manage
Powershell Befehle
Installation Provisionierung
Add-AppxPackage
Get-AppxPackage
Remove-AppxPackage
Get-AppxLastError
Get-AppxLog
Get-AppxPackageManifest
Add-AppxProvisonedPackage
Get-AppxProvisionedPackage
Remove-AppxProvisionedPackage
Live DemoSideloading Workflow für Windows und
Windows Phone Apps
Schritt-für-Schritt Anleitung Windows1. Publisher aus Package.appxmanifest auslesen, z.B. “CN=Philipp.Bauknecht”
2. Zertifikat erstellen mit Werkzeug MakeCert.exe (C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\x64),
z.B. MakeCert /n "CN=Philipp.Bauknecht" /r /h 0 /eku "1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.10.3.13" /e 12/31/2050 /sv
SideloadingSampleKey.pvk SideloadingSampleKey.cer
3. PFX Datei (Personal Information Exchange) aus Zertifikat erstellen mit Werkzeug Pvk2Pfx.exe (C:\Program Files
(x86)\Windows Kits\8.1\bin\x64), z.B. Pvk2Pfx /pvk SideLoadingSampleKey.pvk /spc SideLoadingSampleKey.cer /pfx
SideLoadingSampleKey.pfx
4. App Paket in Visual Studio erstellen (Rechtsklick Projekt > Store > Create App Package)
5. App Paket mit PFX Datei signieren mit Werkzeug SignTool.exe (C:\Program Files (x86)\Windows Kits\8.1\bin\x86),
z.B. SignTool sign /fd SHA256 /a /f SideLoadingSampleKey.pfx SideLoadingSample.appx
Schritt-für-Schritt Anleitung Windows (Fortsetzung)6. Zertifikat auf dem Zielgerät installieren, z.B. CertUtil –addStore TrustedPeople SideloadingSampleKey.cer
7. Gruppenrichtlinie “Installation aller vertrauenswürdigen Apps zulassen” aktivieren mit Gruppenlinieneditor
gpedit.msc.
Deutsch
Computerkonfiguration/Administrative Vorlagen/Windows-Komponenten/Bereitstellung von App-Paketen/
Installation aller vertrauenswürdigen Apps zulassen
English
Computer Configuration/Administrative Templates/Windows Components/App Package Deployment/
Allow all trusted apps to install
8. App Paket installieren über PowerShell, z.B. add-appxpackage SideloadingSample.appx
Schritt-für-Schritt Anleitung Windows Phone1. AET (Application Enrollment Token) erstellen mit Werkzeug AETGenerator.exe (C:\Program Files (x86)\Microsoft
SDKs\Windows Phone\v8.1\Tools\AETGenerator), z.B. AETGenerator.exe symantec.pfx Medialesson!2014
2. App Paket in Visual Studio erstellen (Rechtsklick Projekt > Store > Create App Package)
3. App Paket mit PFX Datei signieren mit PowerShell-Skript BuildMDILAPPX.ps1 (C:\Program Files (x86)\Microsoft
SDKs\WindowsPhoneApp\v8.1\Tools\MDILXAPCompile). Dabei müssen die Parameter $pfxfilename und
$password angepasst werden.
4. AET Datei und signiertes App Paket z.B. per E-Mail an das Zielgerät senden.
5. AET Datei herunterladen und öffnen
6. App Paket herunterladen und öffnen
WorkflowBuild Test Prepare Deploy Manage
Windows und Windows Phone Geräteregistrierung
Voraussetzung für das Gerätemanagement ist die Registrierung. Hierzu können
Softwarelösungen basierend auf OMA-DM (Open Mobile Alliance Device
Management) zur Verwaltung aller Versionen von Windows 8.1, Windows Phone 8.0
und 8.1 verwendet werden.
Die Geräte werden über OMA-DM Managementtools (z.B. Windows Intune, Mobile
Iron oder AirWatch) konfiguriert. Dabei können Richtlinien, benötigte Schlüssel und
Zertifikate per Push auf das Gerät übertragen werden.
WorkflowBuild Test Prepare Deploy Manage
Zugrif begrenzen
Zugriff auf den Windows Store und den Internet Explorer können über die
Geräteverwaltung gesperrt werden.
Über App Richtlinien (Blacklist oder Whitelist) kann die Nutzung von Apps beschränkt
werden.
WorkflowBuild Test Prepare Deploy Manage
Windows Phone App Management
Feature Managed Unmanaged
Registrierungsmethode Workplace app + MDM Email/Browser
Anzahl parallele Registrierungen Begrenzt auf 1 Unbegrenzt
Richtlinienverwaltung Ja Nein
App Installationsmethode MDM/Company Hub Email/Browser/Company Hub
App Inventarisierung MDM/Company Hub Company Hub
App Installation per Push MDM Nein
App Deinstallation per Push MDM Nein
App Updates per Push MDM Nein
Deregistrierung Remote und lokal Lokal
WorkflowBuild Test Prepare Deploy Manage
Windows Phone Company Hub
API Feature WP 8 WP 8.1
Liste installierter Apps abrufen Ja Ja
Apps starten Ja Ja
Signierte Apps installieren Ja Ja
Metadaten abnrufen Nein Ja
Registrierung erneuern Nein Ja
Deregistrieren Nein Ja
Enterprise Phone Home auslösen Nein Ja
Company Hubs müssen Silverlight Apps sein.
WorkflowBuild Test Prepare Deploy Manage
Phone Home Prozess
Das Telefon sendet Geräte Id, Publisher Id und Enterprise App Ids an den Windows Phone
Service
Das Telefon erhält einen Status pro Unternehmen.
Apps von ungültigen Unternehmen werden beim Installieren und Starten blockiert.
Der Prozess wird täglich und beide jeder Unternehmensregistrierung ausgeführt.
Nach 7 aufeinanderfolgenden fehlgeschlagenen Kommunikationsversuchen wird die
Installation von Unternehmens-Apps blockiert. Installierte Apps können aber weiterhin
ausgeführt werden.
WorkflowBuild Test Prepare Deploy Manage
Phone Home Prozess // Kommunikationsbeispiel
Request
Response
Sideloading mit Windows 8.1 Update wurde weiter vereinfacht.
Prozess unterscheidet sich noch leicht in der Umsetzung zwischen
Windows und Windows Phone.
Ziel ist die weitere Vereinheitlichung des Deployment Prozesses.
Zusammenfassung
RessourcenWindows Client
Windows Sideloading: http://aka.ms/lanmep
AppLocker Step-by-Step Guide: http://aka.ms/X21isi
Notification Services: http://aka.ms/Iqqonk
Windows Phone
Company app distribution: http://aka.ms/wp8companyhub
Create a Company Hub App blog: http://aka.ms/E7c6xc
MDM whitepaper: http://aka.ms/V0h3v6
WACK Allgemeine Hinweise und Download
http://msdn.microsoft.com/en-us/library/windows/apps/hh694081.aspx
WACK Übersicht der Tests
http://msdn.microsoft.com/en-us/library/windows/apps/jj657973.aspx
Symantec Zertifikat für Windows Phone anfordern
http://blogs.msdn.com/b/wsdevsol/archive/2013/05/01/windows-phone-8-how-to-aquire-enterprise-mobile-code-signing-
certificate-required-to-sign-lob-or-company-apps.aspx
Windows Store Richtlinien
http://msdn.microsoft.com/de-de/library/windows/apps/hh465424.aspx
Sonderrechte für Sideloading Apps, //build 2014 session 2-515, Respecting Your Investments: How to Leverage Your Existing Code
In a New Windows Runtime LOB App
http://channel9.msdn.com/Events/Build/2014/2-515
Fragen?
© 2014 Microsoft Corporation. All rights reserved. Because
Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft,
and Microsoft cannot guarantee the accuracy of any information
provided after the date of this presentation. MICROSOFT MAKES
NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE
INFORMATION IN THIS PRESENTATION.
Vielen Dank