电子链msi安装程序
我是Electron的新手,我正在构建一个我想在Windows上安装的应用程序。 我读了如何在电子的docs分发您的应用程序的文档,我知道:电子链msi安装程序
electron-forge
electron-builder
electron-packager
目前我的工作:
"electron-builder-squirrel-windows": "^19.20.0",
"electron-builder": "^19.20.0",
"electron": "^1.6.11"
鉴于此,我能创造一个Setup.exe来安装我的应用程序,但我是 无法为安装过程创建任何用户界面。
我想给的选项给用户,如果他需要改变安装路径,显示最终许可证我要他接受,...
没有这方面的信息在electron.atom.io
给出看看Atom编辑器或Slack,这是用Electron构建的,我可以看到在安装过程中可以显示一些UI。这通常如何完成?
编辑: 我刚刚看了一下windows-installer,你需要使用松鼠事件这个 编辑编辑:
- 更改标题为“链式MSI安装程序与电子”
公告当安装程序第一次启动您的应用程序时,您的应用程序将看到--squirrel-firstrun标志。这使您可以执行诸如显示启动画面或呈现设置UI等内容。
作为替代使用开发Windows MSI安装交付整个电子封装堆叠,可以考虑使用以下机制作为另一个有用的解决方案:
- 的WebPack - 来构建应用程序的客户端分配
- 电子打包 - 打造您的电子二进制文件(在这种情况下 适用于Windows)
- 的WiX工具集 - 构建Windows MSI安装程序。
当然,无论您选择使用哪种安装程序,您都必须执行第1步和第2步。我发现webpack
是用于打包角度网络应用程序(这是我工作的)最稳定,可配置和完整的解决方案,而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,电子包装器),用于运行WiX命令的Windows批处理文件,等等。
这种做法的流动将(可能记录在您的README.md)像这些步骤为新用户设置和建设项目:
-
git clone <project/path>
- 克隆回购到本地机器 -
npm install
- 加载/安装node_modules -
gulp lint
- 验证代码并生成CI结果。 (您棉短绒的选择) -
gulp test
- 运行服务器端和客户端单元测试,为每个 -
gulp build_web_client
代码覆盖率CI成果 - 建立使用webpack
API调用客户端的Web项目。这应该会产生一个名为“dist”的目录,该目录在项目 -
gulp build_electron_app
下创建 - 使用electron-packager
API构建Electron可执行文件。这应该产生一个在项目下创建的名为“edist”的目录。 cd Installer
-
buildMSI.bat
- 此Windows批处理脚本应该做以下步骤:- 准备通过收获/ edist目录的内容列表清单文件(导致.wxs文件)(见于目录树结构上方,并通过步骤6中创建的),通过使用维克斯命令
heat.exe
- 预处理和工程编译成和对象(.wixobj)使用维克斯命令
candle.exe
- 链路的维克斯项目成其最终可安装文件形式使用Wix命令
Light.exe
,生成安装MSI文件。
- 准备通过收获/ edist目录的内容列表清单文件(导致.wxs文件)(见于目录树结构上方,并通过步骤6中创建的),通过使用维克斯命令
这只是一个建议。当然,您可以根据自己的选择,为每个步骤使用其他工具。这只是我发现的一种方法,适用于部署到Windows目标的电子应用程序的开发。关于这一点的好处是,使用Electron,您可以选择使用步骤1-6来构建到许多目标操作系统,如果您想要转到Windows或Mac,Linux执行步骤7和步骤8,则可以采用不同的部署方法。
是的,这是事实,你可以使用(对于那些简单的需求或electron-forge
)electron-builder
通过松鼠打包你的应用程序,以此来部署,以提供给电子(这将意味着更换我的步骤7和8的所有操作系统与那些包装替代品)。从我的经验,并为我们的背景下,松鼠解决Windows部署似乎比使用维克斯部署不太理想。
您关于可配置到安装原来的问题,关于使用维克斯的好处是,你得到它完全自定义安装的用户界面和体验(包括目标寻路)的能力。
你觉得我可以用电子编译取代的WebPack?我的项目是用'electron-forge init'创建的 – Carlinho89