Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku pokazano, jak używać polecenia winapp z aplikacją Rust do debugowania z użyciem tożsamości pakietu oraz spakowania aplikacji jako plik MSIX.
Tożsamość pakietu jest podstawową koncepcją w modelu Windows app. Dzięki niej aplikacja może uzyskiwać dostęp do określonych interfejsów API systemu Windows (takich jak powiadomienia, zabezpieczenia, interfejsy API itp.), mieć czyste środowisko instalacji/odinstalowywania i wiele więcej.
Wymagania wstępne
Rust Toolchain: Zainstaluj Rust za pomocą rustup lub winget:
winget install Rustlang.Rustup --source wingetwinapp CLI: zainstaluj
winappnarzędzie za pomocą winget:winget install microsoft.winappcli --source winget
1. Tworzenie nowej aplikacji Rust
cargo new rust-app
cd rust-app
Uruchom go, aby upewnić się, że wszystko działa:
cargo run
2. Aktualizowanie kodu w celu sprawdzenia tożsamości
windows Dodaj zależność do elementu Cargo.toml:
cargo add windows --features ApplicationModel
Zastąp zawartość elementu 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. Uruchamianie bez tożsamości
cargo run
Powinien zostać wyświetlony komunikat "Nie spakowane".
4. Zainicjuj projekt za pomocą interfejsu wiersza polecenia winapp
winapp init
Po wyświetleniu monitu:
- Nazwa pakietu: naciśnij klawisz Enter, aby zaakceptować wartość domyślną (rust-app)
- Nazwa wydawcy: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną lub wprowadź swoją nazwę
- Wersja: Naciśnij klawisz Enter, aby zaakceptować 1.0.0.0
- Punkt wejścia: Naciśnij klawisz Enter, aby zaakceptować wartość domyślną (rust-app.exe)
- Konfiguracja zestawów SDK: wybierz "Nie konfiguruj zestawów SDK"
Tworzy to foldery appxmanifest.xml i Assets dla tożsamości Twojej aplikacji.
5. Debugowanie przy użyciu tożsamości
Skompiluj plik wykonywalny:
cargo buildZastosuj tożsamość debugowania:
winapp create-debug-identity .\target\debug\rust-app.exeUruchom plik wykonywalny (nie używaj
cargo rungo, ponieważ może zostać ponownie skompilowany):.\target\debug\rust-app.exe
Powinieneś zobaczyć:
Package Family Name: rust-app_12345abcde
6. Pakiet z plikiem MSIX
Kompilacja do wydania:
cargo build --releasePrzygotuj katalog pakietów:
mkdir dist copy .\target\release\rust-app.exe .\dist\Generowanie certyfikatu programistycznego:
winapp cert generate --if-exists skipPakowanie i podpisywanie:
winapp pack .\dist --cert .\devcert.pfxZainstaluj certyfikat (uruchom jako administrator):
winapp cert install .\devcert.pfxInstalowanie i uruchamianie:
Add-AppxPackage .\rust-app.msix rust-app
Wskazówka
- Podpisz plik MSIX przy użyciu certyfikatu podpisywania kodu z urzędu certyfikacji na potrzeby dystrybucji produkcyjnej.
- Sklep Microsoft Store podpisuje plik MSIX, dlatego nie trzeba się podpisywać przed przesłaniem.
- Może być konieczne oddzielne pakiety MSIX dla każdej obsługiwanej architektury (x64, Arm64).