我使用py2exe
创建我的应用程序,并使用Windows 7上的Inno Setup将其打包到安装程序exe中。然后可以在Windows 7和Windows 10系统上安装以这种方式创建的安装程序。当它工作时,安装程序按顺序显示以下屏幕:
这是 Inno Setup 5.5.5 或更低版本所带来的行为。
使用 Inno Setup 5.5.7 及更高版本(未尝试5.5.6),安装程序正常创建,可以在Windows 7上进行如上设置。但是,相同的安装程序无法显示在Windows 10上进行设置时,屏幕1和3从上面的列表开始:安装程序直接从EULA屏幕开始,然后跳转到确认安装位置。确认屏幕甚至不显示安装将在哪个目录中完成。
继续允许安装在默认位置进行,应用程序正常工作。不知道安装位置是非常烦人和不受欢迎的。
我使用的.iss
文件(见下文)在我尝试的不同Inno安装版本中是相同的。在文件中,显式设置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
我还尝试在Windows 10上使用Inno Setup(5.5.7和5.5.9)打包安装程序,但它具有相同的行为。
我想知道我需要设置其他参数,以便安装程序在Windows 10上正常工作,也适用于较新版本的Inno Setup吗?
答案 0 :(得分:15)
引用revision history for Inno Setup 5.5.7:
根据Microsoft的桌面应用程序指南的建议,
DisableWelcomePage
现在默认为yes
。此外,DisableDirPage
和DisableProgramGroupPage
现在默认为auto
。所有先前版本的默认值均为no
。
结论:
默认情况下,欢迎页面不再显示。要启用它,请设置DisableWelcomePage
:
DisableWelcomePage=no
我认为您在Windows 7上显示该页面的陈述并不正确。
"选择目的地位置"页面仅显示新安装,不适用于"升级"。因此,这与Windows 7与Windows 10无关。不同之处可能是您在Windows 10系统上安装了该应用程序;并且您没有在Windows 7系统上安装它。
要始终显示该页面,请设置DisableDirPage
:
DisableDirPage=no
如上面引用中提到的那样,建议使用默认值,因此您应该遵循它们。
答案 1 :(得分:2)
我找到了影响它的其他参数。
CreateAppDir=no
在CreateAppDir页面中说:
如果设置为no,则不会创建应用程序的目录,将不会显示 Select Destination Location 向导页面,{app}目录常量等同于{win目录常量。如果在
CreateAppDir
为no时启用了卸载功能,则会在系统的Windows目录中创建卸载数据文件。