AutoUpdater.NET自动更新库使用

.NET程序当部署很多的时候,每次手动下载升级麻烦,原来自己写了个自动升级的程序,独立运行,需要主程序来更新自动升级程序,自动升级程序升级主程序,功能运行正常,最近发现有AutoUpdater.NET库很方便,在此写下使用方法,重要说一点,程序作为服务运行时无法使用,会崩溃,想更新服务请看下面链接

https://blog.csdn.net/g313105910/article/details/112366756

NuGet安装Autoupdater.NET.Official

程序中只需要引入,并开启更新2行代码即可,非常方便

using AutoUpdaterDotNET;

AutoUpdater.Start("http://10.0.0.7:7777/updates/AutoUpdater.xml");

http服务器使用上篇文章中的apache服务器

htdocs\updates目下新建AutoUpdater.xml和AutoUpdaterLoger.html,可以启用强制更新,也可以关闭MD5效验,关闭MD5的方法就是删掉这一行的配置

<?xml version="1.0" encoding="UTF-8"?>
<item>
    <version>1.0.0.4</version>
    <url>http://10.0.0.7:7777/downloads/NewAutoUpdater.zip</url>
    <changelog>http://10.0.0.7:7777/updates/AutoUpdaterLoger.html</changelog>
    <checksum algorithm="MD5">5D722E6F2CDECC2011CD31B4957C9AEE</checksum>
    <mandatory mode="2">false</mandatory>
</item>
<html><body><h1>这是一个重要的更新,从1.0.0.0到1.0.0.1</h1></body></html>

htdocs\downloads目录放入NewAutoUpdater.zip更新文件,打包时不需要带根文件夹

是不是很方便

更新完自动替换并运行
如果不想自动监测程序版本可以指定程序版本

//指定程序版本
AutoUpdater.InstalledVersion = new Version(version);

手动处理退出逻辑

    AutoUpdater.ApplicationExitEvent += AutoUpdater_ApplicationExitEvent;

private static void AutoUpdater_ApplicationExitEvent()
{
     Console.WriteLine("关闭!");
     Thread.Sleep(5000);
     Process.GetCurrentProcess().Kill();
}

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
要使 Electron 窗口自动更新,你可以使用 Electron 自带的模块 `autoUpdater`。这个模块可以帮助你在应用程序中实现自动更新功能。 首先,你需要在你的 Electron 主进程代码中引入 `autoUpdater` 模块。然后,你可以使用 `autoUpdater` 对象的方法来检查和安装更新。 下面是一个示例代码,演示了如何使用 `autoUpdater` 模块来实现自动更新: ```javascript const { app, autoUpdater } = require('electron'); // 设置更新源 autoUpdater.setFeedURL({ url: 'http://your-update-server.com' }); // 监听更新下载完成事件 autoUpdater.on('update-downloaded', () => { // 更新下载完成后,提示用户安装更新 autoUpdater.quitAndInstall(); }); // 监听错误事件 autoUpdater.on('error', (error) => { console.error('自动更新出错:', error); }); // 检查更新 app.on('ready', () => { autoUpdater.checkForUpdates(); }); ``` 在上面的示例中,我们首先使用 `setFeedURL` 方法设置更新源的 URL。这个 URL 应该指向存储应用程序更新文件的服务器。 然后,我们监听了 `update-downloaded` 事件,在更新下载完成后触发。在这个事件的处理程序中,我们调用了 `quitAndInstall` 方法,它会关闭应用程序并安装新的更新。 最后,在应用程序准备就绪后,我们调用了 `checkForUpdates` 方法来检查是否有可用的更新。 需要注意的是,你需要在你的应用程序中设置一个更新服务器来存储更新文件,并在 `setFeedURL` 方法中提供正确的 URL。 希望这个示例对你有帮助!如果你需要更详细的说明,请参考 Electron 的文档,其中有关于自动更新的更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花开花落的个人博客

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值