Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Handbuch wird veranschaulicht, wie Sie die winapp CLI mit einer Tauri-Anwendung zum Debuggen mit Paketidentität verwenden und Ihre Anwendung als MSIX verpacken.
Die Paketidentität ist ein Kernkonzept im Windows app-Modell. Sie ermöglicht Ihrer Anwendung den Zugriff auf bestimmte Windows-APIs (z. B. Benachrichtigungen, Sicherheit, KI-APIs usw.), eine einfache Installation/Deinstallation und vieles mehr.
Voraussetzungen
- Windows 11
-
Node.js -
winget install OpenJS.NodeJS --source winget -
winapp CLI -
winget install microsoft.winappcli --source winget
1. Erstellen einer neuen Tauri-App
npm create tauri-app@latest
Folgen Sie den Eingabeaufforderungen (Project Name: tauri-app, Frontend-Sprache: JavaScript, Package manager: npm).
Navigieren Sie zu Ihrem Projektverzeichnis und installieren Sie Abhängigkeiten.
cd tauri-app
npm install
Führen Sie die App aus:
npm run tauri dev
2. Aktualisieren von Code zum Überprüfen der Identität
Backend-Änderungen (Rust)
Fügen Sie die windows Abhängigkeit hinzu. Öffnen:src-tauri/Cargo.toml
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = ["ApplicationModel"] }
Öffnen Sie src-tauri/src/lib.rs und fügen Sie den Befehl hinzu:
#[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()
}
}
Registrieren Sie den Befehl in der run Funktion:
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");
}
Frontend-Änderungen (JavaScript)
Fügen Sie in src/index.html einen Absatz hinzu, um das Ergebnis anzuzeigen.
<p id="pfn-msg"></p>
Rufen Sie in src/main.js den Befehl auf:
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();
});
Führen Sie die App aus, um zu bestätigen, dass sie die Meldung "Läuft nicht mit Paketidentität" anzeigt.
npm run tauri dev
3. Initialisieren Sie das Projekt mit der winapp CLI
winapp init
Wenn Sie dazu aufgefordert werden:
- Paketname: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu akzeptieren (tauri-app)
- Publisher Name: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu akzeptieren oder Ihren Namen einzugeben.
- Version: Drücken Sie die EINGABETASTE, um 1.0.0.0 zu akzeptieren.
- Einstiegspunkt: Drücken Sie die EINGABETASTE, um die Standardeinstellung zu übernehmen (tauri-app.exe)
- Setup-SDKs: Wählen Sie "SDKs nicht einrichten" aus.
4. Debuggen mit Identität
Hinzufügen eines Skripts zu 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"
}
Ausführen:
npm run tauri:dev:withidentity
Die App sollte einen Paketfamiliennamen anzeigen.
5. Paket mit MSIX
Build für Release:
npm run tauri buildVorbereiten des Paketverzeichnisses:
mkdir dist copy .\src-tauri\target\release\tauri-app.exe .\dist\Generieren eines Entwicklungszertifikats:
winapp cert generate --if-exists skipPacken und Signieren:
winapp pack .\dist --cert .\devcert.pfxInstallieren Sie das Zertifikat (als Administrator ausführen):
winapp cert install .\devcert.pfxInstallieren Sie , indem Sie auf die generierte
.msixDatei doppelklicken. Starten Sie über das Startmenü.
Zugehörige Themen
Windows developer