[Setup]: UseSetupLdr

Допустимые значения:

yes или no, или x86, или x64

Значение по умолчанию:

yes

Описание

Эта директива сообщает компилятору о типе создаваемой программы установки. Если указано значение yes, то все данные установки компилируются в один файл EXE. При значении no все данные установки компилируются как минимум в три файла: setup.exe, setup-0.bin и setup-1.bin. Возможной причиной, по которой следует использовать значение no, является отладка программы установки.

При компиляции данных программы установки в один исполняемый файл EXE, используется программа загрузки, которая называется SetupLdr. Если применяется значение yes или x86, используется 32-разрядная версия SetupLdr, которая работает на системах, способных запускать 32-разрядные x86-двоичные файлы. К ним относятся системы под управлением Windows x86, Windows x64, а также Arm64 Windows 10 и 11, которые могут запускать двоичные файлы x86 посредством эмуляции.

Если применяется значение x64, используется 64-разрядная версия SetupLdr, которая работает на системах, способных запускать двоичные файлы x64. К ним относятся системы под управлением Windows x64, а также системы Windows 11 на базе Arm64, которые могут запускать двоичные файлы x64 посредством эмуляции.

Примечание: использование x64 не означает, что программа установки будет 64-разрядной: в настоящее время инсталлятор всегда собирается как 32-разрядный двоичный файл x86. Но использование значения x64 в любом случае имеет несколько преимуществ: инсталлятор изначально представляет себя как нативный 64-разрядный исполняемый файл, 64-разрядный загрузчик имеет включенную ASLR с высокой энтропией и больше не использует надстройку эмуляции WOW64. Кроме того, это может помочь удовлетворить требования политики безопасности или сторонних производителей, которые требуют 64-разрядные установщики, даже если основная программа установки по-прежнему является 32-разрядной.

Замечание: не используйте значение no в установках с разделением данных (DiskSpanning=yes). При значении yes программа установки копируется и запускается из пользовательской папки TEMP. Этого не происходит, если параметр имеет значение no, и может привести к ошибкам, когда Windows попытается найти файл setup.exe там, где его нет (например, в приводе находится другой диск).

Замечание: не используйте значение no на больших инсталляторах. Во время запуска это приведёт к задержкам при проверке цифровой подписи. Вместо этого используйте разделение на диски. Обратите внимание, цифровая подпись программы установки при использовании значения no станет недействительной для программы удаления. Дополнительную информацию см. в разделе SignTool.