added code signing with Authenticode support Windows release script (fixes #72)

This commit is contained in:
Micah Lee 2014-09-24 14:05:53 -07:00
parent d188f83176
commit ade33c3068
2 changed files with 23 additions and 9 deletions

View File

@ -69,7 +69,7 @@ Now you should have `dist/OnionShare.dmg`.
## Windows
The first time you're setting up your dev environment:
### Setting up your dev environment
* Download and install the latest python 2.7 from https://www.python.org/downloads/ -- make sure you install the 32-bit version.
* Right click on Computer, go to Properties. Click "Advanced system settings". Click Environment Variables. Under "System variables" double-click on Path to edit it. Add `;C:\Python27;C:\Python27\Scripts` to the end. Now you can just type `python` to run python scripts in the command prompt.
@ -80,20 +80,28 @@ The first time you're setting up your dev environment:
* Go to http://sourceforge.net/projects/pywin32/ and download and install the latest 32-bit pywin32 binary for python 2.7. I downloaded `pywin32-219.win32-py2.7.exe`.
* Download and install the [Microsoft Visual C++ 2008 Redistributable Package (x86)](http://www.microsoft.com/en-us/download/details.aspx?id=29).
To make a .exe:
* Open a command prompt, cd into the onionshare directory, and type: `pyinstaller -y setup\onionshare-win.spec`. Inside the `dist` folder there will be a folder called `onionshare` with `onionshare.exe` in it.
If you want to build the installer:
* Go to http://nsis.sourceforge.net/Download and download the latest NSIS. I downloaded `nsis-3.0b0-setup.exe`.
* Right click on Computer, go to Properties. Click "Advanced system settings". Click Environment Variables. Under "System variables" double-click on Path to edit it. Add `;C:\Program Files (x86)\NSIS` to the end. Now you can just type `makensisw [script]` to build an installer.
To build the installer:
If you want to sign binaries with Authenticode:
* Open a command prompt, cd to the onionshare directory, and type:
* Go to http://msdn.microsoft.com/en-us/vstudio/aa496123 and install the latest .NET Framework. I installed `.NET Framework 4.5.1`.
* Go to http://www.microsoft.com/en-us/download/confirmation.aspx?id=8279 and install the Windows SDK.
* Right click on Computer, go to Properties. Click "Advanced system settings". Click Environment Variables. Under "System variables" double-click on Path to edit it. Add `;C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin` to the end.
* You'll also, of course, need a code signing certificate. I roughly followed [this guide](http://blog.assarbad.net/20110513/startssl-code-signing-certificate/) to make one using my StartSSL account.
* Once you get a code signing key and certificate and covert it to a pfx file, import it into your certificate store.
`build_exe.bat`
### To make a .exe:
* Open a command prompt, cd into the onionshare directory, and type: `pyinstaller -y setup\onionshare-win.spec`. Inside the `dist` folder there will be a folder called `onionshare` with `onionshare.exe` in it.
### To build the installer:
Note that you must have a code signing certificate installed in order to use the `build_exe.bat` script, because it tries code signing both `onionshare.exe` and `OnionShare_Setup.exe`.
Open a command prompt, cd to the onionshare directory, and type: `build_exe.bat`
A NSIS window will pop up, and once it's done you will have `dist\OnionShare_Setup.exe`.

View File

@ -1,8 +1,14 @@
REM use pyinstaller to builder a folder with onionshare.exe
pyinstaller -y setup\onionshare-win.spec
REM sign onionshare.exe
signtool.exe sign /v /d "OnionShare" /a /tr "http://www.startssl.com/timestamp" dist\onionshare\onionshare.exe
REM run onionshare once, to compile the .py files into .pyc
dist\onionshare\onionshare.exe --help
REM build an installer, dist\OnionShare_Setup.exe
makensisw setup\onionshare.nsi
makensisw setup\onionshare.nsi
REM sign OnionShare_Setup.exe
signtool.exe sign /v /d "OnionShare" /a /tr "http://www.startssl.com/timestamp" dist\OnionShare_Setup.exe