Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida illustra come usare l'interfaccia della riga di comando di winapp con un'applicazione Rust per eseguire il debug con l'identità del pacchetto e creare un pacchetto dell'applicazione come MSIX.
L'identità del pacchetto è un concetto di base nel modello di Windows app. Consente all'applicazione di access API Windows specifiche (ad esempio Notifiche, Sicurezza, API di intelligenza artificiale e così via), avere un'esperienza di installazione/disinstallazione pulita e altro ancora.
Prerequisiti
Toolchain Rust: Installare Rust usando rustup o winget:
winget install Rustlang.Rustup --source wingetCLI di winapp: installa lo
winappstrumento tramite winget:winget install microsoft.winappcli --source winget
1. Creare una nuova app Rust
cargo new rust-app
cd rust-app
Eseguirlo per verificare che tutto funzioni:
cargo run
2. Aggiornare il codice per verificare l'identità
Aggiungi la windows dipendenza a Cargo.toml:
cargo add windows --features ApplicationModel
Sostituire il contenuto di 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. Eseguire senza identità
cargo run
Verrà visualizzato il messaggio "Non incluso nel pacchetto".
4. Inizializzare il progetto con la CLI di winapp
winapp init
Quando richiesto:
- Nome pacchetto: premere INVIO per accettare il valore predefinito (rust-app)
- Publisher nome: premere INVIO per accettare il valore predefinito o immettere il nome
- Versione: premere INVIO per accettare 1.0.0.0
- Punto di ingresso: premere INVIO per accettare il valore predefinito (rust-app.exe)
- SDK di installazione: selezionare "Non configurare GLI SDK"
Verranno create le cartelle appxmanifest.xml e Assets per l'identità dell'app.
5. Eseguire il debug con l'identità
Compilare il file eseguibile:
cargo buildApplicare l'identità di debug:
winapp create-debug-identity .\target\debug\rust-app.exeEseguire l'eseguibile (non usare
cargo runpoiché potrebbe ricompilare):.\target\debug\rust-app.exe
Dovresti vedere:
Package Family Name: rust-app_12345abcde
6. Pacchetto con MSIX
Compilazione per il rilascio:
cargo build --releasePreparare la directory del pacchetto:
mkdir dist copy .\target\release\rust-app.exe .\dist\Generare un certificato di sviluppo:
winapp cert generate --if-exists skipPacchetto e firma:
winapp pack .\dist --cert .\devcert.pfxInstallare il certificato (esegui come amministratore):
winapp cert install .\devcert.pfxInstallare ed eseguire:
Add-AppxPackage .\rust-app.msix rust-app
Suggerimento
- Firmare il MSIX con un certificato di firma del codice da una autorità di certificazione per la distribuzione in ambiente di produzione.
- Microsoft Store firma MSIX per te, non è necessario firmare prima dell'invio.
- Potrebbero essere necessari pacchetti MSIX separati per ogni architettura supportata (x64, Arm64).