Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este guia demonstra como usar a interface de linha de comando (CLI) do winapp com um aplicativo Rust para depurar utilizando a identidade do pacote e empacotar seu aplicativo como um MSIX.
A identidade do pacote é um conceito básico no modelo de Windows app. Ele permite que seu aplicativo acesse APIs específicas do Windows (como Notificações, Segurança, APIs de IA etc.), e tenha uma experiência de instalação/desinstalação limpa, entre outras funcionalidades.
Pré-requisitos
Rust Toolchain: instalar o Rust usando rustup ou winget:
winget install Rustlang.Rustup --source wingetCLI do winapp: instale a
winappferramenta por meio do winget:winget install microsoft.winappcli --source winget
1. Criar um novo aplicativo Rust
cargo new rust-app
cd rust-app
Execute-o para verificar se tudo está funcionando:
cargo run
2. Atualizar código para verificar a identidade
Adicione a windows dependência ao seu Cargo.toml:
cargo add windows --features ApplicationModel
Substitua o conteúdo de 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. Executar sem identificação
cargo run
Você deve ver "Não empacotado".
4. Inicie o projeto com a CLI do winapp
winapp init
Quando solicitado:
- Nome do pacote: Pressione Enter para aceitar o padrão (rust-app)
- Nome do publicador: pressione Enter para aceitar o valor padrão ou insira seu nome
- Versão: Pressione Enter para aceitar 1.0.0.0
- Ponto de entrada: pressione Enter para aceitar o padrão (rust-app.exe)
- Configurar SDKs: selecione "Não configurar SDKs"
Isso cria as pastas appxmanifest.xml e Assets para a identidade do aplicativo.
5. Depurar com identidade
Crie o executável:
cargo buildAplicar identidade de depuração:
winapp create-debug-identity .\target\debug\rust-app.exeExecute o arquivo executável (não use
cargo runpois ele pode recompilar):.\target\debug\rust-app.exe
Você deve ver:
Package Family Name: rust-app_12345abcde
6. Empacotar com MSIX
Compilar para lançamento:
cargo build --releasePreparar o diretório do pacote:
mkdir dist copy .\target\release\rust-app.exe .\dist\Gerar um certificado de desenvolvimento:
winapp cert generate --if-exists skipEmpacotar e assinar:
winapp pack .\dist --cert .\devcert.pfxInstalar o certificado (executar como administrador):
winapp cert install .\devcert.pfxInstalar e executar:
Add-AppxPackage .\rust-app.msix rust-app
Dica
- Assine seu MSIX com um certificado de assinatura de código de uma Autoridade de Certificação para distribuição em produção.
- A Microsoft Store assina o MSIX para você, não é necessário assinar antes do envio.
- Talvez você precise de pacotes MSIX separados para cada arquitetura compatível (x64, Arm64).
Tópicos relacionados
Windows developer