Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este guia demonstra como usar o winapp CLI com uma aplicação em Rust para depurar utilizando a identidade do pacote e empacotar a sua aplicação como MSIX.
A identidade de pacote é um conceito central no modelo de Windows app. Permite que a sua aplicação acesse APIs específicas do Windows (como Notificações, Segurança, APIs de IA, etc.), tenha uma experiência limpa de instalação/desinstalação e muito mais.
Pré-requisitos
Rust Toolchain: Instale Rust usando rustup ou winget:
winget install Rustlang.Rustup --source wingetWinapp CLI: Instale a
winappferramenta via winget:winget install microsoft.winappcli --source winget
1. Criar uma nova aplicação Rust
cargo new rust-app
cd rust-app
Executa para garantir que tudo está a funcionar:
cargo run
2. Atualizar código para verificar identidade
Adicione a dependência windows à sua Cargo.toml.
cargo add windows --features ApplicationModel
Substituir 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. Fugir sem identidade
cargo run
Deves ver "Não embalado".
4. Inicialize o projeto com o winapp CLI
winapp init
Quando solicitado:
- Nome do pacote: Pressione Enter para aceitar o padrão (rust-app)
- Nome do Publicador: Pressione Enter para aceitar o padrão ou inserir o 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)
- Configuração de SDKs: Selecione "Não configurar SDKs"
Isto cria a pasta appxmanifest.xml e a pasta Assets para a identidade da tua aplicação.
5. Depuração com identidade
Constrói o executável:
cargo buildAplicar identidade de depuração:
winapp create-debug-identity .\target\debug\rust-app.exeExecute o ficheiro executável (não use
cargo run, pois pode reconstruir):.\target\debug\rust-app.exe
Você deve ver:
Package Family Name: rust-app_12345abcde
6. Pacote com MSIX
Build para lançamento:
cargo build --releasePrepare o diretório de pacotes:
mkdir dist copy .\target\release\rust-app.exe .\dist\Gerar um certificado de desenvolvimento:
winapp cert generate --if-exists skipEmbalagem e assinatura:
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
Sugestão
- Assine o seu MSIX com um certificado de assinatura de código de uma Autoridade Certificadora para distribuição em produção.
- A Microsoft Store assina o MSIX por si, não precisa de assinar antes de submeter.
- Podes precisar de pacotes MSIX separados para cada arquitetura que suportas (x64, Arm64).
Tópicos relacionados
Windows developer