通过NSIS Envar插件设置环境变量

时间:2019-05-06 08:39:29

标签: windows path environment-variables installer nsis

我有一个通过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

但是,那里的说明令人困惑。它只是说:只需将内容提取到您的nsis目录(通常是'$ PROGRAMFILES \ NSIS')

这是什么意思?

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

enter image description here

我该如何在上面的Envar_plugin.zip目录中解压缩Plugins并开始在EnVar::AddValue中提到的EnVar::AddValueEx内部使用MySetup.nsiEnvar_plugin函数例子?

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

1 个答案:

答案 0 :(得分:0)

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

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