首页 > 其他分享 >winform,wpf利用Autoupdater.NET.Official实现自动更新,并且利用Setup project部署(母胎级教学)

winform,wpf利用Autoupdater.NET.Official实现自动更新,并且利用Setup project部署(母胎级教学)

时间:2024-11-20 15:47:33浏览次数:3  
标签:http Setup Official 程序 更新 AutoUpdater 文件夹 自动更新 UpdateDemo

Winform部分

  1. 新建winform/wpf,我这里创建的是winform,程序名UpdateDemo
  2. 在NuGet安装必备库Autoupdater.NET.Official,我这里安装的版本是1.9.2dd18b4aa341546a78371934faf55a445.png
  3. 在页面上写一个label3faccadfcf4848edab8254f966b1aa1b.png
  4. 在Form1的构造函数写入代码
  5. AutoUpdater.Start("http://172.30.3.158:80/AutoUpdater.xml");这里填写自己的IP
public Form1()
{
    InitializeComponent();
    AutoUpdater.Start("http://172.30.3.158:80/AutoUpdater.xml");
    string version = Application.ProductVersion;//获取当前版本号
    label1.Text = version;

}

Setup project部分,不需要用这个直接跳Autoupdater.NET.Official部分

1.新建setup project

bf3b2eff1c6a499ca561cc94a0006990.png

没有的话自行安装,扩展-管理扩展-Microsoft Visual Studio Installer Projects 2022

2980bcc34f884da693f4696cd0a233a7.png

2.如图

1.Application Folder这是安装程序的主要目标目录,用来存放应用程序的核心文件

2.User's Desktop是用来存放快捷方式或文件,使用户可以快速访问应用程序

3.User's Programs Menu对应的是 Windows 开始菜单中的“所有程序”或“程序”部分,包括启动程、卸载等

062b5008110d48ad95ee8f34e84bebbb.png

3.Application Folder右键Add,选择项目输出点击确定

65acafd2c5144299998d9406ea256227.png

4.添加图标

Application Folder右键Add,选择文件,必须为icon

现在所有的文件是这样的

ad9deab697b84e7083de303d7af33f96.png

 

5.找到主输出 from UpdateDemo(Active),这个是自己项目,然后右键选择第一个Create Shortcut to主输出 from UpdateDemo(Active),创建好的就是快捷方式,我命名UpdateDemo

ac80c6da06eb441684a5431842f56b63.png

 

把UpdateDemo剪切到User's Desktop,在创建一次UpdateDemo,把他剪切到User's Programs Menu,在User's Desktop界面点击UpdateDemo右键属性窗口,

43dbe3c9a6e048eda88c4bcd3c130def.png

选择icon

ec243f30a6884386b5238849cf5d24e4.png

进入后再次点击Browse,选择Application Folder的icon点击Ok即可,User's Programs Menu的操作一样

641fb189f464401c95280e0f935d99ca.png

右键生成

fe49358e5fe540b4a5c6b017f75ceb3b.png

在他的Debug文件夹下有俩个安装文件,随便哪个都行

8a12f2fe1e5e4d988025390a9e923ad7.png

Autoupdater.NET.Official部分

新建文件夹Update建立俩个文件,AutoUpdater.xml,AutoUpdaterLoger.html

在c#程序中,AutoUpdater.Start("http://172.30.3.158:80/AutoUpdater.xml");这俩名称得对应

1.AutoUpdater.xml

<?xml version="1.0" encoding="UTF-8"?>
<item>
    <version>1.0.0.1</version>
    <url>http://172.30.3.158:80/NewAutoUpdater.zip</url>
    <changelog>http://172.30.3.158:80/AutoUpdaterLoger.html</changelog>
    <mandatory>true</mandatory>
</item>

version:当前版本,我这里设置了1.0.0.1,以利于更新

url:更新安装包url地址,我这里的IP是up主的IP你们得设置设自己的,不会就localhost

  <url>http://localhost/NewAutoUpdater.zip</url>

changelog:升级框中显示的内容

mandatory:是否强制更新

2.在AutoUpdaterLoger.html

自己随便写点html内容,如果不会也可以把这个删掉

<changelog>http://172.30.3.158:80/AutoUpdaterLoger.html</changelog>

<!DOCTYPE html>
<html>
    <header>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    </header>
    <body>
        <h1>
            更新咯
        </h1>
    </body>
</html>

部署到IIS

Update文件夹部署到IIS,网站右键添加网站,网站名称随便填

c1f7c72baf7b4689bab1c768a806389e.png

按我这样子来,点击确定即可,没有IIS的自己百度搜搜,这里我就不过多说了,挂不上去的也可以百度搜搜原因,有很多教程

46107c99cb5c42258906c2fe9552379b.png

接下来确定是否成功。我们的Update文件夹有俩个文件

a78681daa65147a991ca3e6b4040030b.png

在浏览器中http://172.30.3.158/autoupdater.xml,这样子有内容就是对的

d2b1986897b74f5d9fea83e589f76877.png

 

更新部分准备工作

把自己的winform界面随便改下

d6a1286cd0f34ac4800641d61771107b.png

项目-属性-程序集信息改成与autoupdater.xml一样的1.0.0.2,生成

c5da5f8b26d7476583fe76ac661e9599.png

不用Setup project更新

把bin文件夹下的debug文件夹的内容全部打包成zip,放入Update文件夹,命名为NewAutoUpdater.zip

cd56f06e3df347fb9928ce208c555a22.png

 

现在我们要把vs版本改回1.0.0.0测试

5b55a0cd80d047ea81746d1fdb6a08db.png

 

点击启动,弹出这个点击更新就好了,

54ffb19be8774c25aea62e11315d3193.png

 

使用Setup project更新

必须要有俩台电脑测试

电脑A存放新的winform的exe程序

电脑B存放旧的winform的exe程序

在电脑B中点击exe程序下载,程序路径存放到指定的文件夹

在电脑A下载exe程序,然后点击安装到自己的路径下

87c4195497c3419e9006e025764e6656.png

把电脑A的程序全部打包成zip,同样命名为NewAutoUpdater.zip​,放在我们之前建立的Update文件夹中​​​​​​28ab97faec724c55bc4d92f6dfe4a3bd.png

现在操作电脑B打开我们已经下载好的程序(按我上面设置的话桌面和菜单都有),运行后,会跳出更新301e6b47897f462e963ea869918ee5e0.png更新成功后显示版本信息

3ea565e0a4654d7fa2d4ca61984f4893.png

到此结束!

更新原理

wpf和winform的操作都是一样的,其实原理就是把生成的文件全部打包成zip然后通过url取出覆盖自己原来程序的文件

 

小问题

美中不足的就是Autoupdater.NET.Official不支持增量更新,他每次都是把全部覆盖的,

增量更新指只下载应用修改过的部分,而非整个程序。AutoUpdater.NET.Official(AutoUpdater.NET 的官方实现)默认不支持增量更新

如果得使用增量更新的可以考虑Squirrel.Windows,自带的ClickOnce(就是vs中的发布,里面)可以设置,但是这个不能设置图标,或者使用软件advancedinstaller(付费)

ec1672722a43406fb119f995faac2fa0.png

谢谢大家的观看,觉得文章好的点点关注和赞

如果这篇文章对您有帮助,希望能得到您的支持。
写文章不易,码字费脑,靠打赏续命~

标签:http,Setup,Official,程序,更新,AutoUpdater,文件夹,自动更新,UpdateDemo
From: https://blog.csdn.net/m0_74000869/article/details/143871886

相关文章

  • Let'sGoFurther - Chapter 12: User Model Setup and Registration
     zzh@ZZHPC:/zdata/Github/greenlight$migratecreate-seq-ext=.sql-dir=./migrationscreate_user_table/zdata/Github/greenlight/migrations/000004_create_user_table.up.sql/zdata/Github/greenlight/migrations/000004_create_user_table.down.sql CREATET......
  • GoFurther - Chapter 5: Database Setup and Configuration
     zzh@ZZHPC:/zdata/Github/greenlight$dockerpullpostgreszzh@ZZHPC:/zdata/Github/greenlight$dockerrun--namepostgres17-p5432:5432-ePOSTGRES_USER=root-ePOSTGRES_PASSWORD=root-dpostgres:latest zzh@ZZHPC:~$dockerexec-itpostgres17psql......
  • 使用 WinNTSetup 来安装 Windows 11 24H2 或 Windows Server 2025 可以帮助你快速创建
    使用WinNTSetup来安装Windows1124H2或WindowsServer2025可以帮助你快速创建和部署操作系统。以下是详细的步骤:1.准备工作在开始之前,确保你已经具备以下条件:WinNTSetup 工具。可以从官方网站或者其他可信的来源下载WinNTSetup。Windows1124H2或WindowsServe......
  • setupui.dll 找不到了:快速修复指南
    setupui.dll是Windows操作系统中的一个动态链接库文件,主要用于支持安装程序和系统设置功能。如果这个文件丢失,可能会导致一些应用程序或系统功能无法正常运行。如何修复setupui.dll文件丢失:1.使用系统文件检查器(SFC)工具:•打开命令提示符(以管理员身份)。•输入sfc......
  • 常见 setup.exe 参数 有关 Setup 命令行参数的其他信息,请参阅 Setup Help 文件。有
    Windows安装程序安装或升级Windows。Setup.exe[/debughelp][/auto<upgrade;dataonly;clean>][/quiet][/installdrivers<driver_folder_path>][/noreboot][/installangpacks<language_packfolder_path>][/showoobe<none;full>][/unattend:<ans......
  • VUE3 script setup里面如何动态更新整个页面的背景图片
    1.使用内联样式和响应式数据步骤一:创建响应式数据来存储背景图片的URL在scriptsetup中,可以使用ref来创建一个响应式的变量来存储背景图片的URL。<template><div><button@click="changeBackground">更换背景图片</button></div></template><scriptsetup>......
  • WinNTSetup 使用教程的框架,您可以根据自己的需求深入研究每个部分,特别是集成驱动、应
    WinNTSetupv5.3.5.2-InstallWindowsfromUSB-MSFNWinNTSetup官方原版多国语言版下载链接:https://www.mediafire.com/folder/53um6k2nmhvd5/https://www.mediafire.com/file/rbpu88tre4nxwbe/WinNTSetup_v5352.rar/fileWinNTSetupv5352初级使用教程大纲引言WinNTSet......
  • Timing修复的几种方法之setup
     芯冰乐知识星球入口:芯冰乐之前的推文已经提到过D触发器的工作原理及setup和hold的相关介绍。如果没有看过的童鞋可以戳此处进行了解。下面我们看一下setup如果出现了violation是怎么解的。先看一下setup公式。setup_slack=(capture_clock_latency+phase_shift)-(la......
  • IOError: [Errno 2] No such file or directory: '/tmp/pip-build-TOULQc/urllib3/set
     [root@]#pipinstallelasticsearch==6.8.2Collectingelasticsearch==6.8.2Downloadinghttp://mirrors.cloud.aliyuncs.com/pypi/packages/96/7a/3627579d85bd4d9f4bf73b1d4240e11612f02d86c7c53fbb934cd11d5d57/elasticsearch-6.8.2-py2.py3-none-any.whl(90kB)......
  • win10彻底永久关闭自动更新的方法
    win10彻底永久关闭自动更新的方法【已验证有效】  2024-09-1310:01  马力  4900402  微信公众号"dnpz2010"     win10的自动更新可谓是非常顽固,很多用户在网上试了各种关闭win10自动更新的方法,刚开始看着好像是关闭更新了,可没过多久系统就又开始自动更新......