生成在安装期间要求用户输入的电子 app.exe(使用电子生成器和 nsis)?

Posted

技术标签:

【中文标题】生成在安装期间要求用户输入的电子 app.exe(使用电子生成器和 nsis)?【英文标题】:Generate electron app.exe which will ask for user input during installation (using electron-builder and nsis)? 【发布时间】:2020-10-22 23:24:36 【问题描述】: 我正在尝试使用 **electron-builder** 和 **nsis** 生成电子 app.exe,它应该在安装时询问用户输入。 以下是我的 **package.json**。 ... “建造”: "appId": "com.electron.test", “产品名称”:“测试”, “赢”: “目标”: [ “nsis” ], “图标”:“资产/icon.ico” , “nsis”: “warningsAsErrors”:假, "installerIcon": "assets/icon.ico", “runAfterFinish”:假, “单次点击”:假, “perMachine”:是的, “allowToChangeInstallationDirectory”:真, "installerHeader": "assets/installerHeader.bmp", “包括”:“构建/安装程序.nsh” , “苹果”: “类别”:“your.app.category.type” ... 我想显示自定义页面**在**选择位置页面和安装进度页面。 以下是我的 **installer.nsh**,它创建一个自定义页面,即要求用户输入用户名和密码。 !include "EnvVarUpdate.nsh" !include "MUI2.nsh" !include "nsDialogs.nsh" !include "LogicLib.nsh" Var Dialog Var UserLabel Var UserText Var UserState Var PassLabel Var PassText Var PassState ;-------------------------------- ; Show install details ShowInstDetails show ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING Page custom nsDialogsPage nsDialogsPageLeave Function nsDialogsPage nsDialogs::Create 1018 Pop $Dialog $If $Dialog == error Abort $EndIf $NSD_CreateLabel 0 0 100% 12u "Username:" Pop $UserLabel $NSD_CreateText 0 13u 100% 12u $UserState Pop $UserText $NSD_CreateLabel 0 39u 100% 12u "Password:" Pop $PassLabel $NSD_CreatePassword 0 52u 100% 12u $PassState Pop $PassText nsDialogs::Show FunctionEnd Function nsDialogsPageLeave $NSD_GetText $UserText $UserState $NSD_GetText $PassText $PassState $If $UserState == "" MessageBox MB_OK "Username is missing." Abort $EndIf $If $PassState == "" MessageBox MB_OK "Password is missing." Abort $EndIf StrCpy $1 $UserState StrCpy $2 $PassState FileOpen $9 $INSTDIR\credentials.txt w FileWrite $9 "$1:$2" FileClose $9 SetFileAttributes $INSTDIR\credentials.txt HIDDEN|READONLY FunctionEnd Section SectionEnd !macro customHeader !macroend !macro preInit !macroend !macro customInstall $EnvVarUpdate $0 "PATH" "A" "HKLM" "$INSTDIR" !macroend !macro customUnInstall $un.EnvVarUpdate $0 "PATH" "R" "HKLM" "$INSTDIR" !macroend 请提供任何解决方案。 **感谢和问候** Rachit V. Sakhidas

【问题讨论】:

问题是什么?编译器错误? 【参考方案1】:

看起来一切都是正确的。发布的 NSIS 脚本用于创建您的自定义页面。你的问题是什么?您是否有任何错误或您只是不知道该怎么办?

问:您的页面未显示在安装程序中?

如果不是:您是否在 electron-nsis 脚本中包含您的自定义页面以便实际显示该页面?

问:您在创建自定义页面时有麻烦吗?

如果是:试试这个工具:https://nsis.sourceforge.io/Install_Designer(我是它的开发者,所以请随时在这里提问)。

很难说这几条信息有什么问题,请发布完整的脚本和日志。

【讨论】:

首先创建自定义页面显示我只想显示此页面一次,它将显示在选择位置和安装进度页面之间。 好的,发给你完整的脚本。

以上是关于生成在安装期间要求用户输入的电子 app.exe(使用电子生成器和 nsis)?的主要内容,如果未能解决你的问题,请参考以下文章

电子应用 |带有电子生成器的自定义安装程序

iOS:无法注销 Facebook 用户并再次要求输入电子邮件和密码

从用户输入生成电子邮件正文,从控制器发送电子邮件?

能设计一个软件,将需要填写的EXCEL表格生成为网页,在浏览器中填表吗?

浏览器输入一个网址,期间发生了什么

生成四则运算