AutoUpdater.NET自動更新庫使用

yinghualeihenmei發表於2024-03-07

原文連結: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();
}

  

相關文章