diff --git a/install/build_exe.bat b/install/build_exe.bat index dee34cf7..e0a2094e 100644 --- a/install/build_exe.bat +++ b/install/build_exe.bat @@ -1,10 +1,12 @@ -REM use PyInstaller to builder a folder with onionshare.exe -pyinstaller install\pyinstaller.spec -y +REM build onionshare.exe, onionshare-gui.exe +python setup.py build -REM sign onionshare.exe -signtool.exe sign /v /d "OnionShare" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 dist\onionshare\onionshare.exe +REM sign onionshare.exe, onionshare-gui.exe +signtool.exe sign /v /d "OnionShare" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 build\exe.win32-3.5\onionshare.exe +signtool.exe sign /v /d "OnionShare" /a /tr http://timestamp.globalsign.com/scripts/timstamp.dll /fd sha256 build\exe.win32-3.5\onionshare-gui.exe REM build an installer, dist\OnionShare_Setup.exe +mkdir dist makensis.exe install\onionshare.nsi REM sign OnionShare_Setup.exe diff --git a/install/onionshare.nsi b/install/onionshare.nsi index 33c79b27..101518de 100644 --- a/install/onionshare.nsi +++ b/install/onionshare.nsi @@ -1,18 +1,18 @@ !define APPNAME "OnionShare" -!define BINPATH "..\dist\onionshare" +!define BINPATH "..\build\exe.win32-3.5" !define ABOUTURL "https:\\onionshare.org\" # change these with each release -!define INSTALLSIZE 60866 +!define INSTALLSIZE 35630 !define VERSIONMAJOR 0 !define VERSIONMINOR 9 -!define VERSIONSTRING "0.9" +!define VERSIONSTRING "0.9.1" RequestExecutionLevel admin Name "OnionShare" InstallDir "$PROGRAMFILES\${APPNAME}" -LicenseData "license.txt" +LicenseData "..\resources\license.txt" Icon "onionshare.ico" !include LogicLib.nsh @@ -61,51 +61,68 @@ FunctionEnd Section "install" SetOutPath "$INSTDIR" File "onionshare.ico" - SetOutPath "$INSTDIR\html" - File "${BINPATH}\html\404.html" - File "${BINPATH}\html\denied.html" - File "${BINPATH}\html\index.html" - SetOutPath "$INSTDIR\images" - File "${BINPATH}\images\logo.png" - File "${BINPATH}\images\drop_files.png" - File "${BINPATH}\images\server_stopped.png" - File "${BINPATH}\images\server_started.png" - File "${BINPATH}\images\server_working.png" - SetOutPath "$INSTDIR\Include" - File "${BINPATH}\include\pyconfig.h" - SetOutPath "$INSTDIR\locale" - File "${BINPATH}\locale\de.json" - File "${BINPATH}\locale\en.json" - File "${BINPATH}\locale\eo.json" - File "${BINPATH}\locale\es.json" - File "${BINPATH}\locale\fi.json" - File "${BINPATH}\locale\fr.json" - File "${BINPATH}\locale\it.json" - File "${BINPATH}\locale\nl.json" - File "${BINPATH}\locale\no.json" - File "${BINPATH}\locale\pt.json" - File "${BINPATH}\locale\ru.json" - File "${BINPATH}\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\qdds.dll" - 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\qjp2.dll" - File "${BINPATH}\qt5_plugins\imageformats\qjpeg.dll" - File "${BINPATH}\qt5_plugins\imageformats\qmng.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\imageformats" + File "${BINPATH}\imageformats\qdds.dll" + File "${BINPATH}\imageformats\qgif.dll" + File "${BINPATH}\imageformats\qicns.dll" + File "${BINPATH}\imageformats\qico.dll" + File "${BINPATH}\imageformats\qjpeg.dll" + File "${BINPATH}\imageformats\qsvg.dll" + File "${BINPATH}\imageformats\qtga.dll" + File "${BINPATH}\imageformats\qtiff.dll" + File "${BINPATH}\imageformats\qwbmp.dll" + File "${BINPATH}\imageformats\qwebp.dll" + SetOutPath "$INSTDIR\platforms" + File "${BINPATH}\platforms\qminimal.dll" + File "${BINPATH}\platforms\qoffscreen.dll" + File "${BINPATH}\platforms\qwindows.dll" + SetOutPath "$INSTDIR\resources" + File "${BINPATH}\resources\license.txt" + File "${BINPATH}\resources\version.txt" + File "${BINPATH}\resources\wordlist.txt" + SetOutPath "$INSTDIR\resources\html" + File "${BINPATH}\resources\html\404.html" + File "${BINPATH}\resources\html\denied.html" + File "${BINPATH}\resources\html\index.html" + SetOutPath "$INSTDIR\resources\images" + File "${BINPATH}\resources\images\logo.png" + File "${BINPATH}\resources\images\drop_files.png" + File "${BINPATH}\resources\images\server_stopped.png" + File "${BINPATH}\resources\images\server_started.png" + File "${BINPATH}\resources\images\server_working.png" + SetOutPath "$INSTDIR\resources\locale" + File "${BINPATH}\resources\locale\de.json" + File "${BINPATH}\resources\locale\en.json" + File "${BINPATH}\resources\locale\eo.json" + File "${BINPATH}\resources\locale\es.json" + File "${BINPATH}\resources\locale\fi.json" + File "${BINPATH}\resources\locale\fr.json" + File "${BINPATH}\resources\locale\it.json" + File "${BINPATH}\resources\locale\nl.json" + File "${BINPATH}\resources\locale\no.json" + File "${BINPATH}\resources\locale\pt.json" + File "${BINPATH}\resources\locale\ru.json" + File "${BINPATH}\resources\locale\tr.json" SetOutPath "$INSTDIR" + File "${BINPATH}\MSVCP140.dll" + File "${BINPATH}\onionshare-gui.exe" + File "${BINPATH}\onionshare.exe" + File "${BINPATH}\pyexpat.pyd" + File "${BINPATH}\PyQt5.QtCore.pyd" + File "${BINPATH}\PyQt5.QtGui.pyd" + File "${BINPATH}\PyQt5.QtWidgets.pyd" + File "${BINPATH}\python35.dll" + File "${BINPATH}\python35.zip" + File "${BINPATH}\pywintypes35.dll" + File "${BINPATH}\Qt5Core.dll" + File "${BINPATH}\Qt5Gui.dll" + File "${BINPATH}\Qt5Svg.dll" + File "${BINPATH}\Qt5Widgets.dll" + File "${BINPATH}\select.pyd" + File "${BINPATH}\sip.pyd" + File "${BINPATH}\unicodedata.pyd" + File "${BINPATH}\VCRUNTIME140.dll" + File "${BINPATH}\win32wnet.pyd" File "${BINPATH}\_bz2.pyd" File "${BINPATH}\_ctypes.pyd" File "${BINPATH}\_decimal.pyd" @@ -114,33 +131,6 @@ Section "install" File "${BINPATH}\_multiprocessing.pyd" File "${BINPATH}\_socket.pyd" File "${BINPATH}\_ssl.pyd" - File "${BINPATH}\base_library.zip" - File "${BINPATH}\icudt53.dll" - File "${BINPATH}\icuin53.dll" - File "${BINPATH}\icuuc53.dll" - File "${BINPATH}\MSVCP100.dll" - File "${BINPATH}\MSVCR100.dll" - File "${BINPATH}\onionshare.exe" - File "${BINPATH}\onionshare.exe.manifest" - File "${BINPATH}\pyexpat.pyd" - File "${BINPATH}\PyQt5.Qt.pyd" - File "${BINPATH}\PyQt5.QtCore.pyd" - File "${BINPATH}\PyQt5.QtGui.pyd" - File "${BINPATH}\PyQt5.QtPrintSupport.pyd" - File "${BINPATH}\PyQt5.QtWidgets.pyd" - File "${BINPATH}\python34.dll" - File "${BINPATH}\pywintypes34.dll" - File "${BINPATH}\Qt5Core.dll" - File "${BINPATH}\Qt5Gui.dll" - File "${BINPATH}\Qt5PrintSupport.dll" - File "${BINPATH}\Qt5Svg.dll" - File "${BINPATH}\Qt5Widgets.dll" - File "${BINPATH}\select.pyd" - File "${BINPATH}\sip.pyd" - File "${BINPATH}\unicodedata.pyd" - File "${BINPATH}\version.txt" - File "${BINPATH}\win32wnet.pyd" - File "${BINPATH}\wordlist.txt" # uninstaller !ifndef INNER @@ -149,7 +139,7 @@ Section "install" !endif # start menu - CreateShortCut "$SMPROGRAMS\${APPNAME}.lnk" "$INSTDIR\onionshare.exe" "" "$INSTDIR\onionshare.ico" + CreateShortCut "$SMPROGRAMS\${APPNAME}.lnk" "$INSTDIR\onionshare-gui.exe" "" "$INSTDIR\onionshare.ico" # registry information for add\remove programs WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${APPNAME}" "DisplayName" "${APPNAME}" @@ -184,43 +174,61 @@ FunctionEnd Delete "$SMPROGRAMS\${APPNAME}.lnk" # remove files - Delete "$INSTDIR\html\404.html" - Delete "$INSTDIR\html\denied.html" - Delete "$INSTDIR\html\index.html" - Delete "$INSTDIR\images\logo.png" - Delete "$INSTDIR\images\drop_files.png" - Delete "$INSTDIR\images\server_stopped.png" - Delete "$INSTDIR\images\server_started.png" - Delete "$INSTDIR\images\server_working.png" - Delete "$INSTDIR\include\pyconfig.h" - Delete "$INSTDIR\locale\de.json" - Delete "$INSTDIR\locale\en.json" - Delete "$INSTDIR\locale\eo.json" - Delete "$INSTDIR\locale\es.json" - Delete "$INSTDIR\locale\fi.json" - Delete "$INSTDIR\locale\fr.json" - Delete "$INSTDIR\locale\it.json" - Delete "$INSTDIR\locale\nl.json" - Delete "$INSTDIR\locale\no.json" - Delete "$INSTDIR\locale\pt.json" - Delete "$INSTDIR\locale\ru.json" - Delete "$INSTDIR\locale\tr.json" - Delete "$INSTDIR\qt5_plugins\iconengines\qsvgicon.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qdds.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\qjp2.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qjpeg.dll" - Delete "$INSTDIR\qt5_plugins\imageformats\qmng.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\imageformats\qdds.dll" + Delete "$INSTDIR\imageformats\qgif.dll" + Delete "$INSTDIR\imageformats\qicns.dll" + Delete "$INSTDIR\imageformats\qico.dll" + Delete "$INSTDIR\imageformats\qjpeg.dll" + Delete "$INSTDIR\imageformats\qsvg.dll" + Delete "$INSTDIR\imageformats\qtga.dll" + Delete "$INSTDIR\imageformats\qtiff.dll" + Delete "$INSTDIR\imageformats\qwbmp.dll" + Delete "$INSTDIR\imageformats\qwebp.dll" + Delete "$INSTDIR\platforms\qminimal.dll" + Delete "$INSTDIR\platforms\qoffscreen.dll" + Delete "$INSTDIR\platforms\qwindows.dll" + Delete "$INSTDIR\resources\license.txt" + Delete "$INSTDIR\resources\version.txt" + Delete "$INSTDIR\resources\wordlist.txt" + Delete "$INSTDIR\resources\html\404.html" + Delete "$INSTDIR\resources\html\denied.html" + Delete "$INSTDIR\resources\html\index.html" + Delete "$INSTDIR\resources\images\logo.png" + Delete "$INSTDIR\resources\images\drop_files.png" + Delete "$INSTDIR\resources\images\server_stopped.png" + Delete "$INSTDIR\resources\images\server_started.png" + Delete "$INSTDIR\resources\images\server_working.png" + Delete "$INSTDIR\resources\locale\de.json" + Delete "$INSTDIR\resources\locale\en.json" + Delete "$INSTDIR\resources\locale\eo.json" + Delete "$INSTDIR\resources\locale\es.json" + Delete "$INSTDIR\resources\locale\fi.json" + Delete "$INSTDIR\resources\locale\fr.json" + Delete "$INSTDIR\resources\locale\it.json" + Delete "$INSTDIR\resources\locale\nl.json" + Delete "$INSTDIR\resources\locale\no.json" + Delete "$INSTDIR\resources\locale\pt.json" + Delete "$INSTDIR\resources\locale\ru.json" + Delete "$INSTDIR\resources\locale\tr.json" + Delete "$INSTDIR\MSVCP140.dll" + Delete "$INSTDIR\onionshare-gui.exe" + Delete "$INSTDIR\onionshare.exe" + Delete "$INSTDIR\pyexpat.pyd" + Delete "$INSTDIR\PyQt5.QtCore.pyd" + Delete "$INSTDIR\PyQt5.QtGui.pyd" + Delete "$INSTDIR\PyQt5.QtWidgets.pyd" + Delete "$INSTDIR\python35.dll" + Delete "$INSTDIR\python35.zip" + Delete "$INSTDIR\pywintypes35.dll" + Delete "$INSTDIR\Qt5Core.dll" + Delete "$INSTDIR\Qt5Gui.dll" + Delete "$INSTDIR\Qt5Svg.dll" + Delete "$INSTDIR\Qt5Widgets.dll" + Delete "$INSTDIR\select.pyd" + Delete "$INSTDIR\sip.pyd" + Delete "$INSTDIR\unicodedata.pyd" + Delete "$INSTDIR\VCRUNTIME140.dll" + Delete "$INSTDIR\win32wnet.pyd" Delete "$INSTDIR\_bz2.pyd" Delete "$INSTDIR\_ctypes.pyd" Delete "$INSTDIR\_decimal.pyd" @@ -229,44 +237,16 @@ FunctionEnd Delete "$INSTDIR\_multiprocessing.pyd" Delete "$INSTDIR\_socket.pyd" Delete "$INSTDIR\_ssl.pyd" - Delete "$INSTDIR\base_library.zip" - Delete "$INSTDIR\icudt53.dll" - Delete "$INSTDIR\icuin53.dll" - Delete "$INSTDIR\icuuc53.dll" - Delete "$INSTDIR\MSVCP100.dll" - Delete "$INSTDIR\MSVCR100.dll" - Delete "$INSTDIR\onionshare.exe" - Delete "$INSTDIR\onionshare.exe.manifest" - Delete "$INSTDIR\pyexpat.pyd" - 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\python34.dll" - Delete "$INSTDIR\pywintypes34.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\unicodedata.pyd" - Delete "$INSTDIR\version.txt" - Delete "$INSTDIR\win32wnet.pyd" - Delete "$INSTDIR\wordlist.txt" + Delete "$INSTDIR\onionshare.ico" Delete "$INSTDIR\uninstall.exe" - rmDir "$INSTDIR\html" - rmDir "$INSTDIR\images" - rmDir "$INSTDIR\Include" - rmDir "$INSTDIR\locale" - rmDir "$INSTDIR\qt5_plugins\iconengines" - rmDir "$INSTDIR\qt5_plugins\imageformats" - rmDir "$INSTDIR\qt5_plugins\platforms" - rmDir "$INSTDIR\qt5_plugins" + rmDir "$INSTDIR\imageformats" + rmDir "$INSTDIR\platforms" + rmDir "$INSTDIR\resources\html" + rmDir "$INSTDIR\resources\images" + rmDir "$INSTDIR\resources\locale" + rmDir "$INSTDIR\resources" rmDir "$INSTDIR" # remove uninstaller information from the registry