-
Notifications
You must be signed in to change notification settings - Fork 286
Distributing
Tres Finocchiaro edited this page Oct 26, 2018
·
19 revisions
Create a QZ Tray distribution
This assumes [Windows signing(https://github.com/qzind/tray/wiki/Compiling#ant-properties-file) and macOS package signing have been configured.
src/qz/common/Constants.java
-
js/qz-tray.js
(two places) -
js/package.json
(for npm)
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
-
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
)- Ensure
js/package.json
version is up to date - If not already, call
npm adduser
- User:
qzind
- Public Email:
[email protected]
- User:
- Finally, call
npm publish
- Ensure