Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze handleiding ziet u hoe u de winapp CLI gebruikt met een Tauri-toepassing om fouten op te sporen met pakketidentiteit en uw toepassing als een MSIX-pakket te verpakken.
Pakketidentiteit is een kernconcept in het Windows app model. Hiermee kan uw toepassing specifieke Windows-API's (zoals meldingen, beveiliging, AI-API's, enzovoort) access, een schone installatie-/verwijderingservaring hebben, en meer.
Vereiste voorwaarden
- Windows 11
-
Node.js -
winget install OpenJS.NodeJS --source winget -
winapp CLI -
winget install microsoft.winappcli --source winget
1. Een nieuwe Tauri-app maken
npm create tauri-app@latest
Volg de aanwijzingen (Project naam: tauri-app, front-endtaal: JavaScript, Package manager: npm).
Navigeer naar uw project map en installeer afhankelijkheden:
cd tauri-app
npm install
Voer de app uit:
npm run tauri dev
2. Werk code bij om de identiteit te controleren
Backend-wijzigingen (Rust)
Voeg de windows afhankelijkheid toe. Open src-tauri/Cargo.toml:
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = ["ApplicationModel"] }
Open src-tauri/src/lib.rs en voeg de opdracht toe:
#[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()
}
}
Registreer de opdracht in de run functie:
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");
}
Front-endwijzigingen (JavaScript)
Voeg src/index.htmleen alinea toe om het resultaat weer te geven:
<p id="pfn-msg"></p>
Roep de opdracht aan in src/main.js.
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();
});
Voer de app uit om te bevestigen dat het de melding 'Niet uitgevoerd met pakketidentiteit' weergeeft:
npm run tauri dev
3. Initialiseer project met winapp CLI
winapp init
Wanneer u hierom wordt gevraagd:
- Pakketnaam: druk op Enter om de standaardwaarde te accepteren (tauri-app)
- Publisher naam: Druk op Enter om de standaardinstelling te accepteren of voer uw naam in
- Versie: Druk op Enter om 1.0.0.0 te accepteren
- Toegangspunt: Druk op Enter om de standaardwaarde (tauri-app.exe) te accepteren
- Sdk's instellen: Selecteer 'SDK's niet instellen'
4. Debuggen met identiteit
Voeg een script toe aan 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"
}
Voer het uit:
npm run tauri:dev:withidentity
U zou de Package Family Name in de app moeten zien verschijnen.
5. Pakket met MSIX
Build voor release:
npm run tauri buildPakketmap voorbereiden:
mkdir dist copy .\src-tauri\target\release\tauri-app.exe .\dist\Een ontwikkelingscertificaat genereren:
winapp cert generate --if-exists skipPakket en teken:
winapp pack .\dist --cert .\devcert.pfxInstalleer het certificaat (als beheerder uitvoeren):
winapp cert install .\devcert.pfxInstalleer door te dubbelklikken op het gegenereerde
.msixbestand. Start vanuit het startmenu.
Verwante onderwerpen
Windows developer