我有一个通过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
目录如下:
我该如何在上面的Envar_plugin.zip
目录中解压缩Plugins
并开始在EnVar::AddValue
中提到的EnVar::AddValueEx
内部使用MySetup.nsi
或Envar_plugin
函数例子?
如何使用Envar_plugin
,以便通过软件安装的MySetup.nsi
生成的自定义安装程序将在安装软件期间设置环境变量?
答案 0 :(得分:0)
插件必须安装在NSIS文件夹内正确的插件子目录中。一些插件在.ZIP文件的根目录中仅具有.DLL文件,而某些插件在.ZIP中已经具有正确的目录树。这个特定的插件具有后者,您可以将内容提取到主NSIS文件夹中。
如果您尝试执行插件命令(name::function
),而NSIS找不到该插件,则您很可能会将.DLL文件放在错误的文件夹中。 NSIS的最新版本将在发生这种情况时打印它尝试搜索的目录列表。