Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato příručka ukazuje, jak pomocí winapp CLI s aplikací Tauri ladit pomocí identity balíčku a zabalit aplikaci do formátu MSIX.
Identita balíčku je základním konceptem modelu Windows app. Umožňuje aplikaci přistupovat k konkrétním rozhraním API systému Windows (jako jsou oznámení, zabezpečení, rozhraní API AI atd.), má čistý proces instalace a odinstalace a další.
Předpoklady
- Windows 11
-
Node.js -
winget install OpenJS.NodeJS --source winget -
winapp CLI -
winget install microsoft.winappcli --source winget
1. Vytvoření nové aplikace Tauri
npm create tauri-app@latest
Postupujte podle pokynů (název Project: tauri-app, jazyk front-endu: JavaScript, Package manager: npm).
Přejděte do adresáře project a nainstalujte závislosti:
cd tauri-app
npm install
Spuštění aplikace:
npm run tauri dev
2. Aktualizace kódu pro kontrolu identity
Změny backendu (Rust)
windows Přidejte závislost. Otevřít src-tauri/Cargo.toml:
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = ["ApplicationModel"] }
Otevřete src-tauri/src/lib.rs a přidejte příkaz:
#[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()
}
}
Zaregistrujte příkaz ve run funkci:
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");
}
Změny front-endu (JavaScript)
V src/index.html přidejte odstavec, aby se zobrazil výsledek.
<p id="pfn-msg"></p>
Vyvolejte příkaz 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();
});
Spusťte aplikaci, abyste potvrdili, že se zobrazuje "Není spuštěno s identitou balíčku".
npm run tauri dev
3. Inicializace project pomocí rozhraní příkazového řádku winapp
winapp init
Po zobrazení výzvy:
- Název balíčku: Stisknutím klávesy Enter přijměte výchozí hodnotu (tauri-app).
- Publisher název: Stisknutím klávesy Enter přijměte výchozí hodnotu nebo zadejte své jméno.
- Verze: Stisknutím klávesy Enter přijměte verzi 1.0.0.0.
- Vstupní bod: Stisknutím klávesy Enter přijměte výchozí (tauri-app.exe)
- Instalační sady SDK: Vyberte "Nenastavovat sady SDK"
4. Ladění s identitou uživatele
Přidejte skript do 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"
}
Spusťte ho:
npm run tauri:dev:withidentity
Měla by se zobrazit aplikace s názvem rodiny balíčků.
5. Balíček s MSIX
Sestavení pro vydání:
npm run tauri buildPříprava adresáře balíčku:
mkdir dist copy .\src-tauri\target\release\tauri-app.exe .\dist\Vygenerování vývojového certifikátu:
winapp cert generate --if-exists skipBalíček a podepsání:
winapp pack .\dist --cert .\devcert.pfxNainstalujte certifikát (spusťte ho jako správce):
winapp cert install .\devcert.pfxNainstalujte poklikáním na vygenerovaný
.msixsoubor. Spusťte z nabídky Start.
Příbuzná témata
Windows developer