Replaces the manual robocopy / install-windows.ps1 flow with two real distributable artifacts: - dragonflight-premiere-panel-<version>.zxp (Mac + Win) - dragonflight-premiere-panel-<version>-windows-setup.exe (Win) The Windows installer copies the bundle to %APPDATA%\Adobe\CEP\extensions, sets PlayerDebugMode=1 for CSXS 8..13, registers an uninstaller, and offers to remove any legacy com.wilddragon.mam.panel folder so editors don't end up with duplicate panels. The .zxp is signed with a self-signed cert generated on first build and committed to build/cert/ so signature continuity is preserved across builds (Adobe rejects ZXP upgrades with a different cert fingerprint). Also migrates the CEP bundle ID from com.wilddragon.mam.panel to net.wilddragon.dragonflight.panel to match the wild-dragon -> dragonflight repo rename. Manifest, .debug, CSInterface.js, install docs, and the growing-files quickstart all updated. build/ is normally swept by the root .gitignore; added an explicit negation so the packaging pipeline stays tracked. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| cert | ||
| .gitignore | ||
| build-all.ps1 | ||
| build-installer.ps1 | ||
| build-zxp.mjs | ||
| installer.iss | ||
| package.json | ||
| README.md | ||
Premiere panel installer — build pipeline
Produces two artifacts from services/premiere-plugin/:
| File | Platform | How an editor installs it |
|---|---|---|
dist/dragonflight-premiere-panel-<version>.zxp |
macOS + Windows | Drag into Anastasiy's ZXP Installer |
dist/dragonflight-premiere-panel-<version>-windows-setup.exe |
Windows | Double-click, Next → Finish |
The version is read from CSXS/manifest.xml's <ExtensionBundleVersion>. To
cut a new release: bump that one number, rebuild, attach the two files to a
Forgejo release tag.
Prerequisites
| Building | Requires |
|---|---|
.zxp only |
Node 18+, runs on macOS / Linux / Windows |
.exe |
Windows + Inno Setup 6 on PATH (ISCC.exe) |
Both via build-all.ps1 |
Windows + Node 18+ + Inno Setup 6 |
Install Inno Setup with winget:
winget install --id JRSoftware.InnoSetup
Build
cd services/premiere-plugin/build
npm install
pwsh -File build-all.ps1
Artifacts land in services/premiere-plugin/build/dist/.
To build just one:
node build-zxp.mjs # cross-platform .zxp
pwsh -File build-installer.ps1 # Windows .exe (needs ISCC.exe)
Signing cert (.zxp)
The first node build-zxp.mjs run generates a self-signed cert at
cert/dragonflight-selfsigned.p12 + passphrase at cert/cert-passphrase.txt.
Commit both files — they need to be stable across builds so Adobe accepts
ZXP upgrades in place. If you regenerate the cert, every editor who already
installed an older .zxp has to uninstall + reinstall.
The cert is self-signed → editors still need PlayerDebugMode=1. The Windows
.exe installer sets this automatically. ZXP installs on macOS need a manual
defaults write com.adobe.CSXS.11 PlayerDebugMode 1.
See cert/README.md for cert details + how to regenerate.
What the installers do
Both install the bundle as net.wilddragon.dragonflight.panel. The Windows
.exe additionally:
- Removes any legacy
com.wilddragon.mam.panelfolder (with a consent checkbox, default on) — avoids editors seeing two panels in Window → Extensions. - Sets
HKCU\Software\Adobe\CSXS.{8..13}\PlayerDebugMode = "1"so unsigned CEP extensions load. - Registers itself in Add/Remove Programs so uninstall reverses both.
Layout
build/
├── README.md ← this file
├── package.json ← devDep: zxp-sign-cmd
├── .gitignore ← ignores dist/ + node_modules/
├── build-all.ps1 ← runs both builders
├── build-zxp.mjs ← Node: generates cert (first run), signs, packages
├── build-installer.ps1 ← wraps ISCC.exe with version + bundle-id flags
├── installer.iss ← Inno Setup script
└── cert/
├── README.md ← how to regenerate
├── dragonflight-selfsigned.p12 ← generated on first build (commit it)
└── cert-passphrase.txt ← generated on first build (commit it)