首页 > 其他分享 >AutoUpdater.NET自动更新库使用

AutoUpdater.NET自动更新库使用

时间:2024-03-07 16:02:24浏览次数:28  
标签:ApplicationExitEvent http 程序 更新 AutoUpdater 自动更新 NET

原文链接:https://blog.csdn.net/g313105910/article/details/112313695

.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();
}

  

标签:ApplicationExitEvent,http,程序,更新,AutoUpdater,自动更新,NET
From: https://www.cnblogs.com/Dongmy/p/18059096

相关文章

  • 开源.NET8.0小项目伪微服务框架(分布式、EFCore、Redis、RabbitMQ、Mysql等)
    1、前言为什么说是伪微服务框架,常见微服务框架可能还包括服务容错、服务间的通信、服务追踪和监控、服务注册和发现等等,而我这里为了在使用中的更简单,将很多东西进行了简化或者省略了。年前到现在在开发一个新的小项目,刚好项目最初的很多功能是比较通用的,所以就想着将这些功能抽......
  • .NET集成DeveloperSharp实现数据分页
    数据分页,几乎是任何应用系统的必备功能。但当数据量较大时,分页操作的效率就会变得很低。大数据量分页时,一个操作耗时5秒、10秒、甚至更长时间都是有可能的,但这在用户使用的角度是不可接受的…… 数据分页往往有三种常用方案。第一种,把数据库中存放的相关数据,全部读入代码/内存......
  • Autofac的Swashbuckle生成报错 Microsoft.AspNetCore.Mvc.ApiExplorer.EndpointMetada
    错误内容:AnexceptionwasthrownwhileactivatingSwashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator->Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionGroupCollectionProvider->λ:Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider[]->......
  • 激情碰撞,智慧融汇 .NET Conf China 2023 JiNan圆满技术!
    2024年3月3日,温暖的阳光洒在山东财经大学的校园里,这一天,我们在这里共同见证了一场科技与智慧的盛宴——“.NETConfChina2023JiNanWatchParty:走进山财大—AI驱动下的应用智能化开发”活动。在现场,我们欢来了社区的数十名成员的参与,首先进行的是签到环节。活动也在下午14:......
  • NetCore Rtsp视频流转Websocket实现Web实时查看摄像头
    .NetCoreRtsp视频流转Websocket实现Web实时查看摄像头最近工作中遇到需求需要实现这个功能,网上找了很多方案,大都是转为视频文件保存,实时查看的方案倒比较少,最终自己慢慢琢磨了很久在windows系统下实现了,里面的核心思路是:由FFmpeg.AutoGen捕捉Rtsp流视频帧,转为Bitmap,借由Websocke......
  • .NET Core WebAPI项目部署iis后Swagger 404问题解决
    .NETCoreWebAPI项目部署iis后Swagger404问题解决前言之前做了一个WebAPI的项目,我在文章中写到的是Docker方式部署,然后考虑到很多初学者用的是iis,下面讲解下iis如何部署WebAPI项目。环境准备iisASPNETCoreModuleV2重点.NETCoreRuntimeiis的配置这里就不讲了,主要讲解......
  • netcore AES同等效转java语言 加密方法
    privatestaticbyte[]Keys={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F};///<summary>///DES加密字符串///</summary>///<paramname="encryptString&qu......
  • kubernetes支持swap了,但是cgroup v2
    kubernetes支持swap了,但是cgroupv2结论:Container-OptimizedOS(从M97开始)、Ubuntu(从21.10开始,推荐22.04+)、DebianGNU/Linux(从Debian11Bullseye开始)、Fedora(从31开始)、ArchLinux(从2021年4月开始)、RHEL和类似RHEL的发行版(从9开始)支持使用swap但是要配置......
  • VS 2022支持 .NET Framework 4.5的方法
    默认VisualStudio2022不再支持安装.NETFramework4.5组件不想装vs2019,你可以尝试如下办法:1.nuget下载4.5安装包嫌官网下载慢的可以从下方下载.net4.5https://pan.xunlei.com/s/VNsIXaGlTDlArzgWx_sYmy7tA1?pwd=s339#提取码:s339.net4.5.1https://pan.xunlei.com/s/......
  • asp.net core 7+ 调用类库的控制器
    直入主题,用原版ioc的话只需要现在类库中引用包 然后就和普通控制器一样,继承ControllerBase,然后标记上特性就可以使用 如果是使用autofac作为ioc,那么就要稍微改一下builder.Host.UseServiceProviderFactory(newAutofacServiceProviderFactory());使用autofac代替......