如何制作一个windows桌面应用,一键上安装jar包和引用的第三方exe(python、c#写的)所需的运行环境
我们的业务需要再windows上运行java项目,但是这个项目里面引用了其他语言(python、c#)写的一些exe执行程序,但是这些exe和jar包运行都需要相应的环境。
除此之外,我们还需要配置 nginx 、修改本地的 .host 文件以及安装一些第三方软件等等。这些操作很是麻烦,手动去一个一个安装配置耗时长且容易出问题,所以我在想怎么去搞一个桌面应用,在桌面应用里面去自动安装这一大堆环境和软件,并且可以看到这些环境和软件的安装进度。
我本人是做web前端的,听过Electro可以搞桌面应用,但是不知道能否做到我说的这些事儿。我没搞过类似的东西,也不明白怎么搞,很是困惑,不知道该去学习什么才能做到这样,哪位有类似经验的同行可以给解解惑呀。
回答:
把更改的配置的操作写成.bat或者其他脚本,用advanced installer客户端程序打包工具,把脚本和安装包程序添加到打包工具中,设置为程序安装完成后执行,生成安装包,这样可以避免一个一个点。其他不需要运行只是拷贝到指定目录的大文件(超过2个g)的可以使用自解压的方式。
回答:
总结一下需求:
- 需要自动安装第三方程序和依赖的运行时环境
- 需要自动配置 nginx,不确定复杂程度
- 需要自动配置 hosts
- 其他一些可能的自动化操作,比如防火墙等
- 要可以看到环境和软件的安装进度
总体上看,这些需求都是一个 powershell 脚本能搞定的,如果不是分发给客户,需要友好的安装向导的话,建议就是写个 powershell 脚本搞定,省时省力,不需要配置环境,新 Windows 都自带 powershell 了。
至于安装进度,直接在 powershell 里打印出来就完了,为这点小事单独写个 electron 项目完全不值得。
另一种情况,需要分发给客户,要提供安装向导,可以考虑下 NSIS、inno setup、installshield 之类的安装向导生成工具。以我用过的 Inno Setup 为例,需要用 Pascal 编写安装脚本,虽然功能上很全面,但写起来还是相当麻烦的。
Electron 直接写安装向导会存在一个致命问题,就是不能打包成单个 exe 分发给客户,而且 Electron 绝大部分功能在这个场景下都是用不到的,存在非常大的冗余,自己造个轮子出问题排查也是很麻烦的事。
回答:
图省事就用自解压+批处理脚本就行了,简单的很。
当年我也遇到这种场景,差不多自解压+批处理脚本安装一天就搞定了,客户也没说啥,还非常满意。
当然大学期间我本来就自学过批处理,写批处理对我来说很快,一天之内就写好了,没啥。
回答:
轻量一点可以用autohotkey编译exe,UI复杂点的可以考虑Python+pysimplegui用pyinstaller压成单exe文件。
回答:
其实没有你想象的那么复杂,你其实在开发中可以把所有环境集中到一个大的目录下(所有的程序、依赖都包括在这个目录里),分发时直接整个目录发布出去就好了,所有的相关配置,以该大目录为起点,采用以此的相对路径,这样就不会出错。
以上是 如何制作一个windows桌面应用,一键上安装jar包和引用的第三方exe(python、c#写的)所需的运行环境 的全部内容, 来源链接: utcz.com/p/938167.html