shlomif / PySolFC

A comprehensive, feature-rich, open source, and portable, collection of Solitaire games.
http://pysolfc.sourceforge.net/
GNU General Public License v3.0
457 stars 102 forks source link

Prepare an MS Windows Binary Installer #58

Closed shlomif closed 6 years ago

shlomif commented 6 years ago

We wish to prepare a functional Windows binary installer that will install cpython (preferably 3.x) and then the pysol sources and provide a usable way to run it for non-technical people. Some leads:

shlomif commented 6 years ago

With the binary Installer, I am getting this error on a windows 7 x86-64 VM - http://www.shlomifish.org/Files/files/images/pysolfc-2.1.3-in-a-win7-vbox-vm.png . @Programator2 : any ideas?

Programator2 commented 6 years ago

Oh right, I see that pysol.exe needs Microsoft VC++ redistributable v100:

D:\pysol_win_dist\dist>dumpbin /dependents pysol.exe
Microsoft (R) COFF/PE Dumper Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file pysol.exe

File Type: EXECUTABLE IMAGE

  Image has the following dependencies:

    USER32.dll
    SHELL32.dll
    *MSVCR100.dll*
    KERNEL32.dll
...

We have two options:

I'm inclined towards the second option. What do you think @shlomif ?

shlomif commented 6 years ago

On Thu, 22 Mar 2018 11:30:24 -0700 Roderik Ploszek notifications@github.com wrote:

Oh right, I see that pysol.exe needs Microsoft VC++ redistributable v100:

D:\pysol_win_dist\dist>dumpbin /dependents pysol.exe  
Microsoft (R) COFF/PE Dumper Version 14.10.25019.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file pysol.exe

File Type: EXECUTABLE IMAGE

  Image has the following dependencies:

    USER32.dll
    SHELL32.dll
    *MSVCR100.dll*
    KERNEL32.dll
...

We have two options:

  • bundle the dll with the binary using py2exe
  • bundle a vcredist installer with the installer

I'm inclined towards the second option. What do you think @shlomif ?

What is a vcredist installer? How do the options differ in effect?

--

Shlomi Fish http://www.shlomifish.org/ First stop for Perl beginners - http://perl-begin.org/

Faith: Becky… you have a lot of potential. You’re more than a pretty face. Becky: Heh, I knew that I have potential, but do you really think I have a pretty face? — http://www.shlomifish.org/humour/Buffy/A-Few-Good-Slayers/

Please reply to list if it's a mailing list post - http://shlom.in/reply .

Programator2 commented 6 years ago

Visual C++ Redistributable (vcredist) is a package that installs MSVCR***.dll library to a system.

With the second option, if someone who doesn't have msvcr100.dll downloads the 7z archive, it won't work because the library would be included only with the installer.

With the first option, both 7z archive and installer would work on a system without msvcr100.dll.

Otherwise there are no differences.

shlomif commented 6 years ago

@Programator2 : getting it to work from the 7z archive is not a big priority. Do what you see fit. Thanks!

Programator2 commented 6 years ago

No problem.

shlomif commented 6 years ago

@Programator2 : now I am getting this error dialog box upon installing in my win7 vm - http://www.shlomifish.org/Files/files/images/pysolfc-2.1.3-in-a-win7-vbox-vm--install-error.png . Can you look into fixing it?

Programator2 commented 6 years ago

Hm, strange. I'll look into it.

shlomif commented 6 years ago

On Sun, 25 Mar 2018 10:43:58 +0000 (UTC) Roderik Ploszek notifications@github.com wrote:

Hm, strange. I'll look into it.

thanks.

--

Shlomi Fish http://www.shlomifish.org/ http://is.gd/KNvczZ - The FSF Announces New Versions of the GPL

Chuck Norris is a real programmer. He writes programs by implementing the most optimised machines for them using real atoms. — http://www.shlomifish.org/humour/bits/facts/Chuck-Norris/

Please reply to list if it's a mailing list post - http://shlom.in/reply .

shlomif commented 6 years ago

Thanks @Programator2 ! On my win 7 vm, PySol FC now installs and runs successfully. One problem is that the solver for FreeCell (and I presume for black hole and all in a row as well) is disabled, but it's still very good progress. thanks again.

Programator2 commented 6 years ago

Great! I'll look into enabling the solver. We can also bundle the fc-solve binary together with the installer, as it was the case with version 2.0 installer.

shlomif commented 6 years ago

On Tue, 27 Mar 2018 17:53:32 +0000 (UTC) Roderik Ploszek notifications@github.com wrote:

Great! I'll look into enabling the solver.

thanks.

We can also bundle the fc-solve binary together with the installer, as it was the case with version 2.0 installer.

sounds good.

--

Shlomi Fish http://www.shlomifish.org/ Funny Anti-Terrorism Story - http://shlom.in/enemy

Chuck Norris can convince everyone that the colour of the bikeshed should be his favourite colour. — http://www.shlomifish.org/humour/bits/facts/Chuck-Norris/

Please reply to list if it's a mailing list post - http://shlom.in/reply .

shlomif commented 6 years ago

@Programator2 : any news regarding the Freecell solver? Note that there is now also http://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/ but I'm not sure how popular these two games are, so integrating it is not too critical. Anyway, do you need any help? Thanks.

Programator2 commented 6 years ago

@shlomif Sorry for not responding. Yes, solver will work when it's bundled with the pysol binary. I just need a zipped version of fc-solve. Could you add an artifact for that in fc-solve appveyor? It should be the 32-bit version. Aftwerwards, I'll just bundle it with pysol.

shlomif commented 6 years ago

@Programator2 : I can, yes. Does it have to be statically linked? Or can I just put fc-solve.exe and freecell-solver.dll together? Note that there are also some data files for presets/etc. though their location can be relative to the binary.

Programator2 commented 6 years ago

@shlomif You can put them together. Keep the folder structure as it is when it's installed and it should be ok. Thanks!

shlomif commented 6 years ago

@Programator2 : thanks! I'll be getting to that

Programator2 commented 6 years ago

@shlomif fc-solve is now bundled with the installer, see 1aa4315

shlomif commented 6 years ago

On Tue, 10 Apr 2018 00:20:45 -0700 Roderik Ploszek notifications@github.com wrote:

@shlomif fc-solve is now bundled with the installer, see 1aa4315

fabulous ! Let me try. Thanks!

--

Shlomi Fish http://www.shlomifish.org/ http://is.gd/htwEXQ - Integrating GNU Guile into GNU coreutils

Jessica on the phone: Sel, you’re getting strange lately, but you are becoming more amusing in the process. — http://www.shlomifish.org/humour/Selina-Mandrake/

Please reply to list if it's a mailing list post - http://shlom.in/reply .

shlomif commented 6 years ago

@Programator2 : thanks! The solver works fine for freecell and for Seahaven Towers, but doesn't for Baker's Dozen. I think I'll have to build the .zip with the rights limits.

Programator2 commented 6 years ago

@shlomif You're right. Sounds good.

shlomif commented 6 years ago

The solver is working fine in the latest build, so I am closing this bug. Thanks @Programator2 and all!