Inno Setup生成的安装程序在某些系统上未显示"选择目标位置"页面

SBK*_*SBK 8 inno-setup

py2exe使用Windows 7上的Inno Setup 创建我的应用程序并将其打包到安装程序exe中.然后可以在Windows 7和Windows 10系统上安装以这种方式创建的安装程序.当它工作时,安装程​​序按顺序显示以下屏幕:

  1. 欢迎屏幕
  2. EULA屏幕
  3. 默认(或以前安装)位置,允许用户选择新的安装位置,
  4. 确认安装位置,和
  5. 通常的安装屏幕.

这是Inno Setup 5.5.5或更低版本的行为.

使用Inno Setup 5.5.7及更高版本(未尝试5.5.6),安装程序正常创建,可以在Windows 7上进行如上设置.但是,相同的安装程序在安装过程中无法从上面的列表中显示屏幕1和3 Windows 10:安装程序直接从EULA屏幕开始,然后跳转到确认安装位置.确认屏幕甚至不显示安装将在哪个目录中完成.

继续允许安装在默认位置进行,并且应用程序正常工作.不知道安装位置是非常烦人和不受欢迎的.

.iss我使用的文件(见下文)在我尝试过的不同Inno Setup版本中是相同的.在文件中,DefaultDirName显式设置(基于应用程序的版本).

; 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
AppContact=support@company.com
AppCopyright=Copyright (C) 2010-2016, Company, Inc.
LicenseFile=license\MyAppEULA.rtf
SetupIconFile=icons\CompanyScreeningProgram.ico
WizardImageFile=icons\MyAppImage.bmp
WizardSmallImageFile=icons\MyAppSmallImage.bmp
DefaultDirName=C:\MyApp_v2.0.1
DefaultGroupName=MyApp
Compression=lzma
OutputDir=F:\Python\dist\
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-data\stylelib\grayscale.mplstyle"; DestDir: "{app}\mpl-data\stylelib"; Flags: ignoreversion
Run Code Online (Sandbox Code Playgroud)

我还尝试在Windows 10上使用Inno Setup(5.5.7和5.5.9)打包安装程序,但它具有相同的行为.

我想知道我需要设置其他参数,以便安装程序在Windows 10上正常工作,对于较新版本的Inno Setup?

Mar*_*ryl 17

引用Inno Setup 5.5.7的修订历史记录:

根据Microsoft的桌面应用程序指南的建议,DisableWelcomePage现在默认为yes.此外DisableDirPage,DisableProgramGroupPage现在默认为auto.以前所有版本的默认值均为no.


结论:


如上面引用中提到的那样,建议使用默认值,因此您应该遵循它们.

  • 谢谢马丁。正如您猜对的那样,我在 Win 10 上安装了该应用程序,但在 Win 7 上没有安装。我将更改默认设置并重试。 (2认同)