Updating Windows build deps, and recreating the nsis installer script for new files

This commit is contained in:
Micah Lee 2018-01-15 21:32:55 -08:00
parent ea908c1841
commit b7192f2764
No known key found for this signature in database
GPG Key ID: 403C2657CD994F73
4 changed files with 339 additions and 282 deletions

View File

@ -71,7 +71,7 @@ Now you should have `dist/OnionShare.pkg`.
### Setting up your dev environment
Download the latest Python 3.5.2, 32-bit (x86) from https://www.python.org/downloads/release/python-352/ (note that there's a pyinstaller/pywin32 bug that prevents 3.6.x from working). I downloaded `python-3.5.2.exe`. When installing it, make sure to check the "Add Python 3.5 to PATH" checkbox on the first page of the installer.
Download Python 3.6.4, 32-bit (x86) from https://www.python.org/downloads/release/python-364/. I downloaded `python-3.6.4.exe`. When installing it, make sure to check the "Add Python 3.5 to PATH" checkbox on the first page of the installer.
Open a command prompt, cd to the onionshare folder, and install dependencies with pip:
@ -79,6 +79,8 @@ Open a command prompt, cd to the onionshare folder, and install dependencies wit
pip3 install -r install\requirements-windows.txt
```
Download and install pywin32 (build 221, x86, for python 3.6) from https://sourceforge.net/projects/pywin32/files/pywin32/Build%20221/. I downloaded `pywin32-221.win32-py3.6.exe`.
Download and install Qt5 from https://www.qt.io/download-open-source/. I downloaded `qt-unified-windows-x86-3.0.2-online.exe`. There's no need to login to a Qt account during installation. Make sure you install the latest Qt 5.x. I installed Qt 5.10.0.
After that you can try both the CLI and the GUI version of OnionShare:

View File

@ -99,8 +99,8 @@ Section "install"
File "${BINPATH}\api-ms-win-crt-time-l1-1-0.dll"
File "${BINPATH}\api-ms-win-crt-utility-l1-1-0.dll"
File "${BINPATH}\base_library.zip"
File "${BINPATH}\mfc140u.dll"
File "${BINPATH}\MSVCP140.dll"
File "${BINPATH}\MSVCR100.dll"
File "${BINPATH}\onionshare-gui.exe"
File "${BINPATH}\onionshare-gui.exe.manifest"
File "${BINPATH}\pyexpat.pyd"
@ -110,8 +110,9 @@ Section "install"
File "${BINPATH}\PyQt5.QtPrintSupport.pyd"
File "${BINPATH}\PyQt5.QtWidgets.pyd"
File "${BINPATH}\python3.dll"
File "${BINPATH}\python35.dll"
File "${BINPATH}\pywintypes35.dll"
File "${BINPATH}\python36.dll"
File "${BINPATH}\pythoncom36.dll"
File "${BINPATH}\pywintypes36.dll"
File "${BINPATH}\Qt5Core.dll"
File "${BINPATH}\Qt5Gui.dll"
File "${BINPATH}\Qt5PrintSupport.dll"
@ -122,30 +123,76 @@ Section "install"
File "${BINPATH}\ucrtbase.dll"
File "${BINPATH}\unicodedata.pyd"
File "${BINPATH}\VCRUNTIME140.dll"
File "${BINPATH}\win32api.pyd"
File "${BINPATH}\win32com.shell.shell.pyd"
File "${BINPATH}\win32trace.pyd"
File "${BINPATH}\win32ui.pyd"
File "${BINPATH}\win32wnet.pyd"
File "${BINPATH}\_asyncio.pyd"
File "${BINPATH}\_bz2.pyd"
File "${BINPATH}\_ctypes.pyd"
File "${BINPATH}\_decimal.pyd"
File "${BINPATH}\_hashlib.pyd"
File "${BINPATH}\_lzma.pyd"
File "${BINPATH}\_multiprocessing.pyd"
File "${BINPATH}\_overlapped.pyd"
File "${BINPATH}\_socket.pyd"
File "${BINPATH}\_ssl.pyd"
File "${BINPATH}\_win32sysloader.pyd"
SetOutPath "$INSTDIR\Include"
File "${BINPATH}\Include\pyconfig.h"
SetOutPath "$INSTDIR\lib2to3"
File "${BINPATH}\lib2to3\Grammar.txt"
File "${BINPATH}\lib2to3\Grammar3.5.2.final.0.pickle"
File "${BINPATH}\lib2to3\Grammar3.6.2.candidate.2.pickle"
File "${BINPATH}\lib2to3\Grammar3.6.2.final.0.pickle"
File "${BINPATH}\lib2to3\Grammar3.6.3.candidate.1.pickle"
File "${BINPATH}\lib2to3\Grammar3.6.3.final.0.pickle"
File "${BINPATH}\lib2to3\Grammar3.6.4.candidate.1.pickle"
File "${BINPATH}\lib2to3\Grammar3.6.4.final.0.pickle"
File "${BINPATH}\lib2to3\PatternGrammar.txt"
File "${BINPATH}\lib2to3\PatternGrammar3.5.2.final.0.pickle"
File "${BINPATH}\lib2to3\PatternGrammar3.6.2.candidate.2.pickle"
File "${BINPATH}\lib2to3\PatternGrammar3.6.2.final.0.pickle"
File "${BINPATH}\lib2to3\PatternGrammar3.6.3.candidate.1.pickle"
File "${BINPATH}\lib2to3\PatternGrammar3.6.3.final.0.pickle"
File "${BINPATH}\lib2to3\PatternGrammar3.6.4.candidate.1.pickle"
File "${BINPATH}\lib2to3\PatternGrammar3.6.4.final.0.pickle"
SetOutPath "$INSTDIR\lib2to3\tests\data"
File "${BINPATH}\lib2to3\tests\data\README"
SetOutPath "$INSTDIR\PyQt5\Qt\bin"
File "${BINPATH}\PyQt5\Qt\bin\qt.conf"
SetOutPath "$INSTDIR\PyQt5\Qt\plugins\iconengines"
File "${BINPATH}\PyQt5\Qt\plugins\iconengines\qsvgicon.dll"
SetOutPath "$INSTDIR\PyQt5\Qt\plugins\imageformats"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qgif.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qicns.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qico.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qjpeg.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qsvg.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qtga.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qtiff.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qwbmp.dll"
File "${BINPATH}\PyQt5\Qt\plugins\imageformats\qwebp.dll"
SetOutPath "$INSTDIR\PyQt5\Qt\plugins\platforms"
File "${BINPATH}\PyQt5\Qt\plugins\platforms\qminimal.dll"
File "${BINPATH}\PyQt5\Qt\plugins\platforms\qoffscreen.dll"
File "${BINPATH}\PyQt5\Qt\plugins\platforms\qwindows.dll"
SetOutPath "$INSTDIR\PyQt5\Qt\plugins\printsupport"
File "${BINPATH}\PyQt5\Qt\plugins\printsupport\windowsprintersupport.dll"
SetOutPath "$INSTDIR\share"
File "${BINPATH}\share\license.txt"
File "${BINPATH}\share\torrc_template"
File "${BINPATH}\share\torrc_template-windows"
File "${BINPATH}\share\version.txt"
File "${BINPATH}\share\wordlist.txt"
File "${BINPATH}\share\torrc_template-windows"
SetOutPath "$INSTDIR\share\html"
File "${BINPATH}\share\html\404.html"
@ -155,10 +202,12 @@ Section "install"
SetOutPath "$INSTDIR\share\images"
File "${BINPATH}\share\images\drop_files.png"
File "${BINPATH}\share\images\logo.png"
File "${BINPATH}\share\images\logo_grayscale.png"
File "${BINPATH}\share\images\server_started.png"
File "${BINPATH}\share\images\server_stopped.png"
File "${BINPATH}\share\images\server_working.png"
File "${BINPATH}\share\images\settings.png"
File "${BINPATH}\share\images\settings_inactive.png"
SetOutPath "$INSTDIR\share\locale"
File "${BINPATH}\share\locale\cs.json"
@ -175,37 +224,15 @@ Section "install"
File "${BINPATH}\share\locale\ru.json"
File "${BINPATH}\share\locale\tr.json"
SetOutPath "$INSTDIR\qt5_plugins\iconengines"
File "${BINPATH}\qt5_plugins\iconengines\qsvgicon.dll"
SetOutPath "$INSTDIR\qt5_plugins\imageformats"
File "${BINPATH}\qt5_plugins\imageformats\qgif.dll"
File "${BINPATH}\qt5_plugins\imageformats\qicns.dll"
File "${BINPATH}\qt5_plugins\imageformats\qico.dll"
File "${BINPATH}\qt5_plugins\imageformats\qjpeg.dll"
File "${BINPATH}\qt5_plugins\imageformats\qsvg.dll"
File "${BINPATH}\qt5_plugins\imageformats\qtga.dll"
File "${BINPATH}\qt5_plugins\imageformats\qtiff.dll"
File "${BINPATH}\qt5_plugins\imageformats\qwbmp.dll"
File "${BINPATH}\qt5_plugins\imageformats\qwebp.dll"
SetOutPath "$INSTDIR\qt5_plugins\platforms"
File "${BINPATH}\qt5_plugins\platforms\qminimal.dll"
File "${BINPATH}\qt5_plugins\platforms\qoffscreen.dll"
File "${BINPATH}\qt5_plugins\platforms\qwindows.dll"
SetOutPath "$INSTDIR\qt5_plugins\printsupport"
File "${BINPATH}\qt5_plugins\printsupport\windowsprintersupport.dll"
SetOutPath "$INSTDIR\tor\Data\Tor"
File "${BINPATH}\tor\Data\Tor\geoip"
File "${BINPATH}\tor\Data\Tor\geoip6"
SetOutPath "$INSTDIR\tor\Tor"
File "${BINPATH}\tor\Tor\libeay32.dll"
File "${BINPATH}\tor\Tor\libevent-2-0-5.dll"
File "${BINPATH}\tor\Tor\libevent_core-2-0-5.dll"
File "${BINPATH}\tor\Tor\libevent_extra-2-0-5.dll"
File "${BINPATH}\tor\Tor\libevent-2-0-5.dll"
File "${BINPATH}\tor\Tor\libgcc_s_sjlj-1.dll"
File "${BINPATH}\tor\Tor\libssp-0.dll"
File "${BINPATH}\tor\Tor\ssleay32.dll"
@ -294,56 +321,71 @@ FunctionEnd
Delete "$INSTDIR\api-ms-win-crt-time-l1-1-0.dll"
Delete "$INSTDIR\api-ms-win-crt-utility-l1-1-0.dll"
Delete "$INSTDIR\base_library.zip"
Delete "$INSTDIR\Include\pyconfig.h"
Delete "$INSTDIR\lib2to3\Grammar.txt"
Delete "$INSTDIR\lib2to3\Grammar3.6.2.candidate.2.pickle"
Delete "$INSTDIR\lib2to3\Grammar3.6.2.final.0.pickle"
Delete "$INSTDIR\lib2to3\Grammar3.6.3.candidate.1.pickle"
Delete "$INSTDIR\lib2to3\Grammar3.6.3.final.0.pickle"
Delete "$INSTDIR\lib2to3\Grammar3.6.4.candidate.1.pickle"
Delete "$INSTDIR\lib2to3\Grammar3.6.4.final.0.pickle"
Delete "$INSTDIR\lib2to3\PatternGrammar.txt"
Delete "$INSTDIR\lib2to3\PatternGrammar3.6.2.candidate.2.pickle"
Delete "$INSTDIR\lib2to3\PatternGrammar3.6.2.final.0.pickle"
Delete "$INSTDIR\lib2to3\PatternGrammar3.6.3.candidate.1.pickle"
Delete "$INSTDIR\lib2to3\PatternGrammar3.6.3.final.0.pickle"
Delete "$INSTDIR\lib2to3\PatternGrammar3.6.4.candidate.1.pickle"
Delete "$INSTDIR\lib2to3\PatternGrammar3.6.4.final.0.pickle"
Delete "$INSTDIR\lib2to3\tests"
Delete "$INSTDIR\lib2to3\tests\data"
Delete "$INSTDIR\lib2to3\tests\data\README"
Delete "$INSTDIR\mfc140u.dll"
Delete "$INSTDIR\MSVCP140.dll"
Delete "$INSTDIR\MSVCR100.dll"
Delete "$INSTDIR\onionshare-gui.exe"
Delete "$INSTDIR\onionshare-gui.exe.manifest"
Delete "$INSTDIR\pyexpat.pyd"
Delete "$INSTDIR\PyQt5\Qt\bin\qt.conf"
Delete "$INSTDIR\PyQt5\Qt\plugins\iconengines\qsvgicon.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qgif.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qicns.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qico.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qjpeg.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qsvg.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qtga.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qtiff.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qwbmp.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\imageformats\qwebp.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\platforms\qminimal.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\platforms\qoffscreen.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\platforms\qwindows.dll"
Delete "$INSTDIR\PyQt5\Qt\plugins\printsupport\windowsprintersupport.dll"
Delete "$INSTDIR\PyQt5.Qt.pyd"
Delete "$INSTDIR\PyQt5.QtCore.pyd"
Delete "$INSTDIR\PyQt5.QtGui.pyd"
Delete "$INSTDIR\PyQt5.QtPrintSupport.pyd"
Delete "$INSTDIR\PyQt5.QtWidgets.pyd"
Delete "$INSTDIR\python3.dll"
Delete "$INSTDIR\python35.dll"
Delete "$INSTDIR\pywintypes35.dll"
Delete "$INSTDIR\python36.dll"
Delete "$INSTDIR\pythoncom36.dll"
Delete "$INSTDIR\pywintypes36.dll"
Delete "$INSTDIR\Qt5Core.dll"
Delete "$INSTDIR\Qt5Gui.dll"
Delete "$INSTDIR\Qt5PrintSupport.dll"
Delete "$INSTDIR\Qt5Svg.dll"
Delete "$INSTDIR\Qt5Widgets.dll"
Delete "$INSTDIR\select.pyd"
Delete "$INSTDIR\sip.pyd"
Delete "$INSTDIR\ucrtbase.dll"
Delete "$INSTDIR\unicodedata.pyd"
Delete "$INSTDIR\VCRUNTIME140.dll"
Delete "$INSTDIR\win32wnet.pyd"
Delete "$INSTDIR\_bz2.pyd"
Delete "$INSTDIR\_ctypes.pyd"
Delete "$INSTDIR\_decimal.pyd"
Delete "$INSTDIR\_hashlib.pyd"
Delete "$INSTDIR\_lzma.pyd"
Delete "$INSTDIR\_multiprocessing.pyd"
Delete "$INSTDIR\_socket.pyd"
Delete "$INSTDIR\_ssl.pyd"
Delete "$INSTDIR\Include\pyconfig.h"
Delete "$INSTDIR\lib2to3\Grammar.txt"
Delete "$INSTDIR\lib2to3\Grammar3.5.2.final.0.pickle"
Delete "$INSTDIR\lib2to3\PatternGrammar.txt"
Delete "$INSTDIR\lib2to3\PatternGrammar3.5.2.final.0.pickle"
Delete "$INSTDIR\share\license.txt"
Delete "$INSTDIR\share\version.txt"
Delete "$INSTDIR\share\wordlist.txt"
Delete "$INSTDIR\share\torrc_template-windows"
Delete "$INSTDIR\share\html\404.html"
Delete "$INSTDIR\share\html\denied.html"
Delete "$INSTDIR\share\html\index.html"
Delete "$INSTDIR\share\images\drop_files.png"
Delete "$INSTDIR\share\images\logo.png"
Delete "$INSTDIR\share\images\logo_grayscale.png"
Delete "$INSTDIR\share\images\server_started.png"
Delete "$INSTDIR\share\images\server_stopped.png"
Delete "$INSTDIR\share\images\server_working.png"
Delete "$INSTDIR\share\images\settings.png"
Delete "$INSTDIR\share\images\settings_inactive.png"
Delete "$INSTDIR\share\license.txt"
Delete "$INSTDIR\share\locale\cs.json"
Delete "$INSTDIR\share\locale\de.json"
Delete "$INSTDIR\share\locale\en.json"
@ -357,46 +399,61 @@ FunctionEnd
Delete "$INSTDIR\share\locale\pt.json"
Delete "$INSTDIR\share\locale\ru.json"
Delete "$INSTDIR\share\locale\tr.json"
Delete "$INSTDIR\qt5_plugins\iconengines\qsvgicon.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qgif.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qicns.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qico.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qjpeg.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qsvg.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qtga.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qtiff.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qwbmp.dll"
Delete "$INSTDIR\qt5_plugins\imageformats\qwebp.dll"
Delete "$INSTDIR\qt5_plugins\platforms\qminimal.dll"
Delete "$INSTDIR\qt5_plugins\platforms\qoffscreen.dll"
Delete "$INSTDIR\qt5_plugins\platforms\qwindows.dll"
Delete "$INSTDIR\qt5_plugins\printsupport\windowsprintersupport.dll"
Delete "$INSTDIR\share\torrc_template"
Delete "$INSTDIR\share\torrc_template-windows"
Delete "$INSTDIR\share\version.txt"
Delete "$INSTDIR\share\wordlist.txt"
Delete "$INSTDIR\sip.pyd"
Delete "$INSTDIR\tor\Data\Tor\geoip"
Delete "$INSTDIR\tor\Data\Tor\geoip6"
Delete "$INSTDIR\tor\Tor\libeay32.dll"
Delete "$INSTDIR\tor\Tor\libevent-2-0-5.dll"
Delete "$INSTDIR\tor\Tor\libevent_core-2-0-5.dll"
Delete "$INSTDIR\tor\Tor\libevent_extra-2-0-5.dll"
Delete "$INSTDIR\tor\Tor\libevent-2-0-5.dll"
Delete "$INSTDIR\tor\Tor\libgcc_s_sjlj-1.dll"
Delete "$INSTDIR\tor\Tor\libssp-0.dll"
Delete "$INSTDIR\tor\Tor\ssleay32.dll"
Delete "$INSTDIR\tor\Tor\tor.exe"
Delete "$INSTDIR\tor\Tor\zlib1.dll"
Delete "$INSTDIR\ucrtbase.dll"
Delete "$INSTDIR\unicodedata.pyd"
Delete "$INSTDIR\VCRUNTIME140.dll"
Delete "$INSTDIR\win32api.pyd"
Delete "$INSTDIR\win32com.shell.shell.pyd"
Delete "$INSTDIR\win32trace.pyd"
Delete "$INSTDIR\win32ui.pyd"
Delete "$INSTDIR\win32wnet.pyd"
Delete "$INSTDIR\_asyncio.pyd"
Delete "$INSTDIR\_bz2.pyd"
Delete "$INSTDIR\_ctypes.pyd"
Delete "$INSTDIR\_decimal.pyd"
Delete "$INSTDIR\_hashlib.pyd"
Delete "$INSTDIR\_lzma.pyd"
Delete "$INSTDIR\_multiprocessing.pyd"
Delete "$INSTDIR\_overlapped.pyd"
Delete "$INSTDIR\_socket.pyd"
Delete "$INSTDIR\_ssl.pyd"
Delete "$INSTDIR\_win32sysloader.pyd"
Delete "$INSTDIR\onionshare.ico"
Delete "$INSTDIR\uninstall.exe"
rmDir "$INSTDIR\Include"
rmDir "$INSTDIR\lib2to3\tests\data"
rmDir "$INSTDIR\lib2to3\tests"
rmDir "$INSTDIR\lib2to3"
rmDir "$INSTDIR\PyQt5\Qt\bin"
rmDir "$INSTDIR\PyQt5\Qt\plugins\iconengines"
rmDir "$INSTDIR\PyQt5\Qt\plugins\imageformats"
rmDir "$INSTDIR\PyQt5\Qt\plugins\platforms"
rmDir "$INSTDIR\PyQt5\Qt\plugins\printsupport"
rmDir "$INSTDIR\PyQt5\Qt\plugins"
rmDir "$INSTDIR\PyQt5\Qt"
rmDir "$INSTDIR\PyQt5"
rmDir "$INSTDIR\share\html"
rmDir "$INSTDIR\share\images"
rmDir "$INSTDIR\share\locale"
rmDir "$INSTDIR\share"
rmDir "$INSTDIR\qt5_plugins\iconengines"
rmDir "$INSTDIR\qt5_plugins\imageformats"
rmDir "$INSTDIR\qt5_plugins\platforms"
rmDir "$INSTDIR\qt5_plugins\printsupport"
rmDir "$INSTDIR\qt5_plugins"
rmDir "$INSTDIR\tor\Data\Tor"
rmDir "$INSTDIR\tor\Data"
rmDir "$INSTDIR\tor\Tor"

View File

@ -22,7 +22,6 @@ a = Analysis(
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=['jinja2.asyncsupport'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=None)

View File

@ -6,7 +6,6 @@ Jinja2==2.10
MarkupSafe==1.0
pefile==2017.11.5
PyInstaller==3.3.1
pypiwin32==219
PyQt5==5.9.2
PySocks==1.6.7
sip==4.19.6