Initial Update of Windows Packaging#438
Conversation
Add package_windows back into package.py - Using cx_freeze for freezing installation - Will be using nsis for actual installer Tested with python 3.5 64bit on windows 10 Ref #393
- Update the makefile to support windows - Use different bin path in virtualenv - Use pyd instead of so files - Tested with Msys2 - Add *.exe to .gitignore - Fix minor format error in package.py Ref #393
Add the requirements-windows.txt - contains cx-Freeze for bundling Ref #393
Initial Version of a NSIS installer script - Multi-user install (install for just one or all) - Registers uninstaller (more values need to finish up) - Tested both single and all install / uninstall and works - Still need to add parameters instead of hardcoded values in some spots - Need to clean up vendor folders / keys if empty on uninstall - Need to add the other dupeGuru languages to the language list - Minor cleanup of script needed as well Ref #393
Updates to setup.nsi including: - Defines from CLI - Version information (MAJOR, MINOR, PATCH) - Bits (64 / 32) - SourcePath (if we wanted something other than build) - Added extra defines to move application specifics to one location - Added extra defines for uninstall information - Added calculation of install size - Added switching between 64 and 32 bit contexts (need to verify functionality) - Updated output file naming - Added NSIS supported languages which are also supported by dupeGuru - Added rest of registry keys for uninstall information - Added missing registry key for installType - Added removeing Vendor folder and registry key if empty on uninstall Should be very close to having this installer script ready to integrate into the package.py script if desired. Ref #393
Minor update to README to indicate windows is supported. Add PyQt5 to requirements-windows.txt to make installation easier.
- Update package.py to integrate NSIS for windows - Update makefile to deal with a few additional windows issues - Add Windows.md to contain specific windows instructions, if we want this can be merged with README.md - Minor formatting update to setup.nsi Ref #393
- Update the README to include a reference to the Windows instructions. - Add some additional notes into Windows Instructions and remove one incorrect command. - Update .gitignore to ignore all permutations of env* to allow for multiple side by side virtual environments (used to build different versions for windows) Ref: #393
Fix broken python link and move nsis link for consistency.
# Conflicts: # Makefile - Update to use makefile changes from hsoft/master - Remove unneeded PIP_OPTIONS
|
@arsenetar Thanks! I'll set myself up with a windows 7 VM and try it. As for I hope to find the time to do that before next week. |
|
@hsoft You would need one package per arch, but what I had meant was that if you installed both |
|
What do you use to provide |
|
I was using msys2 when using make msys and other versions should work as well but I did not test them. I did mention it in the Windows.md file. However, I found it easier to just forego using make and run the respective commands instead. |
|
Oops, I did not even read the whole thing. I only saw |
|
I get an error during build: I've installed Visual Studio 2015 build tools and python 3.6, amd64. Also, shouldn't Visual Studio be listed as a dependency? Python is particularly picky about VS versions. There should be better instructions about which one to choose, where to download it, etc.. |
|
Yeah, I will get some updates on that, I have had that part setup for quite some time and had not thought about it. I was building with 3.5 as well on my machines, not sure if that ends up making a difference. I will look at that. It looks like they might be recommending Visual Studio 2017 build tools now, but I had used 2015 just fine. Since I have both the windows 10 sdk and windows 8.1 sdk it seems like my builds of those modules are using the windows 10 sdk. |
|
Just tested 3.6 x64 bit and it seems to work fine on my system for the build again, I know we are not using exactly the same versions but from what I can tell either sdk should work. I also finally had the chance to run the installer and program on a windows 7 computer and it seems to be working fine there as well. It did have the Visual C++ Redistributables already installed, which I wonder if those would cause issues if absent even though the packaging bundles the dll. |
Update Windows.md including: - Information on compilier requirements for windows - Notes about the windows 10 sdk - Some clarification around some of the steps - Addition of msys2 links Going to review this a bit more to polish it up. Ref #393.
|
I haven't tried it again, but could it simply be that I ran from |
|
Possible, mine works without needing that, I think python's setuptools should call the respective visual studio bits from my understanding. I've had something like that happen before outside of python but I don't remember the solution... I might have reinstalled the visual studio tools and sdks. |
|
I can't believe how long it is to install all updates on a win7 machine. And then comes the VS build tools which also takes forever! |
|
And now I have cryptic linking error. grrr! I give up. I already spent hours on this and I hate myself for having wasted this time in Windows. Would you mind supplying builds yourself? There's still a trust issue due to the fact that I don't know you, but what the hell, I'll host it anyway with a "at your own risk" notice. |
|
I have no problem supplying builds. Yeah, I had issues at work with getting windows 7 all setup for building software. Luckily windows 10 seems to have less issues for me, still doesn't beat Linux though. |
|
Thanks! Then I'd be ready to merge and wait for your builds for v4.0.3 (I think my email server will handle this size). Just a couple of questions:
Also: you mentioned earlier problems with |
I can build a |
|
Yes, As for issues, they're not very well labeled. I've labeled "Windows" anything that had a windows traceback, but most of them are probably not windows-specific. I don't think that there's many windows-specific tasks in the backlog. My question was more in reference of possible future windows-specific issues. I'll assign them to you if they arise. |
|
Just commenting I cleaned up my master to fix how I was doing PRs. Changes which made this PR up are now in https://github.com/arsenetar/dupeguru/tree/393. This is probably not needed as they are preserved here. But just in case I have moved them there. |
I tested the generated installers and executable files on a couple windows 10 machines and they seem to work fine. There are probably a few areas for improvement, namely:
package.py, adding the ability to pass the path would be betterRight now I think as long as the program itself works and the packaging works well it would probably be good to get it out to see if there are additional issues.
Ref #393