Inno Setup 如何根据 32 位或 64 位系统自动安装对应版本程序

目前在 Windows 系统中有 32 位和 64 位之分,那么我们在开发或者使用程序时也有 32 位程序和 64 位程序。有时候为了方便,我们在开发的程序想要把这些文件集成在一个安装包内,那么使用 Inno Setup 就可以轻松实现。

默认情况下我们使用 Inno Setup 打包的只能为一种应用,而通过修改脚本代码就可以在一个安装包中包含 32 位或 64 位文件,然后在安装时会根据系统自动释放对应系统的应用程序。

下面就和大眼仔(www.dayanzai.me)一起看看 Inno Setup 包含 32 位或 64 位程序的脚本代码吧。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// -64BitTwoArch.iss-
// 演示如何安装为两个不同的程序构建的程序
// 使用单个安装程序的体系结构(x86 和 x64)。

// 有关创建 .ISS 脚本文件的详细信息,请参见文档!

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}/My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}/MyProg.exe
Compression=lzma2
SolidCompression=yes
OutputDir=userdocs:Inno Setup Examples Output
ArchitecturesInstallIn64BitMode=x64
// “ ArchitecturesInstallIn64BitMode = x64” 请求在 x64 上以“ 64 位模式”完成安装,这意味着它应使用本机 64 位 Program Files 目录和注册表的 64 位视图。
// 在所有其他体系结构上,它将以“ 32 位模式”安装。
// 注意:我们未设置 ProcessorsAllowed,因为我们希望此安装在所有体系结构上运行(包括 Itanium,因为它也能够运行 32 位代码)。

[Files]
// Install MyProg-x64.exe if running in 64-bit mode (x64; see above),
// MyProg.exe otherwise.
Source: "MyProg-x64.exe"; DestDir: "{app}"; DestName: "MyProg.exe"; Check: Is64BitInstallMode
Source: "MyProg.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode
Source: "MyProg.chm"; DestDir: "{app}"
Source: "Readme.txt"; DestDir: "{app}"; Flags: isreadme

[Icons]
Name: "{group}/My Program"; Filename: "{app}/MyProg.exe"

以上就是 Inno Setup 通过标识不同文件中的版本来在安装的时候释放对应文件,从而可以达到一个安装包包含 32 或 64 位程序文件。

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/141542.html

(0)
上一篇 2021年9月6日
下一篇 2021年9月6日

相关推荐

发表回复

登录后才能评论