Wizard1102
Мимокрокодил
Здравствуйте?
Как сделать в инсталляторе выбор между x86 и x64 Windows?
Задача: при запуске инсталлятора он определяет разрядность Windows и в зависимости от разрядности устанавливает файлы либо в \Windows\System32\ для Windows x86, либо в Windows\SysWOW64\ для Windows x64. Названия файлов одни и те же для обоих версий Windows.
У инсталлятора отсутствует исполняемый файл - он только размещает несколько одних и тех же файлов либо в одну папку, либо в другую в зависимости от разрядности Windows.
Если сделать так, то для Windows x64 устанавливается в Windows\SysWOW64\, а для Windows x86 не устанавливается в Windows\System32\:
Как сделать в инсталляторе выбор между x86 и x64 Windows?
Задача: при запуске инсталлятора он определяет разрядность Windows и в зависимости от разрядности устанавливает файлы либо в \Windows\System32\ для Windows x86, либо в Windows\SysWOW64\ для Windows x64. Названия файлов одни и те же для обоих версий Windows.
У инсталлятора отсутствует исполняемый файл - он только размещает несколько одних и тех же файлов либо в одну папку, либо в другую в зависимости от разрядности Windows.
Если сделать так, то для Windows x64 устанавливается в Windows\SysWOW64\, а для Windows x86 не устанавливается в Windows\System32\:
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{94DD49E1-244C-4BBD-B353-E744AEFAC02E}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\Install_N
DisableDirPage=yes
DefaultGroupName={#MyAppName}
InfoBeforeFile=D:\ReadMe.txt
OutputDir=D:\Install_x64
OutputBaseFilename=Install_x64
Compression=lzma
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Files]
Source: "..\INSTALL_N\indy.bpl"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\rtl.bpl"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\vcl.bpl"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\borlnd.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\ccmt.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\HID_Lib.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\Files.zip"; DestDir: "{app}"
Source: "..\INSTALL_N\ReadMe.txt"; DestDir: "{app}"
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{94DD49E1-244C-4BBD-B353-E744AEFAC02E}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\Install_N
DisableDirPage=yes
DefaultGroupName={#MyAppName}
InfoBeforeFile=D:\ReadMe.txt
OutputDir=D:\Install_x64
OutputBaseFilename=Install_x64
Compression=lzma
SolidCompression=yes
ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Files]
Source: "..\INSTALL_N\indy.bpl"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\rtl.bpl"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\vcl.bpl"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\borlnd.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\ccmt.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\HID_Lib.dll"; DestDir: "{sys}"; Flags: ignoreversion 32bit; Permissions: admins-full; Check: IsWin64
Source: "..\INSTALL_N\Files.zip"; DestDir: "{app}"
Source: "..\INSTALL_N\ReadMe.txt"; DestDir: "{app}"
Последнее редактирование:
