Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze handleiding laat zien hoe u de winapp CLI gebruikt met een Rust-toepassing om fouten op te sporen met pakketidentiteit en uw toepassing als msix te verpakken.
Pakketidentiteit is een kernconcept in het Windows app model. Hiermee kan uw toepassing specifieke Windows-API's (zoals meldingen, beveiliging, AI-API's, enzovoort) access, een schone installatie-/verwijderingservaring hebben, en meer.
Vereiste voorwaarden
Rust Toolchain: Rust installeren met behulp van rustup of winget:
winget install Rustlang.Rustup --source wingetwinapp CLI: Installeer het
winapphulpprogramma via winget:winget install microsoft.winappcli --source winget
1. Een nieuwe Rust-app maken
cargo new rust-app
cd rust-app
Voer deze uit om te controleren of alles werkt:
cargo run
2. Werk code bij om de identiteit te controleren
Voeg de windows afhankelijkheid toe aan uw Cargo.toml:
cargo add windows --features ApplicationModel
Vervang de inhoud van 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. Uitvoeren zonder identiteit
cargo run
U ziet nu 'Niet verpakt'.
4. Initialiseer project met winapp CLI
winapp init
Wanneer u hierom wordt gevraagd:
- Pakketnaam: druk op Enter om de standaardwaarde te accepteren (rust-app)
- Publisher naam: Druk op Enter om de standaardinstelling te accepteren of voer uw naam in
- Versie: Druk op Enter om 1.0.0.0 te accepteren
- Toegangspunt: Druk op Enter om de standaardwaarde (rust-app.exe) te accepteren
- Sdk's instellen: Selecteer 'SDK's niet instellen'
Hiermee maakt u de mappen appxmanifest.xml en Assets voor uw app-identiteit aan.
Debuggen met identiteit
Bouw het uitvoerbare bestand:
cargo buildDebug-identiteit toepassen
winapp create-debug-identity .\target\debug\rust-app.exeVoer het uitvoerbare bestand uit (gebruik
cargo rundit niet omdat het opnieuw kan worden opgebouwd):.\target\debug\rust-app.exe
U ziet het volgende:
Package Family Name: rust-app_12345abcde
6. Pakket met MSIX
Build voor release:
cargo build --releasePakketmap voorbereiden:
mkdir dist copy .\target\release\rust-app.exe .\dist\Een ontwikkelingscertificaat genereren:
winapp cert generate --if-exists skipPakket en teken:
winapp pack .\dist --cert .\devcert.pfxInstalleer het certificaat (als beheerder uitvoeren):
winapp cert install .\devcert.pfxInstalleren en uitvoeren:
Add-AppxPackage .\rust-app.msix rust-app
Aanbeveling
- Onderteken uw MSIX met een certificaat voor ondertekening van programmacode van een certificeringsinstantie voor productiedistributie.
- De Microsoft Store ondertekent de MSIX voor u. U hoeft de MSIX niet te ondertekenen voordat u deze inzendt.
- Mogelijk hebt u afzonderlijke MSIX-pakketten nodig voor elke architectuur die u ondersteunt (x64, Arm64).
Verwante onderwerpen
Windows developer