我目前正在开发一个电子应用程序的安装程序,在安装过程中我需要发出简单的 POST 请求来验证凭据。我发现有这个
inetc
插件可以做到这一点。然而,由于我使用的是 nsis 附带的电子生成器,我真的不知道如何在这个环境中安装该插件。
所以这就是我找到 nsis 源的地方(我认为):
node_modules\app-builder-lib\templates
然后这是我已经尝试过的:
Plugins
目录从 inetc 包复制到(上面的屏幕)nsis 目录build_msvc
文件最后,当我尝试编译我的应用程序时,我总是收到错误:
Plugin not found, cannot call inetc::post
如何安装并使用该插件?
我对电子构建器一无所知,但看起来它将其插件存储在一个名为
nsis-resources
的文件夹中,它可能位于 %localappdata%\electron-builder\cache
下的某个位置。您还可以尝试搜索 nsProcess.dll,因为这是它捆绑的第 3 方插件之一。
如果其他方法都失败,您可以添加自定义目录:
!addplugindir /x86-unicode "c:\mynsisplugins\x86-unicode"
您还必须记住使用正确的插件目标(/x86-unicode 与 /x86-ansi)。
类似的问题,但插件不同。
将
AccessControl
插件添加到我的项目时,我遇到了一些问题。在尝试了多种方法之后,我发现问题是由于 AccessControl
插件提供的文件夹命名不正确造成的。这些文件夹被命名为:
i386-ansi
i386-unicode
但是,我检查的其他插件(包括
inetc
)的文件夹名为:
x86-ansi
x86-unicode
重命名文件夹以遵循此命名约定解决了该问题。
i386-ansi
更改为 x86-ansi
i386-unicode
更改为 x86-unicode
AccessControl.nsh
脚本顶部包含或导入 .nsh
(例如 include.nsh
)。只需直接从插件调用函数即可。例如:AccessControl::GrantOnFile "$APPDATA\${APP_PACKAGE_NAME}" "(S-1-5-32-545)" "FullAccess"
按照以下步骤操作,AccessControl 插件应该可以在您的项目中正常工作。
我希望这些信息可以节省某人的时间。
干杯!