如何将电子应用程序和Windows服务捆绑在一起?

时间:2017-11-14 06:41:10

标签: windows-services windows-installer electron packaging electron-packager

我对电子申请很新。我需要一些选举安装的帮助。 我有一个电子桌面应用程序和一个 Windows服务。 我可以使用sudo-prompt包来启动和停止我预先安装的服务。 我正在使用electron-winstaller包创建 Windows安装程序。 但我想将 Windows服务与我的电子应用程序捆绑在一起。我的要求是当我安装电子包时,它也应该安装我的服务,当我卸载我的软件包时,应该卸载该服务。

请帮帮我。任何线索,任何建议将不胜感激。 如果您认为这应该通过其他方式实现,那么请建议我。

1 个答案:

答案 0 :(得分:1)

Electron的Windows安装程序打包程序让我觉得一个特定的案例工具可能会在这样的场景中遇到限制。我会使用一般的案例工具,例如Free和Open Source Windows Installer XML Toolset aka WiX。我还将使用另一个名为Industrial Strength Windows Installer XML aka IsWiX的FOSS应用程序。

WiX允许您使用XML / XSD域特定语言描述和构建MSI数据库。它支持MSBuild,可轻松与CI / CD管道集成。 IsWiX *是一组项目模板和图形设计器,提供了一个自以为是的项目结构(脚手架),并大大加快了学习曲线和实现。例如,您描述的此安装程序无需编写单行XML即可完成。

有关详细信息,请参阅:https://github.com/iswix-llc/iswix-tutorials

桌面应用程序和Windows服务教程应该**向您展示编写此安装程序时需要了解的所有内容。基本上遵循桌面应用程序,然后跳到windows服务教程的最后部分,在那里定义Windows服务。

  • 我是IsWiX的维护者

**这假设您的服务exe是与Windows服务控制管理器连接的正确Windows服务。如果它只是一个作为服务运行的控制台应用程序,则需要包含一个程序,如srvany.exe。这将需要一行手工制作的XML来扩展注册表中的服务定义,并使用适当的命令行值传递给您的exe。可以在此处找到一个示例:Wix installer to replace INSTSRV and SRVANY for user defined service installation