Coder Social home page Coder Social logo

autoupdater's People

Contributors

a5196060 avatar argozhang avatar justerzhu avatar weihanli avatar zllovezn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

autoupdater's Issues

配置适应MAUI - Windows machice

需在AutoUpdate.MauiApp-Sample中开发
1.让GeneralUpdate整套组件适应MAUI的框架,并能在window client的环境下正常更新

Nuget包还不是最新版本

我在nuget上面搜索看到好几个包都还是去年9月份的版本。没有新的Model类。
请问下什么时候准备发布新nuget包呢?

还有就是在示例代码种我看到这个model同一个属性好像在表示两个不同的概念,是不是不太合适?
image

Signal R推送最新版本功能

需在GeneralUpdate.AspNetCore实现
1.在该组件中添加Signal R的组件
2.由服务端决定是否推送最新版本的推送
3.当最新版本信息落库之后,将最新版本的内容读出并以JSON字符串的形式推送(数据结构参考sql脚本的结构)

bug:"GeneralUpdate\src\GeneralUpdate.Core\Download\AbstractTask.cs" 第143行

image

BUG位置图
当文件下载结束(没有重命名),再执行下载操作,运行到下面代码时,会抛出异常。
D:\Project\GeneralUpdate\src\GeneralUpdate.Core\Download\AbstractTask.cs
if (startPos > 0) state._request.AddRange((int)startPos);

重现方法:注释掉对 File.Move 函数,多次执行下载。

MinimalService项目是否考虑可在外部配置

1、和GeneralUpdate.Core和GeneralUpdate.ClientCore组件开发搭配,结合sqlite或json静态文件在程序外部进行配置,而非写死代码
2、增加类似swagger之类的可视化接口工具,便于更多的第一次上手的朋友们,更容易上手并了解项目
3、结合项目结构,梳理example的启动顺序和相互依赖

重构多任务下载功能

需在GeneralUpdate.ClientCore和GeneralUpdate.Core中开发
1.将多任务下载功能重构为支持“可等待”的方法
2.添加观察者设计模式

AutoUpdater下载后调试问题

您好,我下载您的这个代码后,在使用时遇到一些问题,需要您的帮助。
一:代码下载后,启动调试时,参数直接就是默认的。想知道使用时传入参数的方法。
二:关于UpdaterEx工程的说明。这个工程的作用是什么?

萌新问题

1、关于更新程序是否需要和主程序放在同一个目录下,是将主程序和更新程序的debug目录下的所有文件移动到同一文件夹下吗?
2、GeneralUpdate.PacketTool打包程序,我理解的第一个地址是需要打包的数据,第二行和第三行有啥区别?对打包数据有要求吗?
3、我可不可以直接用压缩工具做一个压缩包当做更新包?
4、现在的要对客户端更新是不是必须要有单独的更新程序、主程序、服务端三者,不能只有服务端和主程序,主程序中融合更新程序

是否支持更新可选项及更新内容?

  1. 在upgrade端是否支持判断client需要更新并给用户选择是否更新的功能?

微信文档中并未找到相关说明,但是在readme中看到非强制更新可以弹出选择框供用户选择,强制更新则直接更新,是否有示例demo或相关文档说明?

  1. 在upgrade端是否支持获取不同版本的更新内容,方便展示给用户?(在server端的表中没看到更新信息的字段)

AutoUpdate.WpfApp项目启动出错

AutoUpdate.WpfApp项目启动出错

错误描述:System.InvalidOperationException:“不能在同一 AppDomain 中创建多个 System.Windows.Application 实例。”

错误位置:App.xaml.cs 第48行 var application = new App();

wpf应用怎么部署自动升级

1,客户端主程序版本号在什么地方设置? AssemblyInfo.cs?
2,客户端:代码怎么写?
3,更新升级包:除了update.zip,是不是还有一个update.xml,存放新版本号及更新说明
4,更新组件:升级程序需要设置哪些:下载路径、客户端主程序名;是在升级组件配置里设置;或是在客户端主程序的配置设置?
5,是不是把升级程序,存放在客户端主程序同一目录?

FileUtil.Update32Or64Libs在某些情况下会抛出异常

现象描述

AutoUpdate.ConsoleApp编译后会在Debug目录下生成x64和x86的文件夹。如果把Debug目录下的所有文件拷贝到待更新程序的Debug目录下,目标程序无法完成自动更新。

问题定位

GeneralUpdate.Core工程下的DefultStrategy类在解压成功后会调用FileUtil.Update32Or64Libs(_updatePacket.InstallPath);。如果安装目录下存在x64或x86文件夹,FileUtil.DirectoryCopy方法会在拷贝成功后把源文件夹,即x64或x86文件夹删除,但是FileUtil.Update32Or64Libs中还会调用Directory.Delete(sourceDir)把源文件夹再删除一遍,导致删除异常,无法更新成功。

更新程序Demo

需在AutoUpdate.WpfNet6-Sample中实现
1.在该项目中引用GeneralUpdate.Core及相关组件
2.美化更新UI
3.正常运行并更新“主程序”(MainApp)

更新本地配置文件或sqlite数据库结构

该功能需在GeneralUpdate.Core和GeneralUpdate.ClientCore组件中开发。
1.更新配置文件时,需保持原有配置内容情况下更新文件结构。(目前考虑JSON)
2.更新sqlite数据库时,保持原有数据内容更新表结构。

重构文件功能体系

1.文件树结构管理、递归、对比
2.文件对象定义
3.支持多层级文件夹更新

建议

建议把更新配置放XML或者ini里面,不要存数据库,方便部署。

wpf客户端启动时 调用 更新程序

过往做法是 wpf客户端主程序 在app层OnStartup 事件中 ,根据 接受的参数 作为一个标识, 如果没有标识,说明不是从 更新程序 更新的.
这时候 启动 更新程序,更新程序 更新完毕(走完更新 wpf客户端流程) 启动wpf主程序, 然后传标识到 wpf 客户端主程序.

wpf客户端主程序 app OnStartup 事件中 ,根据 接受的参数,发现了标识,就不再更新流程, 就启动 mainWindow了

放到这里操作思路也是一样吗?

多压缩包格式解压、压缩功能

需在GeneralUpdate.Zip组件中开发
1.需在GeneralZipFactory添加7z格式解压、压缩功能以及压缩、解压通知事件
2.需在GeneralZipFactory添加RAR格式解压、压缩功能以及压缩、解压通知事件

WpfNet6-Sample增加下载过程信息文字提示可视化(WpfNet6-Sample Added text prompt visualization of download process information)

为了提示用户下载的进程描述,除了进度条,在必要的时候(企鹅群也在问找不到服务器地址,可能因为他们找不到那个server项目)进行提示,故在窗体中Tip5的区域,增加了对Message信息的输出。

相关代码在Fork的repo中提交了

https://github.com/JaneConan/AutoUpdater

准备向主库申请pr,和您进行代码审查进行尝试,以便于将来整合MAUI时参考。

image

image

image

测试工具开发

需在AutoUpdate.Test测试工具中添加
1.压缩包解压和压缩测试功能,(对应Tab页 Zip Test)
2.启动“更新程序”进行更新测试(对应Tab页 Update Test)
3.获取文件MD5码功能(对应Tab页 File MD5)
4.进程启动的参数查看测试功能(对应Tab页 Process launch)
以上开发内容查看源码后即清晰。

增量更新

需在GeneralUpdate.AspNetCore中添加,增量打包版本文件方法
1.初始化好生成的路径
2.通过树形结构管理新旧版本
3.遍历树形结构根据文件的MD5码和具体的文件版本信息进行比对
4.遍历筛选完成后按照原来的文件树结构生成好差分包
5.向数据库插入差分包的版本信息
6.生成好更新日志便于版本管理

源码编译以及类名问题

您好,我在下载源码后,进行编译,发现源代码存在一个问题,在 Core 项目中,StringEx.cs 这个文件重复出现了两次,一个路径为 ./StringEx.cs,另一个在 ./Utils/StringEx.cs

然后就是默认的 Strategy 命名应该是漏了一个 aDefultStrategy -> DefaultStrategy
AbstractBootstrap 类中,在 Private Members 里面, DefultFormat -> DefaultFormat

最后, 非常感谢作者的开源奉献!

重构压缩组件

需在GeneralUpdate.Zip中开发。
1.添加多中压缩格式,RAR、7z
2.添加工厂设计模式

打包工具启动无反应

环境:win10 家庭版 21H1

问题:安装完成后启动无反应,安装目录下也没有日志文件,不知道什么原因?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.