Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuz, paket kimliğiyle hata ayıklamak ve uygulamanızı MSIX olarak paketlemek için winapp CLI'yi bir Tauri uygulamasıyla nasıl kullanacağınızı gösterir.
Paket kimliği, Windows app modelinde temel bir kavramdır. Uygulamanızın belirli Windows API'lerine (Bildirimler, Güvenlik, Yapay Zeka API'leri vb.) erişmesini sağlar, sorunsuz yükleme ve kaldırma deneyimi sunar ve daha fazlasını gerçekleştirir.
Önkoşullar
- Windows 11
-
Node.js -
winget install OpenJS.NodeJS --source winget -
winapp CLI -
winget install microsoft.winappcli --source winget
1. Yeni bir Tauri uygulaması oluşturma
npm create tauri-app@latest
İstemleri izleyin (Project adı: tauri-app, Ön uç dili: JavaScript, Package manager: npm).
project dizininize gidin ve bağımlılıkları yükleyin:
cd tauri-app
npm install
Uygulamayı çalıştırın:
npm run tauri dev
2. Kimliği denetlemek için kodu güncelleştirme
Arka uç değişiklikleri (Rust)
windows Bağımlılığı ekleyin. dosyasını açın src-tauri/Cargo.toml:
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = ["ApplicationModel"] }
komutunu açın src-tauri/src/lib.rs ve ekleyin:
#[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()
}
}
Komutu run işlevine kaydedin.
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");
}
Ön uç değişiklikleri (JavaScript)
içinde src/index.html, sonucu görüntülemek için bir paragraf ekleyin:
<p id="pfn-msg"></p>
içinde src/main.jskomutunu çağırın:
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();
});
"Paket kimliğiyle çalışmıyor" ifadesinin gösterildiğini onaylamak için uygulamayı çalıştırın:
npm run tauri dev
3. winapp CLI ile project başlatın
winapp init
Sorulduğunda:
- Paket adı: Varsayılanı kabul etmek için Enter tuşuna basın (tauri-app)
- Publisher name: Varsayılanı kabul etmek için Enter tuşuna basın veya adınızı girin
- Sürüm: 1.0.0.0'ı kabul etmek için Enter'a basın
- Giriş noktası: Varsayılanı kabul etmek için Enter tuşuna basın (tauri-app.exe)
- SDK'ları ayarlama: "SDK'ları ayarlama" seçeneğini belirlemeyin
4. Kimlikle hata ayıklama
dosyasına package.jsonbir betik ekleyin:
"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"
}
Çalıştırın:
npm run tauri:dev:withidentity
Uygulamanın bir Paket Aile Adı görüntülediğini görmeniz gerekir.
5. MSIX ile paketle
Yayın için derleme:
npm run tauri buildPaket dizinini hazırlama:
mkdir dist copy .\src-tauri\target\release\tauri-app.exe .\dist\Geliştirme sertifikası oluşturma:
winapp cert generate --if-exists skipPaketle ve imzala:
winapp pack .\dist --cert .\devcert.pfxSertifikayı yükleyin (yönetici olarak çalıştırın):
winapp cert install .\devcert.pfxOluşturulan dosyaya çift tıklayarak
.msix. Başlat menüsünden başlatın.
İlgili konular
Windows developer