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 Tauri 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
- Windows 11
-
Node.js -
winget install OpenJS.NodeJS --source winget -
Interfaccia della riga di comando di winapp -
winget install microsoft.winappcli --source winget
1. Creare una nuova app Tauri
npm create tauri-app@latest
Seguire le istruzioni (nome Project: tauri-app, lingua front-end: JavaScript, Package manager: npm).
Naviga nella directory del tuo progetto e installa le tue dipendenze.
cd tauri-app
npm install
Eseguire l'app:
npm run tauri dev
2. Aggiornare il codice per verificare l'identità
Modifiche al back-end (Rust)
Aggiungere la windows dipendenza. Aprire src-tauri/Cargo.toml:
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = ["ApplicationModel"] }
Aprire src-tauri/src/lib.rs e aggiungere il comando :
#[tauri::command]
fn get_package_family_name() -> String {
#[cfg(target_os = "windows")]
{
use windows::ApplicationModel::Package;
match Package::Current() {
Ok(package) => {
match package.Id() {
Ok(id) => match id.FamilyName() {
Ok(name) => name.to_string(),
Err(_) => "Error retrieving Family Name".to_string(),
},
Err(_) => "Error retrieving Package ID".to_string(),
}
}
Err(_) => "No package identity".to_string(),
}
}
#[cfg(not(target_os = "windows"))]
{
"Not running on Windows".to_string()
}
}
Registrare il comando nella run funzione :
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_opener::init())
.invoke_handler(tauri::generate_handler![greet, get_package_family_name])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
Modifiche front-end (JavaScript)
In src/index.htmlaggiungere un paragrafo per visualizzare il risultato:
<p id="pfn-msg"></p>
In src/main.js invocare il comando:
const { invoke } = window.__TAURI__.core;
async function checkPackageIdentity() {
const pfn = await invoke("get_package_family_name");
const pfnMsgEl = document.querySelector("#pfn-msg");
if (pfn !== "No package identity" && !pfn.startsWith("Error")) {
pfnMsgEl.textContent = `Package family name: ${pfn}`;
} else {
pfnMsgEl.textContent = `Not running with package identity`;
}
}
window.addEventListener("DOMContentLoaded", () => {
checkPackageIdentity();
});
Esegui l'app per confermare che mostra "Non è in esecuzione con l'identità del pacchetto".
npm run tauri dev
3. Inizializzare il progetto con il CLI di winapp
winapp init
Quando richiesto:
- Nome pacchetto: premere INVIO per accettare il valore predefinito (tauri-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 (tauri-app.exe)
- SDK di installazione: selezionare "Non configurare GLI SDK"
4. Eseguire il debug con l'identità
Aggiungere uno script a package.json:
"scripts": {
"tauri:dev:withidentity": "cargo build --manifest-path src-tauri/Cargo.toml && winapp create-debug-identity src-tauri/target/debug/tauri-app.exe && .\\src-tauri\\target\\debug\\tauri-app.exe"
}
Eseguilo:
npm run tauri:dev:withidentity
Dovresti vedere l'app visualizzare il nome di famiglia del pacchetto.
5. Pacchetto con MSIX
Compilazione per il rilascio:
npm run tauri buildPreparare la directory del pacchetto:
mkdir dist copy .\src-tauri\target\release\tauri-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.pfxEseguire l'installazione facendo doppio clic sul file generato
.msix. Avviare dal menu Start.