I create my application with py2exe
and package it into an installer exe using Inno Setup on Windows 7. The installer created this way can then be installed on both Windows 7 and Windows 10 systems. When it works, the installer shows following screens in sequence:
- Welcome screen
- EULA screen
- default (or previous install) location, allowing user to select new install location,
- Confirming install location, and
- usual install screens.
This is the behavior I get with Inno Setup 5.5.5 or lower.
With Inno Setup 5.5.7 and higher (did not try 5.5.6), the installer is created normally and can be setup as above on Windows 7. However, the same installer fails to show screens 1 and 3 from above list during setup on Windows 10: setup directly starts with EULA screen and then jumps to confirm install location. The confirm screen doesn't even show which directory the installation will be done.
Continuing allows the installation to happen in the default location and the application works normally. Not knowing the install location is highly annoying and undesirable.
The .iss
file that I use (see below) is identical across the different Inno Setup versions that I have tried. In the file, the DefaultDirName
is set explicitly (based on the version of the application).
; WARNING: This script has been created by py2exe. Changes to this script
; will be overwritten the next time py2exe is run!
[Setup]
AppName=MyApp
AppVersion=2.0.1
AppVerName=MyApp 2.0.1
AppPublisher=Company, Inc.
AppPublisherURL=www.company.com
[email protected]
AppCopyright=Copyright (C) 2010-2016, Company, Inc.
LicenseFile=licenseMyAppEULA.rtf
SetupIconFile=iconsCompanyScreeningProgram.ico
WizardImageFile=iconsMyAppImage.bmp
WizardSmallImageFile=iconsMyAppSmallImage.bmp
DefaultDirName=C:MyApp_v2.0.1
DefaultGroupName=MyApp
Compression=lzma
OutputDir=F:Pythondist
OutputBaseFilename=MyApp_2.0.1_Setup
[Files]
Source: "MyApp_main.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "lib\_bsddb.pyd"; DestDir: "{app}lib"; Flags: ignoreversion
;.
;.
;. 600 lines of Source:
Source: "mpl-datastylelibgrayscale.mplstyle"; DestDir: "{app}mpl-datastylelib"; Flags: ignoreversion
I also tried packaging the installer with Inno Setup (5.5.7 and 5.5.9) on Windows 10, but it had the same behavior.
I was wondering it I need to set additional parameters for the installer to work correctly on Windows 10 also for newer versions of Inno Setup?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…