Mar*_*ged 5 java service installer windows-installer
我正在开发一个将推广到Windows计算机的应用程序.因为我的客户很少有计算机知识,所以安装和更新需要尽可能简单.我希望安装是唯一的手动步骤,更新应该自动完成.
安装将通过Installshield完成,或者更有可能通过其中一个开源克隆完成.安装程序将安装这些组件:
当其中一个组件发生变化时,我希望自动更新它们并尽可能安静地更新它们.该应用程序将能够确定Web上是否有可用的更新并下载它们.
我有什么选择来实现这一目标?Java Webstart在我看来不是一个好的解决方案 - 例如它不能让我更新运行时.提供更新安装程序将需要用户交互,甚至可能需要管理权限,因此它不会以静默方式运行.
下面提出的链接不适合我的问题,因为我使用的守护进程需要在运行时更新,并且链接的帖子中的给定解决方案都不支持.
我可以建议您重新考虑 Java Web Start 吗?连维基百科都知道
重要的 Web Start 功能包括在用户未安装 Java 的情况下自动下载和安装 JRE 的能力,以及程序员指定给定程序执行所需的 JRE 版本的能力。
如果您仍然不想使用 Web Start,那么这里是我在 Windows 机器上使用的完全静默的解决方案。假设这里是restart.bat:
cd \myApp
echo Killing myApp
pskill.exe myApp
TIMEOUT 5
del /q Release
copy \\mainCIcomputer\Build Release
TIMEOUT 5
cd Release
start myApp.exe
Run Code Online (Sandbox Code Playgroud)
您所要做的就是启动单独的进程,然后从中运行 restart.bat 。您可以使用任何技术来确定何时重新加载应用程序(例如,http/ftp 请求获取最新版本号,如果与现有版本号不同,则重新启动)。不要忘记 - 这个进程应该分开,以免与主 myApp 一起被杀死。它可以从另一批开始,或者,在我的例子中,我使用 IronPython:
from System.Diagnostics import Process
p = Process()
p.StartInfo.UseShellExecute = False
p.StartInfo.RedirectStandardOutput = False
p.StartInfo.FileName = 'restart.bat'
p.Start()
p.WaitForExit()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |