Mit Windows 10’s Anniversary Update Microsoft ermöglicht Entwicklern die Konvertierung traditioneller Windows-Desktopanwendungen in UWP-Anwendungen (Universal Windows Platform). Aber jeder kann dies mit jeder App tun - nicht nur mit Entwicklern.
Geben Sie dem Windows 10-Konverter einfach eine MSI- oder EXE-Datei und er spuckt ein APX-Paket aus. Sie können diese App dann auf Ihrem eigenen PC von der Seite laden oder - wenn Sie Entwickler der Anwendung sind - die resultierende UWP-App an den Windows Store senden. Diese Funktion ist für alle Benutzer mit dem Jubiläumsupdate von Windows 10 verfügbar. viele "Legacy" -Anwendungen in den Windows Store bringen .
Warum möchten Sie dies tun?
VERBUNDEN: Was ist neu im Jubiläums-Update von Windows 10?
Diese Funktion ist das Endergebnis von Microsoft Project Centennial, mit dem diese "älteren" Win32- und .NET Windows-Desktopanwendungen in den Windows Store und auf die neue universelle Windows-Plattform gebracht werden sollen.
Sie fragen sich vielleicht, warum jemand eine Desktop-Anwendung in eine neue UWP-App konvertieren möchte. Zum einen sind im Windows Store nur UWP-Apps zulässig. Auf diese Weise können Entwickler ihre Apps viel genauer betrachten, ganz zu schweigen von der Installation per Mausklick, dem einfachen Kauf und automatischen Updates.
Die neue UWP-Anwendungsplattform von Microsoft verfügt über eine Sandbox, Desktop-Apps, die Sie konvertieren, jedoch nicht. Diese Anwendungen haben wie eine herkömmliche Desktop-Anwendung vollen Zugriff auf Ihr System. Wie Microsoft’s documentation sagt: „Als UWP-App kann Ihre App die Dinge tun, die sie als klassische Desktop-App tun könnte. Es interagiert mit einer virtualisierten Ansicht der Registrierung und des Dateisystems, die nicht von der tatsächlichen Registrierung und dem Dateisystem zu unterscheiden ist. "
Die Einschränkungen
VERBUNDEN: So werden Sie Windows Insider und testen neue Windows 10-Funktionen
Hier gibt es einige wichtige Einschränkungen. Erstens können Sie dies nur beim Windows 10-Jubiläumsupdate tun. Derzeit funktioniert es mit Windows 10 Insider Preview Build 14316 und höher, sodass Sie dem Windows Insider-Programm und beitreten müssen Verwenden Sie einen Insider Preview-Build von Windows 10 .
Für diese Funktion ist auch die Professional- oder Enterprise-Edition von Windows 10 erforderlich. Benutzer von Windows 10 Home können den Desktop App Converter nicht verwenden. Ab Build 14316 funktionierte es nur unter Windows 10 Enterprise, aber Windows 10 Professional wird unterstützt. Derzeit kann dieses Tool nur unter 64-Bit-Versionen von Windows verwendet werden, und das resultierende AppX-Paket kann nur unter 64-Bit-Versionen von Windows installiert werden. Dies wird sich in zukünftigen Insider-Builds von Windows 10 ändern.
Die resultierenden Anwendungen sind für Windows 10-PCs vorgesehen. Sie funktionieren nicht auf Windows 10 Mobile-Smartphones, Xbox One, HoloLens, Surface Hub und den anderen Windows 10-Plattformen, auf denen UWP-Apps ausgeführt werden. Als Entwickler bietet Microsoft jedoch einen Weg, um Ihre Desktop-Anwendung in eine plattformübergreifende UWP-Anwendung zu integrieren: „Wenn Sie alle Funktionen Ihrer App aus der voll vertrauenswürdigen Partition der App in die verschieben möchten App-Container-Partition, dann kann Ihre App auf jedem Windows 10-Gerät ausgeführt werden. “
Einige Arten von Anwendungsverhalten werden jedoch nicht unterstützt. Eine Anwendung kann nicht erfordern, dass sie als Administrator ausgeführt wird oder andere Arten des Systemzugriffs auf niedriger Ebene verwendet. Microsoft bietet eine Liste von Verhaltensweisen, die nicht erlaubt sind .
So richten Sie den Desktop App Converter ein
Angenommen, Sie verwenden eine ausreichend neue Version der Windows 10 Insider-Vorschau, können Sie die herunterladen und installieren Desktop App Converter von der Microsoft-Entwickler-Website. Laden Sie die Dateien DesktopAppConverter.zip und BaseImage-14316.wim herunter. Extrahieren Sie die heruntergeladene Datei DesktopAppConverter.zip in einen Ordner auf Ihrem Computer und legen Sie die BaseImage-Datei im selben Verzeichnis ab. (Wenn ein neuer Build von Windows 10 verfügbar ist, sollte eine neue BaseImage-Datei angezeigt werden. Sie müssen die BaseImage-Datei mit derselben Versionsnummer wie Ihr installierter Build von Windows 10 verwenden.)
Sie müssen auch das herunterladen und installieren Windows 10 SDK .
Öffnen Sie als Nächstes ein PowerShell-Fenster als Administrator. Öffnen Sie dazu das Startmenü, suchen Sie nach "PowerShell", klicken Sie mit der rechten Maustaste auf die Verknüpfung und wählen Sie "Als Administrator ausführen".
Ändern Sie die Ausführungsrichtlinie von PowerShell, indem Sie den folgenden Befehl ausführen. Stimmen Sie der Änderung durch Eingabe zu
Y.
danach.
Set-ExecutionPolicy-Bypass
Führen Sie den folgenden Befehl aus und ersetzen Sie ihn
C: \ Benutzer \ NAME \ Downloads \ DesktopAppConvertor
mit dem Pfad zum Verzeichnis auf Ihrem Computer:
cd -Path C: \ Benutzer \ NAME \ Downloads \ DesktopAppConvertor
Richten Sie den Desktop App Converter ein, indem Sie den folgenden Befehl ausführen:
. \ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
Wenn Sie beim Ausführen eines dieser Befehle zum Neustart aufgefordert werden, starten Sie Ihren Computer neu und führen Sie den Befehl erneut aus.
So konvertieren Sie eine Desktop-Anwendung
Sie können jetzt die ausführen
DesktopAppConverter.ps1
Skript aus einem Administrator-PowerShell-Fenster zum Konvertieren einer Desktop-Anwendung in eine UWP-Anwendung in einem einzigen Befehl. Dazu benötigen Sie das Installationsprogramm der Anwendung. Als Beispiel verwenden wir hier VLC.
Um die detaillierte Liste der Optionen anzuzeigen, können Sie jederzeit den folgenden Befehl ausführen:
get-help. \ DesktopAppConverter.ps1 -detailed
Hier ist ein Befehl, den Sie verwenden und für Ihre Anwendung anpassen können:
. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 –Installer C: \ Installer \ MyApp.exe -InstallerArguments "/ S" -Ziel C: \ Output \ MyApp -PackageName "MyApp" -Publisher "CN = <Publisher_name>" -Version 0.0.0.1 -MakeAppx -Verbose
Sie müssen den Befehl anpassen, um Ihren eigenen Herausgebernamen, Ihre eigene Version und Ihren eigenen Paketnamen hinzuzufügen und auf die Installationsdatei und das Zielverzeichnis zu verweisen, die Sie bevorzugen. Das
-InstallerArguments "/ S"
Option hier besteht die
/ S.
Wechseln Sie zum Installationsprogramm, wodurch viele Anwendungsinstallationsprogramme ohne Benutzereingabe unbeaufsichtigt installiert werden. Anwendungen müssen ohne Benutzereingabe installierbar sein, sonst können Sie sie nicht konvertieren.
Das Installationsprogramm der Anwendung sollte sich in einem eigenen Verzeichnis ohne andere Dateien befinden, da die Dateien im selben Verzeichnis wie das Installationsprogramm in das resultierende APX-Paket kopiert werden.
Zum Beispiel verwenden wir hier VLC. Hier ist also der Befehl, den wir verwenden würden:
. \ DesktopAppConverter.ps1 -ExpandedBaseImage C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 –Installer C: \ Benutzer \ chris \ Downloads \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S" -Ziel C: \ Output \ VLC -PackageName "VLC" -Publisher "CN = VideoLAN" -Version 0.2.2.2 -MakeAppx -Verbose
Das Tool gibt Ihnen ein .appx-Paket, bei dem es sich um die UWP-Version der App handelt.
So installieren Sie die App, ohne sie zu signieren
Normalerweise müssen Sie Apps mit einer gültigen Signatur signieren, bevor sie installiert werden können. Microsoft empfiehlt, ein selbstsigniertes Zertifikat zu erstellen und die App damit auf Ihrem Computer zu signieren. Sie können dies anhand der folgenden Anweisungen tun, wenn Sie möchten.
Wenn Sie die App jedoch nur auf Ihrem eigenen Computer installieren möchten, können Sie dies schneller selbst tun, ohne sich mit Signaturen herumschlagen zu müssen. Mit Windows 10 können Sie Apps installieren, ohne sie zu signieren, wenn Sie eine "entpackte" App aus einem Verzeichnis installieren.
Öffnen Sie dazu ein PowerShell-Fenster als Administrator und führen Sie den folgenden Befehl aus:
Add-AppxPackage -Path C: \ Pfad \ zu \ AppxManifest.xml -Register
Sie finden die Datei AppxManifest.xml neben der Datei Application.appx in dem von Ihnen angegebenen Ausgabeverzeichnis.
Sie können die Anwendung jetzt über Ihr Startmenü starten. Es wird eine "Windows-App" anstelle einer "Desktop-App" sein, aber ansonsten sieht es aus und funktioniert wie eine normale Desktop-App.
So signieren und installieren Sie die App
Sie müssen diese Anweisungen nicht befolgen, wenn Sie die Anwendung bereits installiert haben. Dies ist der schwierigere Weg.
Normalerweise können Sie ein APX-Paket nur installieren, wenn es eine gültige Signatur hat. Microsoft empfiehlt, die im Windows 10 SDK enthaltene Anwendung signtool.exe zu verwenden, um ein selbstsigniertes Zertifikat zu erstellen, mit dem Sie die Anwendung auf Ihrem eigenen Computer installieren und testen können.
Öffnen Sie einfach als Administrator ein Eingabeaufforderungsfenster und führen Sie die folgenden Befehle aus, um ein selbstsigniertes Zertifikat zu erstellen und das APX-Paket damit zu signieren:
cd "C: \ Programme (x86) \ Windows Kits \ 10 \ bin \ x64"
MakeCert.exe -r -h 0 -n "CN = Publisher" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx
signtool.exe sign -f my.pfx -fd SHA256 -v C: \ Pfad \ zu \ application.appx
Beachten Sie, dass der von Ihnen angegebene Publisher das ist
"CN = Verlag"
–Muss mit dem Herausgeber übereinstimmen, den Sie zuvor beim Erstellen der AppX-Datei angegeben haben. Wenn wir also mit unserem VLC-Beispiel von oben fortfahren, müssen wir es verwenden
"CN = VideoLAN"
.
Sie werden aufgefordert, ein Passwort einzugeben. Sie können das Passwort einfach leer lassen.
Sie können das APX-Paket jetzt in einem PowerShell-Fenster (Administrator) mit dem Befehl Add-AppxPackage installieren:
Add-AppxPackage C: \ Pfad \ zu \ application.appx
Diese Funktion kann von jedem verwendet werden, aber nur Entwickler - und möglicherweise einige Systemadministratoren - möchten diesen Weg gehen. Glücklicherweise ist der Prozess für Entwickler extrem einfach.