很久以前,我创建了一个窗口服务程序,该程序通过;安装项目安装程序";。这是一个";项目模板";用于创建msi文件/setup.exe.
由于当时我没有足够的经验,我实现自动更新的方式是每天运行一个任务来检查服务器上的更新版本。当我有一个新版本时,我通常会制作窗口服务:
- 下载更新文件
- 运行作为更新文件一部分的EXE程序
- EXE首先停止服务,将文件放在程序的文件夹中,然后再次启动服务
如果在更新过程中发生任何错误,EXE会记录该错误,还原旧文件,并启动窗口服务。
到目前为止;手动";自动更新运行良好,但我不知道是否有通过";安装项目安装程序";。
在安装项目安装程序中有这样的选项吗?
如果有,我该如何实现?
安装项目模板中没有内置支持,但还有其他免费选项。
如果你不热衷于构建MSI,你可以使用Clickonce。(我不推荐它,但它是一个选项(。
你也可以使用其他免费的框架,为桌面应用程序提供自动更新支持,不要重新发明轮子。以下是更多详细信息:
- 自动更新Windows应用程序
您还可以选择使用商业工具(如Advanced Installer或InstallShield(。这些为您提供了对MSI/EXE包更新的内置支持,易于配置和集成。
免责声明:我在团队建设高级安装程序工作