Я хотел бы, чтобы мой установщик был совместим с обоими окнами x86/x64, это означает переносимость.
Я сделал установщик innosetup только для расширения исполняемого файла x86 CLI, и мне нужно расширить его до каталога C:\windows\system32 даже если установщик работает под Windows x64, потому что в противном случае, если я разверну его в каталог C:\Windows\Syswow64, тогда исполняемый файл не будет распознан под Windows x64 CMD.
Итак, как мне установить это свойство, чтобы сделать его переносимым с указанным выше условием?:
ArchitecturesInstallIn64BitMode= ???
И какие флаги я должен использовать при расширении файла здесь?:
Source: {sys}\My_x86_application.exe; DestDir: {sys}; Flags: ???
Я немного поиграл с некоторыми флагами, такими как 32Bit
, 64Bit
и Is64BitInstallMode
, но я не могу получить ожидаемый результат, потому что, если я знаю, что ограниченные константы как {syswow64}
вызывают ошибку установки под Windows x86...
ОБНОВИТЬ
Это важная часть моего установочного скрипта, но она неверна, она должна быть совместима с окнами x86 и x64 (portable) и расширять файлы Source: {sys}\*
только до C:\Windows\System32 в обоих окнах. (конечно, используя константу {sys}
для определения пути к каталогу).
[Setup]
DefaultDirName={pf32}\{#AppName}
ArchitecturesAllowed=x86 x64
ArchitecturesInstallIn64BitMode=x64
[Files]
Source: {app}\*; DestDir: {app}; Flags: ignoreversion
Source: {sys}\*; DestDir: {sys}; Flags: ignoreversion 64bit
System32
иSysWow64
, такие какProgram Files(x86)
иProgram Files
, являются каталогами для правильной установки и различения разных архитектур одного и того же приложения, но поскольку мое приложение только x86 (у меня нет такого же приложения, как x64) я не могу вступить в какой-либо конфликт, устанавливая его в каталогеSystem32
, тогда мне не следует беспокоиться о том, какой из обоих каталогов я выбираю для установки моего exe, но здесь идет проблема 2) - person ElektroStudios   schedule 25.11.2014Syswow64
(моя переменная средыPATH
соответствует значениям по умолчанию), просто мне нужно установить его в каталогSystem32
. Спасибо за комментарий и извините за мой английский. - person ElektroStudios   schedule 25.11.2014[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\app.exe] @="C:\\app.exe"
Если это действительно работает, и я пропал что-нибудь тогда пожалуйста напишите ответ, если эта работа я отмечу ее как принятую, спасибо за вашу помощь - person ElektroStudios   schedule 27.11.2014