Установщик NSIS - изменение пути на основе диалога

0

Я пытаюсь создать установщик, используя NSIS, используя «установщик на основе zip-файла».

Я хотел бы создать диалоговое окно в начале установки, которое дает пользователю 2 варианта (32, 64), затем, в зависимости от сделанного ими выбора, изменить переменную пути ($ PROGRAMFILES32 или $ PROGRAMFILES64)

Возможно ли это в NSIS? Есть ли примеры сценариев, которые могли бы помочь мне?

Ke.
источник

Ответы:

1

Вероятно, плохая идея оставить выбор пользователю. Я бы использовал заголовки x64 для определения каталога по умолчанию.

Включите это в заголовок вашего скрипта.

!include LogicLib.nsh
!include x64.nsh

Затем используйте это в скрипте, например, в .onInitфункции:

${If} ${RunningX64}
    # 64 bit code
${Else}
    # 32 bit code
${EndIf}

Так как вы не можете создать простой MessageBox с пользовательскими кнопками, я бы предложил вам создать диалоговую страницу с переключателями, используя nsDialogs . Затем Ifоператор будет идти в функцию выхода (см. Пример состояния управления ), запрашивая значение ${NSD_GetState}.

idleberg
источник
В этом случае у меня нет выбора, потому что я устанавливаю эти файлы в программу, которая уже существует. Пользователь мог установить 32- или 64-разрядную версию (они могут иметь либо одну, либо обе версии, если у них есть 64-разрядный компьютер). Любая идея, как заставить переключатель if / else работать с диалоговым окном?
Ке.
Смотрите мой отредактированный ответ
idleberg
Crikey - спасибо, idleberg, действительно полезный ответ
Ke.