-
Notifications
You must be signed in to change notification settings - Fork 277
Distributing
Create a QZ Tray distribution
This assumes Windows signing and macOS package signing have been configured.
src/qz/common/Constants.java
-
js/qz-tray.js
(two places) -
js/package.json
(for npm)
Before publishing make sure to commit the above version changes. We usually just call this Bump version
.
Chain all three builds on macOS, following compiling tutorial.
ant nsis && cp out/*.exe ~/Desktop/ && \
ant pkgbuild && cp out/*.pkg ~/Desktop/ && \
ant makeself && cp out/*.run ~/Desktop/
Sign the .exe
using DigiCert EV cert on Windows. Note, if you're on a High DPI screen, the app might look weird. Use this regkey and manifest to fix it.
- Insert the USB hardware key (if it's not ready, read this first)
- Download the
DigiCertUtil.exe
- Wait for Windows to setup the hardware key (about 5 minutes)
- If it's the first time using the key on this computer, click "Repair cert"
- Sign using SHA1, then SHA2
- When prompted for a password, Windows 10 may ask for a
PIN
, but actually use the full hardware password.
- When prompted for a password, Windows 10 may ask for a
-
Send the package to Apple for notarization:
xcrun altool --eval-app --primary-bundle-id io.qz.qz-tray -u <developer-id>@qz.io -f out/dist/qz-tray-2.x.x.pkg
-
After a few minutes, it returns:
RequestUUID = a1b2c3d4e5-a1b2-a1b2-a1b2-a1b2c3d4e5f6
-
Which then can be monitored remotely using:
xcrun altool --eval-info a1b2c3d4e5-a1b2-a1b2-a1b2-a1b2c3d4e5f6 -u <developer-id>@qz.io
-
If approved, Apple will send an email:
Subject: Your Mac software was notarized.
Body: The Mac software that you uploaded (bundle identifierio.qz.qz-tray
) was successfully notarized. -
Finally, staple the installer:
xcrun stapler staple out/dist/qz-tray-2.x.x.pkg
-
Upload builds to https://github.com/qzind/tray/releases/new
- Tag:
v2.x.x
(remember thev
) - Name:
2.x.x
- Tag:
-
Create simple, effective release notes. e.g.
**201X-01-01** **Features** * CP-987 support (#954) **Fixes** * Fixes HTTPS connections (#956) * Better signing example for js (a1b2c3d)
-
Email premium clients (
qz.io
(slash)admin
)- Include abridged version of release notes
- Link to download
- Provide any additional information (such as status of 2.x.x beta)
-
Update
npm
Assumesnpm
is installed (e.g.brew install npm
)- Open a terminal to
js
(e.g.~/tray/js
) - Ensure
package.json
version is up to date - If not already, call
npm adduser
- User:
qzind
- Public Email:
support@qz.io
- User:
- Finally, call
npm publish
- Open a terminal to