Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här guiden visar hur du använder winapp CLI med ett Rust-program för att felsöka med paketidentitet och paketera ditt program som en MSIX.
Paketidentitet är ett grundläggande begrepp i Windows app modellen. Det gör att ditt program kan access specifika Windows-API:er (t.ex. meddelanden, säkerhet, AI-API:er osv.), har en ren installation/avinstallation med mera.
Förutsättningar
Rust Toolchain: Installera Rust med rustup eller winget:
winget install Rustlang.Rustup --source wingetwinapp CLI: Installera
winappverktyget via winget:winget install microsoft.winappcli --source winget
1. Skapa en ny Rust-app
cargo new rust-app
cd rust-app
Kör den för att kontrollera att allt fungerar:
cargo run
2. Uppdatera koden för att kontrollera identiteten
Lägg till windows-beroendet i din Cargo.toml.
cargo add windows --features ApplicationModel
Ersätt innehållet i 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. Kör utan identitet
cargo run
Du bör se "Inte paketerad".
4. Initiera project med winapp CLI
winapp init
När du uppmanas att göra det:
- Paketnamn: Tryck på Retur för att acceptera standardvärdet (rust-app)
- Utgivarens namn: Tryck på Enter för att acceptera standardvärdet eller ange ditt namn
- Version: Tryck på Retur för att acceptera 1.0.0.0
- Startpunkt: Tryck på Enter för att acceptera standardvärdet (rust-app.exe)
- Installations-SDK:er: Välj "Konfigurera inte SDK:er"
Detta skapar appxmanifest.xml och Assets mappar för din appidentitet.
5. Felsöka med identitet
Skapa den körbara filen:
cargo buildAnvänd felsökningsidentitet:
winapp create-debug-identity .\target\debug\rust-app.exeKör den körbara filen (använd inte
cargo runeftersom det kan återskapas):.\target\debug\rust-app.exe
Du bör se:
Package Family Name: rust-app_12345abcde
6. Paket med MSIX
Skapa för lansering:
cargo build --releaseFörberedelse av en paketkatalog:
mkdir dist copy .\target\release\rust-app.exe .\dist\Generera ett utvecklingscertifikat:
winapp cert generate --if-exists skipPaketera och signera:
winapp pack .\dist --cert .\devcert.pfxInstallera certifikatet (kör som administratör):
winapp cert install .\devcert.pfxInstallera och kör:
Add-AppxPackage .\rust-app.msix rust-app
Tips/Råd
- Signera din MSIX med ett kodsigneringscertifikat från en certifikatutfärdare för produktionsdistribution.
- Microsoft Store signerar MSIX åt dig, du behöver inte signera innan det skickas in.
- Du kan behöva separata MSIX-paket för varje arkitektur som du stöder (x64, Arm64).
Relaterade ämnen
Windows developer