Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Leitfaden wird veranschaulicht, wie Sie die winapp CLI mit einer Rust-Anwendung zum Debuggen mit Paketidentität verwenden und Ihre Anwendung als MSIX verpacken können.
Die Paketidentität ist ein Kernkonzept im Windows app-Modell. Sie ermöglicht Ihrer Anwendung den Zugriff auf bestimmte Windows-APIs (z. B. Benachrichtigungen, Sicherheit, KI-APIs usw.), eine einfache Installation/Deinstallation und vieles mehr.
Voraussetzungen
Rust Toolchain: Installieren Sie Rust mit rustup oder mit Winget:
winget install Rustlang.Rustup --source wingetwinapp CLI: Installieren Sie das
winappTool über winget:winget install microsoft.winappcli --source winget
1. Erstellen einer neuen Rust-App
cargo new rust-app
cd rust-app
Führen Sie sie aus, um sicherzustellen, dass alles funktioniert:
cargo run
2. Aktualisieren von Code zum Überprüfen der Identität
Fügen Sie die windows Abhängigkeit zu Ihrem Cargo.tomlhinzu:
cargo add windows --features ApplicationModel
Ersetzen Sie den Inhalt von src/main.rs:
use windows::ApplicationModel::Package;
fn main() {
match Package::Current() {
Ok(package) => {
match package.Id() {
Ok(id) => match id.FamilyName() {
Ok(name) => println!("Package Family Name: {}", name),
Err(e) => println!("Error getting family name: {}", e),
},
Err(e) => println!("Error getting package ID: {}", e),
}
}
Err(_) => println!("Not packaged"),
}
}
3. Ohne Identität ausführen
cargo run
Es sollte "Nicht verpackt" angezeigt werden.
4. Initialisiere das Projekt mit winapp CLI
winapp init
Wenn Sie dazu aufgefordert werden:
- Paketname: Drücken Sie die EINGABETASTE, um den Standard (rust-app) zu akzeptieren.
- Publisher Name: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu akzeptieren oder Ihren Namen einzugeben.
- Version: Drücken Sie die EINGABETASTE, um 1.0.0.0 zu akzeptieren.
- Einstiegspunkt: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen (rust-app.exe)
- Setup-SDKs: Wählen Sie "SDKs nicht einrichten" aus.
Dadurch werden die Ordner appxmanifest.xml und Assets für Ihre App-Identität erstellt.
5. Debuggen mit Identität
Erstellen Sie die ausführbare Datei:
cargo buildDebugidentität anwenden:
winapp create-debug-identity .\target\debug\rust-app.exeFühren Sie die ausführbare Datei aus (nicht verwenden
cargo run, da sie neu erstellt werden kann):.\target\debug\rust-app.exe
Sie sollten Folgendes sehen:
Package Family Name: rust-app_12345abcde
6. Paket mit MSIX
Build für Release:
cargo build --releaseVorbereiten des Paketverzeichnisses:
mkdir dist copy .\target\release\rust-app.exe .\dist\Generieren eines Entwicklungszertifikats:
winapp cert generate --if-exists skipPacken und Signieren:
winapp pack .\dist --cert .\devcert.pfxInstallieren Sie das Zertifikat (als Administrator ausführen):
winapp cert install .\devcert.pfxInstallieren und Ausführen:
Add-AppxPackage .\rust-app.msix rust-app
Tipp
- Signieren Sie Ihr MSIX mit einem Codesignaturzertifikat von einer Zertifizierungsstelle für die Produktionsverteilung.
- Der Microsoft Store signiert das MSIX für Sie, sodass Sie es nicht vor der Übermittlung signieren müssen.
- Möglicherweise benötigen Sie separate MSIX-Pakete für jede architektur, die Sie unterstützen (x64, Arm64).
Zugehörige Themen
- winapp CLI-Referenz
- winapp CLI -Übersicht
- Loslegen mit Rust unter Windows
Windows developer