From bf21ff11211eb2fad6ff66cc76965c4da3f0bbf6 Mon Sep 17 00:00:00 2001 From: Salvo 'LtWorf' Tomaselli Date: Wed, 2 Sep 2020 18:17:07 +0200 Subject: [PATCH 1/3] New installer --- windows/pipscript.bat | 4 ++ windows/ss.iss | 103 ++++++++++++++++++++---------------------- 2 files changed, 54 insertions(+), 53 deletions(-) create mode 100644 windows/pipscript.bat diff --git a/windows/pipscript.bat b/windows/pipscript.bat new file mode 100644 index 0000000..cd613ff --- /dev/null +++ b/windows/pipscript.bat @@ -0,0 +1,4 @@ +# install dependencies using pip +py -m pip install typedload +py -m pip install xtermcolor +py -m pip install PyQt5 diff --git a/windows/ss.iss b/windows/ss.iss index b8d73c4..af7f394 100755 --- a/windows/ss.iss +++ b/windows/ss.iss @@ -1,53 +1,50 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! - -[Setup] -; NOTE: The value of AppId uniquely identifies this application. -; Do not use the same AppId value in installers for other applications. -; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{6F127615-6AD4-4BD7-8135-2444A335B5CD} -AppName=Relational -AppVerName=Relational ver. 3.0 -AppPublisher=Salvo 'LtWorf' Tomaselli -AppPublisherURL=http://ltworf.github.io/relational/ -AppSupportURL=http://ltworf.github.io/relational/ -AppUpdatesURL=http://ltworf.github.io/relational/ -DefaultDirName={pf}\Relational -DefaultGroupName=Relational -AllowNoIcons=yes -LicenseFile=COPYING -OutputBaseFilename=SetupRelational -SetupIconFile=windows\favicon.ico -Compression=lzma -SolidCompression=yes - -[Languages] -Name: "english"; MessagesFile: "compiler:Default.isl" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked -Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Run] -; add the Parameters, WorkingDir and StatusMsg as you wish, just keep here -; the conditional installation Check -Filename: "{tmp}\vcredist_x86.exe"; Parameters: "/passive /norestart"; - -[Files] -Source: "dist\relational_gui.exe"; DestDir: "{app}"; Flags: ignoreversion -Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -; Source: "windows\font dejavu\*"; DestDir: "{fonts}"; FontInstall: "Dejavu Sans" -Source: "samples\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs -Source: "vcredist_x86.exe"; DestDir: {tmp}; Flags: deleteafterinstall -; NOTE: Don't use "Flags: ignoreversion" on any shared system files - -[Icons] -Name: "{group}\Relational"; Filename: "{app}\relational_gui.exe" -Name: "{group}\{cm:ProgramOnTheWeb,Relational}"; Filename: "http://ltworf.github.io/relational/" -Name: "{group}\{cm:UninstallProgram,Relational}"; Filename: "{uninstallexe}" -Name: "{commondesktop}\Relational"; Filename: "{app}\relational_gui.exe"; Tasks: desktopicon -Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Relational"; Filename: "{app}\relational_gui.exe"; Tasks: quicklaunchicon - -[Run] -Filename: "{app}\relational_gui.exe"; Description: "{cm:LaunchProgram,Relational}"; Flags: nowait postinstall skipifsilent - +[Setup] +AppId={{6F127615-6AD4-4BD7-8135-2444A335B5CD} +AppName=Relational +AppVerName=Relational ver. 3.0 +AppPublisher=Salvo 'LtWorf' Tomaselli +AppPublisherURL=https://ltworf.github.io/relational/ +AppSupportURL=https://ltworf.github.io/relational/ +AppUpdatesURL=https://ltworf.github.io/relational/ +DefaultDirName={pf}\Relational +DefaultGroupName=Relational +AllowNoIcons=yes +LicenseFile=COPYING +OutputBaseFilename=SetupRelational +SetupIconFile=windows\favicon.ico +Compression=lzma +SolidCompression=yes + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Run] +; add the Parameters, WorkingDir and StatusMsg as you wish, just keep here +; the conditional installation Check +Filename: "{tmp}\python-3.8.5-amd64.exe"; Parameters: "/passive InstallAllUsers=1"; +Filename: "powershell"; Parameters: "-file {tmp}\pipscript.bat" + +[Files] +; NOTE: Don't use "Flags: ignoreversion" on any shared system files +Source: "windows\python-3.8.5-amd64.exe"; DestDir: {tmp}; Flags: deleteafterinstall +Source: "windows\pipscript.bat"; DestDir: {tmp}; Flags: deleteafterinstall + +Source: "relational.py"; DestDir: "{app}"; Flags: ignoreversion +Source: "relational\*"; DestDir: "{app}\relational"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "relational_gui\*"; DestDir: "{app}\relational_gui"; Flags: ignoreversion recursesubdirs createallsubdirs +Source: "samples\*"; DestDir: "{app}\samples"; Flags: ignoreversion recursesubdirs createallsubdirs + + +[Icons] +Name: "{group}\Relational"; Filename: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}" +Name: "{group}\{cm:ProgramOnTheWeb,Relational}"; Filename: "https://ltworf.github.io/relational/" +Name: "{group}\{cm:UninstallProgram,Relational}"; Filename: "{uninstallexe}" +Name: "{commondesktop}\Relational"; Tasks: desktopicon; Filename: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}" +Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Relational"; Tasks: quicklaunchicon; Filename: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}" + +[Run] +Description: "{cm:LaunchProgram,Relational}"; Flags: nowait postinstall skipifsilent; Filename: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}" From d11f87067d5dd5528699fd9aee5311a873f3ac87 Mon Sep 17 00:00:00 2001 From: Salvo 'LtWorf' Tomaselli Date: Thu, 27 Aug 2020 15:04:22 +0200 Subject: [PATCH 2/3] Windows README --- windows/README.txt | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/windows/README.txt b/windows/README.txt index a10ad30..969e900 100644 --- a/windows/README.txt +++ b/windows/README.txt @@ -1,27 +1,14 @@ -Requirements: -1)Python 3.4, 32bit -2)PyQt5 for python 3.4, 32bit (it should already include the qt libs); -3)Py2exe -4)Innosetup +Due to py2exe and pyinstaller not working at all, the setup now just installs python +uses pip to install the requirements and then creates some links to start relational. -It is necessary to have the: Microsoft Visual C++ 2010 Redistributable Package. +You will need: - Create an exe file -- Move the file windows/input.py to ../ -- Chech that the version number is correct -- Execute "python input.py py2exe" - -At the end, there should be a directory named "dist" containing the exe file and the needed libs (excluding for the c++ one) -within the dist directory there should be a "platforms" directory with a dll the PyQt5 directory. +1) Innosetup +2) The python installer executable in the windows directory Create the setup with Inno Setup +- Run make or it will just never work - Move windows/ss.iss to ../ -- Download the Microsoft Visual C++ 2010 Redistributable, call it vcredist_x86.exe and save it in the relational main directory - Open ss.iss with Inno Setup, Build and Compile A directory named "Output" will be created, which will contain the installer. - -Notes: -- To create the setup, don't move the "dist" directory or its content. -- Do not delete or move the directory windows/font dejavu -- If the shell is open, it will not work. The windows shell does not support unicode and will generate exceptions when trying to print expressions on it From f26a55ee1ea7892f809bafe83b19d7d583c708af Mon Sep 17 00:00:00 2001 From: Salvo 'LtWorf' Tomaselli Date: Wed, 2 Sep 2020 18:17:23 +0200 Subject: [PATCH 3/3] Useless file --- windows/input.py | 57 ------------------------------------------------ 1 file changed, 57 deletions(-) delete mode 100644 windows/input.py diff --git a/windows/input.py b/windows/input.py deleted file mode 100644 index bcfe96c..0000000 --- a/windows/input.py +++ /dev/null @@ -1,57 +0,0 @@ -# Relational -# Copyright (C) 2008-2020 Salvo "LtWorf" Tomaselli -# -# Relational is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# author Salvo "LtWorf" Tomaselli - -from distutils.core import setup -import py2exe - -#It was complaining about the already installed MSVCP90.dll -#So it is removed from the checks and signals to the user the -#probable need to manually install it. Since to redistribute it -#some dammit certificates are needed. - -includes = ( - "sip", - "PyQt5", - "PyQt5.QtCore", - "PyQt5.QtGui", -) - -datafiles = ( - ( - "platforms", ["C:\\Python34\\Lib\\site-packages\\PyQt5\\plugins" + "\\platforms\\qwindows.dll"] - ), -) - -setup( - data_files=datafiles, - zipfile=None, - options={ - "py2exe": { - "includes": includes, - "dll_excludes": ["MSVCP90.dll"], - } - }, - windows=[ - { - "script": "relational.py", - "icon_resources": [(0, "windows/favicon.ico")], - } - ], - name="Relational", - version="3.0", -)