Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIndows Installer #370

Closed
eracer001 opened this issue May 30, 2024 · 22 comments
Closed

WIndows Installer #370

eracer001 opened this issue May 30, 2024 · 22 comments
Assignees

Comments

@eracer001
Copy link

Any way to make a windows installer available?

@eoyilmaz
Copy link
Owner

eoyilmaz commented Jun 1, 2024

I'll look into this soon...

@mylovesaber
Copy link

Installer still unavailable. You can compile from source code and run the program by following my toturial(3 exes to install and 10 commands from windows terminal):
#304 (comment)

@eracer001
Copy link
Author

Just wanted to see if there's any work on this. It would help so many people to have an installer.

@conceptrice26
Copy link

would also like this, Make files isn't recognized by windows or VScode even with make installed, no other solutions seem to work. Considering most of us here are likely colorists or similar and not programmers it would be nice to have an installer for windows so updates aren't a day long process.

@eoyilmaz eoyilmaz self-assigned this Sep 24, 2024
eoyilmaz added a commit that referenced this issue Sep 26, 2024
eoyilmaz added a commit that referenced this issue Sep 26, 2024
…s for Python 3.10+ this returns the wrong value.
eoyilmaz added a commit that referenced this issue Sep 26, 2024
…to the usage of `sys.version` where it is replaced with `sys.version_info` as for Python 3.10+ this returns the wrong value.
@eoyilmaz
Copy link
Owner

eoyilmaz commented Sep 26, 2024

Status update!

I'm now able to generate the executables... but they don't run, probably related to a missing DLL... I'm on it.

image
image

@eoyilmaz
Copy link
Owner

Found the problem, microsoft wants a 4 part version number to be listed in the manifest, so adding a "0" to the version number (3.9.12.0 instead of 3.9.12) worked :)

Now the executable starts 👍

displaycal_exe

Let's work on the installer...

eoyilmaz added a commit that referenced this issue Sep 27, 2024
eoyilmaz added a commit that referenced this issue Sep 27, 2024
…version number to allow the embedded manifest to follow Microsoft rules and the frozen executable to run.
@eoyilmaz
Copy link
Owner

eoyilmaz commented Sep 27, 2024

So the DispalCAL.exe is running... but, it is not possible to spawn a worker to run any of the ArgyllCMS executables, which is related to the pywintypes library configuration in the frozen ptyhon:

C:\Users\eoyil\AppData\Local\Temp\DisplayCAL-bu_gasc3>"C:\Users\eoyil\Documents\development\displaycal-py3\dist\py2exe.win-amd64-py3.11\DisplayCAL-3.9.12\lib\python.exe" -S -c "import sys; sys.path = ['C:\\Users\\eoyil\\Documents\\development\\displaycal-py3\\dist\\py2exe.win-amd64-py3.11\\DisplayCAL-3.9.12', 'C:\\Users\\eoyil\\Documents\\development\\displaycal-py3\\dist\\py2exe.win-amd64-py3.11\\DisplayCAL-3.9.12\\library.zip', 'C:\\Users\\eoyil\\Documents\\development\\displaycal-py3\\dist\\py2exe.win-amd64-py3.11\\DisplayCAL-3.9.12\\library.zip\\DisplayCAL', 'C:\\Users\\eoyil\\Documents\\development\\displaycal-py3\\dist\\py2exe.win-amd64-py3.11\\DisplayCAL-3.9.12\\lib\\library.zip', 'C:\\Users\\eoyil\\Documents\\development\\displaycal-py3\\dist\\py2exe.win-amd64-py3.11\\DisplayCAL-3.9.12\\lib\\library.zip\\DisplayCAL'] + sys.path;args = ['C:\\Users\\eoyil\\Downloads\\Argyll_V3.3.0\\bin\\dispread.exe', '-v', '-k', 'C:\\Users\\eoyil\\Documents\\development\\displaycal-py3\\dist\\py2exe.win-amd64-py3.11\\DisplayCAL-3.9.12\\linear.cal', '-d1', '-c1', '-yn', '-P0.49611307420494705,0.520863309352518,1.364864864864865', '0_16']; from DisplayCAL import wexpect;wexpect.ConsoleReader(wexpect.join_args(args), 11620, 2304, cp=1252, c=160, r=None, logdir='DisplayCAL')"
Could not find platform independent libraries <prefix>
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "DisplayCAL\wexpect.pyc", line 92, in <module>
  File "pywintypes.pyc", line 126, in <module>
  File "pywintypes.pyc", line 108, in __import_pywin32_system_module__
ImportError: No system module 'pywintypes' (pywintypes311.dll)

I'm still trying to fix this... I saw one comment suggesting to use pyinstaller, which I wouldn't try doing at this stage where I'm very much progressed with py2exe.

eoyilmaz added a commit that referenced this issue Sep 27, 2024
…layCAL.wxScriptingClient` for `bytes` vs `str` problems.
eoyilmaz added a commit that referenced this issue Sep 27, 2024
…tialize the `print_` arg with `None` and set its default value inside the method, instead of writing a complex expression on the argument itself.
eoyilmaz added a commit that referenced this issue Sep 27, 2024
eoyilmaz added a commit that referenced this issue Sep 27, 2024
…e returned by the `kernel32` library instead of manually setting it to `utf-8` as `cp1252` seems to be working fine, after #383 has been merged. And, simplified a couple of `if` statements that are checking the `stdout.isatty()` value, and updated code formatting.
@eoyilmaz
Copy link
Owner

eoyilmaz commented Sep 27, 2024

I'm wrong ImportError: No system module 'pywintypes' (pywintypes311.dll) is not the problem, as this will only happen if I naively run the command that the worker is running without setting the environment variables to match the frozen executables. This works properly if I run setattr(sys, "frozen", True) and then import tye pywintypes.

So the real problem I suspect is again related with the codepage being cp1252 vs utf-8.

@eoyilmaz
Copy link
Owner

No :) I'm wrong, that was the problem... Fixed, and the exe is working now... Let me run a complete calibration and profiling.

eoyilmaz added a commit that referenced this issue Sep 27, 2024
…commands through `py2exe` frozen `python` interpretter.
@eoyilmaz
Copy link
Owner

Yeah, so it completed the profiling and installed the profile system wide without any errors. Now, let's create the installer.

eoyilmaz added a commit that referenced this issue Oct 9, 2024
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…s for Python 3.10+ this returns the wrong value.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…to the usage of `sys.version` where it is replaced with `sys.version_info` as for Python 3.10+ this returns the wrong value.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…version number to allow the embedded manifest to follow Microsoft rules and the frozen executable to run.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…layCAL.wxScriptingClient` for `bytes` vs `str` problems.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…tialize the `print_` arg with `None` and set its default value inside the method, instead of writing a complex expression on the argument itself.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…e returned by the `kernel32` library instead of manually setting it to `utf-8` as `cp1252` seems to be working fine, after #383 has been merged. And, simplified a couple of `if` statements that are checking the `stdout.isatty()` value, and updated code formatting.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…commands through `py2exe` frozen `python` interpretter.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
… that the installer uses "Program Files" instead of "Program Files (x86)" by default.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…file path between quotes to prevent space characters in the file path to cause any errors.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…conf()` for a `str` vs `bytes` error raised when the VCGT doesn't have exactly 256 entries.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…splayCAL.wxfixes.GenBitmapTextButton.DrawLabel()` to use `int` arguments.
eoyilmaz added a commit that referenced this issue Oct 9, 2024
eoyilmaz added a commit that referenced this issue Oct 9, 2024
eoyilmaz added a commit that referenced this issue Oct 9, 2024
eoyilmaz added a commit that referenced this issue Oct 9, 2024
…gs under Windows and not under Linux/MacOS.
@eoyilmaz
Copy link
Owner

eoyilmaz commented Oct 9, 2024

I'm inclained to merge this branch to #367 and release a new version all together. We now have a Windows Installer which this ticket is about, profiling and installing the profile is working. But we might have kinks that we need to fix with other tickets.

@eoyilmaz
Copy link
Owner

eoyilmaz commented Oct 9, 2024

Okay so, this is merged to #367 and the Windows Installer will be released with 3.9.13 soon.

@eoyilmaz eoyilmaz closed this as completed Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants