Установка переменной окружения через NSIS Envar-плагин - PullRequest
0 голосов
/ 06 мая 2019

У меня есть пользовательский установщик, созданный через NSIS.

У меня есть следующая задача Ant, выполняющая то же самое:

<target name="buildNSIS">
    <exec executable="D:\NSIS\nsis-binary\makensis.exe" failonerror="true" >
      <!-- providing some nsis definitions -->
      <arg value="/DPROJECT_NAME=${ant.project.name}"/>
      <!-- passing the script -->
      <arg value=".\installer\MySetup.nsi"/>
    </exec>
</target>

, где MySetup.nsi - это сценарий для запуска через NSIS дляinstaller.

Я хочу установить переменную окружения как часть процесса установки.

Я прочитал, что лучше всего использовать, используя: https://nsis.sourceforge.io/EnVar_plug-in

Однако инструкциятам сбивает с толку.Он просто говорит: Просто извлеките содержимое в каталог nsis (обычно '$ PROGRAMFILES \ NSIS')

Что это значит?

Мой каталог D:\NSIS\nsis-binary выглядиткак:

enter image description here

Так что я могу разархивировать Envar_plugin.zip внутри Plugins каталога выше и начать использовать EnVar::AddValue или EnVar::AddValueEx функции внутри моего MySetup.nsi как указано в Envar_plugin примерах?

Как использовать Envar_plugin, чтобы мой результирующий пользовательский установщик с помощью MySetup.nsi для моего программного обеспечения установил переменные среды во время установки моего программного обеспечения?

1 Ответ

0 голосов
/ 06 мая 2019

Плагины должны быть установлены в правильном подкаталоге плагина внутри папки NSIS. Некоторые плагины имеют только файл .DLL в корне .ZIP-файла, а некоторые уже имеют правильное дерево каталогов в .ZIP. Этот конкретный плагин имеет последний, и вы можете просто извлечь содержимое в вашу основную папку NSIS.

Если вы попытаетесь выполнить команду плагина (name::function) и NSIS не сможет найти плагин, то вы, скорее всего, поместите файл .DLL в неправильную папку. Последние версии NSIS будут распечатывать список каталогов, которые он пытался найти, когда это произойдет.

...