Windows 带Electron的链式msi安装程序
我是Electron的新手,我正在构建一个我想安装在Windows上的应用程序。 我阅读了有关如何在Electron's中分发应用程序的文档,我知道:Windows 带Electron的链式msi安装程序,windows,windows-installer,installation,electron,Windows,Windows Installer,Installation,Electron,我是Electron的新手,我正在构建一个我想安装在Windows上的应用程序。 我阅读了有关如何在Electron's中分发应用程序的文档,我知道: electron-forge electron-builder electron-packager 目前我的工作对象是: "electron-builder-squirrel-windows": "^19.20.0", "electron-builder": "^19.20.0", "electron": "^1.6.11" 鉴于此,我能够创
electron-forge
electron-builder
electron-packager
目前我的工作对象是:
"electron-builder-squirrel-windows": "^19.20.0",
"electron-builder": "^19.20.0",
"electron": "^1.6.11"
鉴于此,我能够创建一个Setup.exe来安装我的应用程序,但我
无法为安装过程创建任何UI
我想让用户选择更改安装路径,如果他需要,显示我希望他接受的最终许可证
网站上没有提供这方面的信息
看看用Electron构建的编辑器,我可以看到在安装过程中可以显示一些UI。这通常是怎么做的
编辑:
我刚刚了解到,您需要使用squirrel事件来实现此目的
编辑:
- 将标题更改为“带Electron的链接msi安装程序”
使用Squirrel时,无法在Windows上选择安装路径。它在未来似乎也不存在。他们不想支持这一点。
并且,< P>作为使用整个电子封装堆栈来开发Windows MSI安装交付的替代方案,您可以考虑使用以下机制作为另一个有用的解决方案:
webpack
是打包angular web应用程序(我就是这么做的)最稳定、最可配置和最完整的解决方案,electron packager
是一个工具,如果你真的想为你的应用程序构建特定于平台的二进制文件,你就不能随便使用它
在我们的例子中,我使用gulp
脚本包装webpack
和electron-packager
模块,我通过它们的API而不是它们的命令行衍生物调用它们,以便在一致的javascript上下文中维护它们,以便于在构建过程中进行维护和错误处理(命令行解决方案比javascript、imo中的包、模块、文件和函数更难确定范围和用途)
通过理解我所指的项目类型,可以更容易地解释这一点。具体来说,如果您正在构建一个具有完整项目结构的电子应用程序,例如:
C:.
+---assets/
+---ClientSide
¦ +---index.html
¦ +---app
¦ ¦ +---app.component.ts
¦ ¦ +---app.module.ts
¦ ¦ +---main.ts
¦ ¦ +---AppContent/
¦ ¦ +---help/
¦ ¦ +---modals/
¦ ¦ +---panels/
¦ ¦ +---shared/
¦ +---Styles
¦ ¦ +---dist/
¦ ¦ +---svgs/
¦ +---test
¦ +---AppContent/
¦ +---modals/
¦ +---panels/
¦ +---shared/
+---dist/
+---edist
| \---Application-win32-ia32 [*location of binary source for the install]
+---ServerSide
¦ +---app.js
¦ +---server.js
¦ +---test/
+---Installer
+---buildMSI.bat
+---Application/
gulpfile.js
karma.conf.js
main.js
package.json
README.md
webpack.config.js
这种结构显示了一个项目,该项目具有您在实际开发环境中所需的所有部分,例如webpack、配置、karma(客户端测试)、打包操作(webpack的包装操作、electron packager)、运行WiX命令的windows批处理文件等等
这种方法的流程(可能记录在您的README.md中)类似于新用户设置和构建项目的以下步骤:
git clone
——将repo克隆到本地计算机npm安装
——加载/安装节点模块吞下皮棉
——验证代码并生成CI结果。(您选择的皮棉)gulptest
——运行服务器端和客户端单元测试,为每个单元生成代码覆盖率CI结果gulp build\u web\u client
——使用webpack
API调用构建客户端web项目。这将生成在项目下创建的名为“dist”的目录gulp build\u electron\u app
——使用electron packager
API构建electron可执行文件。这将生成在项目下创建的名为“edist”的目录cd安装程序
buildMSI.bat
——此Windows批处理脚本应执行以下步骤:
heat.exe
candle.exe
Light.exe
将Wix项目链接到其最终可安装的文件格式中,生成安装MSI文件electron builder
(或electron forge
为那些有简单需求的人)通过Squirrel打包你的应用程序,作为部署到electron可用的所有操作系统的一种方式(这意味着用这些打包替代品替换我的步骤7和8).根据我的经验,就我们的环境而言,Windows部署的Squirrel解决方案似乎不如使用Wix进行部署
对于您最初提出的关于安装可配置性的问题,使用Wix的好处在于,您可以完全自定义安装UI和体验(包括目标路径).你认为我可以用electron compile代替webpack吗?我的项目是用
electron forge init创建的。
回答得好。+1