← Zurück zu Team für Electron und Vue
Entdecke, wie der Skill hilft
Desktop-Signierung und Verteilung
Bereitet plattformgerechte Signaturen und Installer vor und benennt die tatsächlich durchgeführten Auslieferungsprüfungen.
desktop-signing-distribution
Teammitglieder mit diesem Skill
Wann ist der Skill hilfreich?
Nutze dies für Desktop-Installer außerhalb deines Entwicklungsrechners.
Wobei hilft er dir?
- Prüft verschachtelte Signierreihenfolge, notwendige Berechtigungen und Beglaubigungsnachweise.
- Validiert Windows-Signaturen und Zeitstempel entsprechend dem Installationsumfang.
- Prüft Deinstallation und Zuständigkeit registrierter Dateizuordnungen.
Das könntest du fragen
Bereite einen signierten macOS-Installer vor und belege Signierung, Beglaubigung und Start auf sauberem Rechner getrennt. Installiere auf einem sauberen Testrechner und nutze eine berechtigungspflichtige Funktion. Trenne tatsächliche Betriebssystemprüfungen von erfolgreicher Paketerstellung.
Ausführliche Dokumentation
Hier findest du die ursprüngliche Anleitung, Beispiele und Prüfschritte des Skills in ihrer Originalsprache.
Weniger anzeigen
Signing & Platform Distribution
Unsigned or improperly signed desktop applications trigger alarming OS gatekeeper blocks ("App is damaged and can't be opened" on macOS, SmartScreen warnings on Windows) and break auto-updaters (Squirrel.Mac / NSIS). Treat signing, entitlements, and platform metadata as core architecture requirements.
macOS Code Signing, Hardened Runtime & Notarization
- Inside-Out Signing Order:
- Every executable binary,
.dylib,.nodenative addon, and embedded sidecar inside.app/Contents/Resourcesor.app/Contents/Frameworksmust be signed with a valid Developer ID Application certificate and secure timestamp before signing the outer.appbundle. Modifying any file inside.appafter signing invalidates the seal immediately.
- Every executable binary,
- Hardened Runtime & Minimal Entitlements (
entitlements.mac.plist):- Apple notarization requires Hardened Runtime (
--options runtime). Request only the entitlements your runtime genuinely needs:- Electron V8 JIT requires
com.apple.security.cs.allow-jit(and helper renderer entitlements). - Loading unpacked third-party
.nodeaddons may requirecom.apple.security.cs.allow-unsigned-executable-memoryordisable-library-validation(only when addons are not signed by the same Team ID).
- Electron V8 JIT requires
- Include clear
NS*UsageDescriptionstrings inInfo.plistwhenever accessing protected folders, microphone, camera, or automation events.
- Apple notarization requires Hardened Runtime (
- Notarization & Stapling (
notarytool+stapler):- Submit the signed
.dmg/.zip/.pkgto Apple's notarization service (xcrun notarytool submit --wait), inspect the JSON log on any rejection, and staple the ticket (xcrun stapler staple) to the.dmg/.appso Gatekeeper verification succeeds even when the user is offline.
- Submit the signed
Windows Authenticode, SmartScreen & Installer Formats
- Authenticode Signing with Timestamp Server:
- Sign both the inner application
.exe(and any custom native.dll/sidecar binaries) and the outer installer (NSIS .exe,MSIX, orMSI) using SHA-256 (fd sha256) and an RFC 3161 timestamp server (tr http://timestamp.digicert.com).
- Sign both the inner application
- Per-User vs. Per-Machine Installation Paths:
- Default to per-user installation (
%LOCALAPPDATA%\Programs\<App>) when seamless background auto-updates without UAC Administrator elevation prompts are desired, or document explicit UAC behavior for machine-wide (%ProgramFiles%) enterprise MSI/MSIX deployments.
- Default to per-user installation (
- Clean Uninstall & File Association Hygiene:
- Register custom URL schemes (
myapp://),PATHshims, and startup entries cleanly so uninstalling the application removes its registry keys and shortcuts without deleting the user's projects unless explicitly requested.
- Register custom URL schemes (
Enthaltene Dateien 1
SKILL.md
