Merge pull request #37 from ltworf/windows

Windows fixes
master
Salvo 'LtWorf' Tomaselli 2020-09-02 19:18:20 +07:00 committed by GitHub
commit e3214def4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 60 additions and 129 deletions

@ -1,27 +1,14 @@
Requirements: Due to py2exe and pyinstaller not working at all, the setup now just installs python
1)Python 3.4, 32bit uses pip to install the requirements and then creates some links to start relational.
2)PyQt5 for python 3.4, 32bit (it should already include the qt libs);
3)Py2exe
4)Innosetup
It is necessary to have the: Microsoft Visual C++ 2010 Redistributable Package. You will need:
Create an exe file 1) Innosetup
- Move the file windows/input.py to ../ 2) The python installer executable in the windows directory
- 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.
Create the setup with Inno Setup Create the setup with Inno Setup
- Run make or it will just never work
- Move windows/ss.iss to ../ - 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 - Open ss.iss with Inno Setup, Build and Compile
A directory named "Output" will be created, which will contain the installer. 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

@ -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 <http://www.gnu.org/licenses/>.
#
# author Salvo "LtWorf" Tomaselli <tiposchi@tiscali.it>
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",
)

@ -0,0 +1,4 @@
# install dependencies using pip
py -m pip install typedload
py -m pip install xtermcolor
py -m pip install PyQt5

@ -1,53 +1,50 @@
; Script generated by the Inno Setup Script Wizard. [Setup]
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! AppId={{6F127615-6AD4-4BD7-8135-2444A335B5CD}
AppName=Relational
[Setup] AppVerName=Relational ver. 3.0
; NOTE: The value of AppId uniquely identifies this application. AppPublisher=Salvo 'LtWorf' Tomaselli
; Do not use the same AppId value in installers for other applications. AppPublisherURL=https://ltworf.github.io/relational/
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) AppSupportURL=https://ltworf.github.io/relational/
AppId={{6F127615-6AD4-4BD7-8135-2444A335B5CD} AppUpdatesURL=https://ltworf.github.io/relational/
AppName=Relational DefaultDirName={pf}\Relational
AppVerName=Relational ver. 3.0 DefaultGroupName=Relational
AppPublisher=Salvo 'LtWorf' Tomaselli AllowNoIcons=yes
AppPublisherURL=http://ltworf.github.io/relational/ LicenseFile=COPYING
AppSupportURL=http://ltworf.github.io/relational/ OutputBaseFilename=SetupRelational
AppUpdatesURL=http://ltworf.github.io/relational/ SetupIconFile=windows\favicon.ico
DefaultDirName={pf}\Relational Compression=lzma
DefaultGroupName=Relational SolidCompression=yes
AllowNoIcons=yes
LicenseFile=COPYING [Languages]
OutputBaseFilename=SetupRelational Name: "english"; MessagesFile: "compiler:Default.isl"
SetupIconFile=windows\favicon.ico
Compression=lzma [Tasks]
SolidCompression=yes Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl" [Run]
; add the Parameters, WorkingDir and StatusMsg as you wish, just keep here
[Tasks] ; the conditional installation Check
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Filename: "{tmp}\python-3.8.5-amd64.exe"; Parameters: "/passive InstallAllUsers=1";
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Filename: "powershell"; Parameters: "-file {tmp}\pipscript.bat"
[Run] [Files]
; add the Parameters, WorkingDir and StatusMsg as you wish, just keep here ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
; the conditional installation Check Source: "windows\python-3.8.5-amd64.exe"; DestDir: {tmp}; Flags: deleteafterinstall
Filename: "{tmp}\vcredist_x86.exe"; Parameters: "/passive /norestart"; Source: "windows\pipscript.bat"; DestDir: {tmp}; Flags: deleteafterinstall
[Files] Source: "relational.py"; DestDir: "{app}"; Flags: ignoreversion
Source: "dist\relational_gui.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "relational\*"; DestDir: "{app}\relational"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "relational_gui\*"; DestDir: "{app}\relational_gui"; Flags: ignoreversion recursesubdirs createallsubdirs
; Source: "windows\font dejavu\*"; DestDir: "{fonts}"; FontInstall: "Dejavu Sans" Source: "samples\*"; DestDir: "{app}\samples"; Flags: ignoreversion recursesubdirs createallsubdirs
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: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}"
[Icons] Name: "{group}\{cm:ProgramOnTheWeb,Relational}"; Filename: "https://ltworf.github.io/relational/"
Name: "{group}\Relational"; Filename: "{app}\relational_gui.exe" Name: "{group}\{cm:UninstallProgram,Relational}"; Filename: "{uninstallexe}"
Name: "{group}\{cm:ProgramOnTheWeb,Relational}"; Filename: "http://ltworf.github.io/relational/" Name: "{commondesktop}\Relational"; Tasks: desktopicon; Filename: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}"
Name: "{group}\{cm:UninstallProgram,Relational}"; Filename: "{uninstallexe}" Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Relational"; Tasks: quicklaunchicon; Filename: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}"
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]
Description: "{cm:LaunchProgram,Relational}"; Flags: nowait postinstall skipifsilent; Filename: "pyw"; Parameters: "relational.py"; WorkingDir: "{app}"
[Run]
Filename: "{app}\relational_gui.exe"; Description: "{cm:LaunchProgram,Relational}"; Flags: nowait postinstall skipifsilent