Paketierte Desktop-Apps prüfen
Prüft Pfade, native Programme und Startverhalten des ausgelieferten Pakets über den Entwicklungsmodus hinaus.
desktop-packaging-verification
Entdecke, wie der Skill hilftWann ist der Skill hilfreich?
Nutze dies, wenn eine App lokal funktioniert, nach Paketierung aber scheitert.
Wobei hilft er dir?
- Löst Anwendungsressourcen getrennt von beschreibbaren Nutzerdatenpfaden auf.
- Prüft Begleitprogramme, Archivextraktion und Pfade mit Leerzeichen oder Umlauten.
- Startet mit isoliertem Profil und dokumentiert tatsächlich geprüfte Plattformen.
Das könntest du fragen
Teste das Paket aus einem Umlautpfad mit minimaler GUI-Umgebung und sauberem Prozessende. Starte aus einem Ordner mit Leerzeichen und ungarischen Akzenten, erstelle eine Datei und beende die App. Ressourcen funktionieren; eigene Kindprozesse enden.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Desktop Packaging & Verification
An application that runs in npm run dev frequently fails the moment it is packaged into a read-only .app bundle or Windows installer. Always design asset, binary, and database paths for the packaged layout and smoke-test the actual packaged binary.
Dev vs. Packaged Path Invariants
Never use process.cwd(), __dirname assumptions, or relative ./data writes for mutable files or external binaries:
| Resource Type | Dev Mode | Packaged Mode (app.isPackaged / Tauri bundle) |
Mutability |
|---|---|---|---|
| Bundled UI Assets | Local dev server (http://localhost:...) |
Inside app.asar or embedded Tauri asset protocol (tauri://localhost / https://tauri.localhost) |
Read-Only |
Native Addons (.node), Sidecar Binaries, SQLite Migrations |
Repo workspace paths | process.resourcesPath / app.asar.unpacked (Electron extraResources / asarUnpack) or Tauri BaseDirectory::Resource |
Read-Only (Never write here!) |
User Database (sqlite), Config, State |
Scoped dev profile dir (~/.app-dev) |
app.getPath('userData') / Tauri app.path().app_data_dir() |
Read/Write (Persists across app updates) |
| Ephemeral Scratch & Socket Files | OS temp dir | app.getPath('temp') |
Read/Write (Cleared on reboot) |
| Application & Subprocess Logs | Console + dev log dir | app.getPath('logs') (~/Library/Logs/<App> on macOS, %USERPROFILE%\AppData\Roaming\<App>\logs on Windows) |
Read/Write (Rotated) |
Native Addons, Sidecars & Archive Unpacking
- OS Kernel Execution Constraint:
- Operating system APIs (
execve,CreateProcess,dlopen,LoadLibrary) cannot execute binaries or load native.node/.dll/.dyliblibraries directly from inside a virtualapp.asararchive. - Configure
asarUnpack: ["**/*.node", "**/bin/**"]orextraResourcesinelectron-builder/ Electron Forge (orbundle.externalBin/bundle.resourcesintauri.conf.json), and resolve paths dynamically using a helper that switches onapp.isPackaged.
- Operating system APIs (
- Test Paths with Spaces and Non-ASCII Characters:
- Packaged apps live in
/Applications/My App.app/Contents/Resources/...orC:\Users\Gábor Laczkovszki\AppData\Local\Programs\.... Quote or array-pass every path and test explicitly in a directory containing spaces and accented characters.
- Packaged apps live in
Packaged Build Smoke-Test Protocol
Never mark a desktop packaging task complete based only on tsc or cross-compilation exit code 0:
- Build the unpacked directory target (
electron-builder --dir/tauri build --debug --no-bundleor full installer) for the host OS/architecture. - Launch the packaged executable with a clean test
--user-data-dir(and minimal Finder-likePATH). - Verify that the window renders without CSP/asset errors, the local server/database initializes in
userData, external CLI detection works, and quitting the app terminates all child processes cleanly with exit code0. - State explicitly which platforms/architectures were verified on a real OS and which were only build-checked.
Enthaltene Dateien 1
SKILL.md
Über dieses Skill-Paket
desktop-packaging-verification
desktop-packaging-verification: Entwickelt Desktop-Apps mit zuverlässigen nativen Grenzen, lokalen Daten, Prozesslebenszyklen, Paketen und Updates.
Weniger anzeigen
desktop-packaging-verification
desktop-packaging-verification: Entwickelt Desktop-Apps mit zuverlässigen nativen Grenzen, lokalen Daten, Prozesslebenszyklen, Paketen und Updates.
Enthält den vollständigen Skill und seine Begleitdateien (1 Dateien). Der genaue, ursprünglich verfasste Anwendungsbereich bleibt unten erhalten.
Ursprüngliche Skill-Beschreibung (Quellsprache)
Use when configuring desktop app bundling, ASAR/resource unpacking, path resolution in packaged vs. dev mode, or verifying packaged builds on macOS and Windows.
Installiere den Skill, prüfe seine Quelle und Vertrauenseinstellungen und aktiviere ihn für das passende Projekt oder den Agenten.
Voraussetzungen
- Orqestria auf deinem Computer installiert.
