Inno setup Inno设置:禁用基于PC架构的组件
我使用的Inno设置有两个组件:一个用于32位机器,另一个用于64位机器。这些将在XP/Vista/Win7上运行Inno setup Inno设置:禁用基于PC架构的组件,inno-setup,Inno Setup,我使用的Inno设置有两个组件:一个用于32位机器,另一个用于64位机器。这些将在XP/Vista/Win7上运行 [Components] Name: Bin/32; Description: 32-bit; Types: full; Flags: dontinheritcheck Name: Bin/64; Description: 64-bit; Types: full; Flags: dontinheritcheck 目前: 运行安装程序时,默认情况下会勾选这两个组件 我想要的是:
[Components]
Name: Bin/32; Description: 32-bit; Types: full; Flags: dontinheritcheck
Name: Bin/64; Description: 64-bit; Types: full; Flags: dontinheritcheck
目前:
- 运行安装程序时,默认情况下会勾选这两个组件
- 根据用户的机器选择适当的默认值(即32位或64位勾选)李>
- 将不合适的组件变灰也是一个额外的好处
- 我可能想在[Code]部分使用Pascal
- IsWin64函数
- 我可能想为此使用一个事件,但我还找不到任何与我的需求相关的东西
注:不幸的是,我无法为每个体系结构安装单独的安装程序。您可以查看
C:\Program Files\Inno Setup 5\Examples
文件夹,了解如何使用单个安装程序为不同体系结构安装程序的示例
检查这些文件
- 64BitThreeArch.iss
- 64BitTwoArch.iss
- 64Bit.iss
[Components]
Name: Bin_32; Description: 32-bit; Types: full; Check: IsX86; Flags: dontinheritcheck
Name: Bin_64; Description: 64-bit; Types: full; Check: IsX64; Flags: dontinheritcheck
[Code]
function IsX64: Boolean;
begin
Result := Is64BitInstallMode and (ProcessorArchitecture = paX64);
end;
function IsX86: Boolean;
begin
Result := (Is64BitInstallMode=false) and (ProcessorArchitecture = paX86);
end;
感谢您为我提供示例文件夹。不幸的是,这对我不起作用,因为这是在每个文件的基础上切换;我正在寻找一个每个组件的基础上。可能像一些组件的“检查”功能。谢谢。我必须在[Setup]中添加以下内容才能正常工作:ArchitecturesInstallIn64BitMode=x64 IA64在安装程序中添加32位和64位的安装程序时也能正常工作,并且您只希望根据架构运行一个安装程序。