通过 NSIS Envar-plugin 设置环境变量

Setting environment variable through NSIS Envar-plugin

我有一个通过 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 运行 的脚本。

我想在安装过程中设置一个环境变量。

我读到最好使用:https://nsis.sourceforge.io/EnVar_plug-in

但是,那里的说明令人困惑。它只是说:Just extract the contents to your nsis directory (usually '$PROGRAMFILES\NSIS')

这是什么意思?

我的 D:\NSIS\nsis-binary 目录如下所示:

所以我将 Envar_plugin.zip 解压缩到上面的 Plugins 目录中,并开始使用 MySetup.nsi 中的 EnVar::AddValueEnVar::AddValueEx 函数,如 [=18] 中所述=] 例子?

如何使用 Envar_plugin 以便通过 MySetup.nsi 为我的软件生成的自定义安装程序将在安装我的软件期间设置环境变量?

插件必须安装在 NSIS 文件夹内正确的插件子目录中。一些插件在 .ZIP 文件的根目录中只有一个 .DLL 文件,而一些在 .ZIP 中已经有正确的目录树。这个特定的插件具有后者,您可以将内容提取到您的主 NSIS 文件夹中。

如果您尝试执行插件命令 (name::function) 而 NSIS 找不到该插件,那么您很可能将 .DLL 文件放在了错误的文件夹中。发生这种情况时,最新版本的 NSIS 将打印它尝试搜索的目录列表。