Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuzda paket kimliğiyle hata ayıklamak ve uygulamanızı MSIX olarak paketlemek için rust uygulamasıyla winapp CLI'nin nasıl kullanılacağı gösterilmektedir.
Paket kimliği, Windows app modelinde temel bir kavramdır. Uygulamanızın belirli Windows API'lerine (Bildirimler, Güvenlik, Yapay Zeka API'leri vb.) erişmesini sağlar, sorunsuz yükleme ve kaldırma deneyimi sunar ve daha fazlasını gerçekleştirir.
Önkoşullar
Rust Toolchain: Rust'ı rustup veya winget kullanarak yükleyin:
winget install Rustlang.Rustup --source wingetwinapp CLI: Aracı winget aracılığıyla yükleyin
winapp:winget install microsoft.winappcli --source winget
1. Yeni bir Rust uygulaması oluşturma
cargo new rust-app
cd rust-app
Her şeyin çalıştığından emin olmak için çalıştırın:
cargo run
2. Kimliği denetlemek için kodu güncelleştirme
windows bağımlılığını öğesinin Cargo.tomliçine ekleyin:
cargo add windows --features ApplicationModel
öğesinin içeriğini değiştirin: 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. Kimlik olmadan çalıştırma
cargo run
"Paketlenmedi" ifadesini görmeniz gerekir.
4. winapp CLI ile project başlatma
winapp init
Sorulduğunda:
- Paket adı: Varsayılanı kabul etmek için Enter tuşuna basın (rust-app)
- Publisher name: Varsayılanı kabul etmek için Enter tuşuna basın veya adınızı girin
- Sürüm: 1.0.0.0'ı kabul etmek için Enter'a basın
- Giriş noktası: Varsayılanı kabul etmek için Enter tuşuna basın (rust-app.exe)
- SDK'ları ayarlama: "SDK'ları ayarlama" seçeneğini belirlemeyin
Bu, uygulama kimliğiniz için appxmanifest.xml ve Assets klasörlerini oluşturur.
5. Kimlikle hata ayıklama
Yürütülebilir dosyayı oluşturun:
cargo buildHata ayıklama kimliğini uygula:
winapp create-debug-identity .\target\debug\rust-app.exeYürütülebilir dosyayı çalıştırın (yeniden derleyebileceğinden kullanmayın
cargo run):.\target\debug\rust-app.exe
Şunu görmeniz gerekir:
Package Family Name: rust-app_12345abcde
6. MSIX ile paketle
Yayın için derleme:
cargo build --releasePaket dizinini hazırlama:
mkdir dist copy .\target\release\rust-app.exe .\dist\Geliştirme sertifikası oluşturma:
winapp cert generate --if-exists skipPaketle ve imzala:
winapp pack .\dist --cert .\devcert.pfxSertifikayı yükleyin (yönetici olarak çalıştırın):
winapp cert install .\devcert.pfxYükleme ve çalıştırma:
Add-AppxPackage .\rust-app.msix rust-app
Tavsiye
- MSIX'inizi üretim dağıtımı için sertifika yetkilisinden bir kod imzalama sertifikasıyla imzalayın.
- Microsoft Store MSIX'i sizin için imzalar, göndermeden önce imzalamanız gerekmez.
- Desteklediğiniz her mimari (x64, Arm64) için ayrı MSIX paketlerine ihtiyacınız olabilir.
İlgili konular
Windows developer