1 Star 0 Fork 19

Victor / HHAutoUpdate.NET

forked from Chadwuo / HHAutoUpdate.NET 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

HHUpdateApp

GitHub stars

HHUpdateApp是.NET程序桌面应用程序。她可以轻松地将自动更新升级功能添加到经典桌面应用程序项目中。可能是西宋区域(我滴老噶)最具影响力的自动升级方式(恩,我们村应该就我一个)。

如何运作

HHUpdateApp从您的服务器下载包含更新信息的JSON文件(HHversions.json)。它使用此JSON文件来获取需要检测更新的PC上【业务应用程序】有关最新版本的信息。如果服务器上该【业务应用程序】的最新版本大于在用户PC上的当前版本,则HHUpdateApp将向用户显示更新对话框。如果用户按下更新按钮来更新软件,则它将从JSON文件中提供的URL下载更新文件(zip安装文件)。之后执行更新是安装程序的工作,HHUpdateApp会将zip文件的内容提取到应用程序目录中替换升级原应用程序文件。

如何使用

拒绝复杂的设置,直接点击【HHUpdateApp.exe】,只需要填写【业务应用程序名称】(例如LOLClient)即可轻松的为您的LOLClient.exe应用程序检查更新。

开发者使用

1,配置HHUpdateApp.exe.config

配置升级程序,主要需要配置包含更新信息的JSON文件(HHversions.json)所在路径。

<HHUpdateApp.Properties.Settings>
            <!--HHUpdateApp将下载此处提供的更新信息的JSON文件-->
            <setting name="ServerUpdateUrl" serializeAs="String">
                <value>http://localhost:8020/version.json</value>
            </setting>
			<!--设置一个版本号:则忽略这个版本的更新-->
            <setting name="LocalIgnoreVer" serializeAs="String">
                <value />
            </setting>
			<!--应用程序名称:更新时,根据这个值关闭对应的进程-->
			<setting name="LaunchAppName" serializeAs="String">
                <value />
            </setting>
			<!--是否静悄悄升级:true,更新过程中不显示界面;false,显示更新界面-->
            <setting name="SilentUpdate" serializeAs="String">
                <value>False</value>
            </setting>
</HHUpdateApp.Properties.Settings>

2,在【应用程序】中添加代码以使其对HHUpdateApp发起调用

添加调用检测升级更新的方法

    ProcessStartInfo processStartInfo = new ProcessStartInfo()
    {
        FileName = "~\HHUpdateApp.ext",//参数:HHUpdateApp程序路径
        Arguments = "LaunchAppName CheckMode"//参数:【LaunchAppName】:发起更新的名称(例如,LOLClient);【CheckMode】:检查更新模式:0,自动更新;1,手动检查(区别就是,自动更新的状态下,如果有新版本更新,才会显示提示框)
    };
    //启动由包含进程启动信息的参数指定的进程资源,并将该资源与新的System.Diagnostics.Process 组件关联。
    Process proc = Process.Start(processStartInfo);

HHversions.json

无论使用何种方式,配置服务器上包含更新信息的JSON文件都是必须的。将其配置文件放在应用程序可访问的服务器或远程电脑上。注意:HHversions.json必须是UTF8格式

{
  "ApplicationStart": "更新后启动的应用程序名,多个文件用 # 号分割",
  "ReleaseDate": "发布时间",
  "ReleaseUrl": "zip更新包发布地址",
  "ReleaseVersion": "发布版本号",
  "UpdateMode": "更新方式:Cover表示覆盖原文件更新,NewInstall表示删除源文件全新安装",
  "VersionDesc": "更新描述说明",
  "IgnoreFile": "更新过程中忽略的文件,多个文件用 # 号分割"
}

示例

上面示例中使用的代码片段

/// <summary>
/// 检查更新按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
        {
            string _updateAppPath = textBox1.Text;//输入升级程序所在目录

            if (File.Exists(_updateAppPath))//升级程序是否存在
            {
                ProcessStartInfo processStartInfo = new ProcessStartInfo()
                {
                    FileName = _updateAppPath,//路径
                    Arguments = "LOLClient 1"//此需要升级的应用程序名
                };
                Process proc = Process.Start(processStartInfo);
                if (proc != null)
                {
                    proc.WaitForExit();
                }
            }
        }

上面示例中使用的HHversions.JSON文件

{
  "ApplicationStart": "HHUpdate.Test.exe",
  "ReleaseDate": "2020520",
  "ReleaseUrl": "http://localhost:8085/UpdateDemo/Debug.zip",
  "ReleaseVersion": "1.0.0.1",
  "UpdateMode": "Cover",
  "VersionDesc": "一个有趣的故事,当我们最初准备重做乐芙兰时已经准备好了这个BUG的修复,但最后并没有实装,因为这个技能被取代了。\r\n1,修复了一个BUG,【被动 - 镜花水月】所召唤的分身在普攻命中前阵亡,那么她所进行的普攻会造成伤害。\r\n2,新增:【恶意魔印】将为目标施加一个印记。\r\n3,乐芙兰重做后的大招理应让她能够选择复制哪个技能来做出更有趣的连招。",
  "IgnoreFile": ""
}

End

MIT License Copyright (c) 2021 micahh28 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

轻松地将自动更新升级功能添加到经典桌面应用程序(WinForm)项目中。 展开 收起
C#
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/Victor-y/HHAutoUpdate.NET.git
git@gitee.com:Victor-y/HHAutoUpdate.NET.git
Victor-y
HHAutoUpdate.NET
HHAutoUpdate.NET
master

搜索帮助

14c37bed 8189591 565d56ea 8189591