65.9K
CodeProject 正在变化。 阅读更多。
Home

程序更新 DLL

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.71/5 (3投票s)

2009年12月4日

Ms-PL

3分钟阅读

viewsIcon

32557

downloadIcon

1155

一个提供应用程序更新支持的 DLL。

引言

这个方便的小 DLL 使用存储在 HTTP/HTTPS 服务器上的两个文件来更新你的应用程序。这个 DLL 使用了我在这个网站上找到的LudioSoft.ConfigurationFile.dll!感谢该代码的作者!这可能是我在这个网站上找到的最有用的 DLL:文章链接

该 DLL 既可以作为单个软件包,与 LudioSoft DLL 一起,也可以与可用于创建更新文件的程序一起提供。

使用 DLL

使用此 DLL 中的代码非常简单。在您的项目中引用该 DLL(不要声明子程序,这可能会对 DLL 中的某些属性产生不利影响)。

要执行更新,必须按特定顺序调用两个子程序。首先,通过调用以下代码检查更新

TCi.Update.Updater.CheckForUpdates(CurrentVersion as String, TargetFolder as String)        

CurrentVer,我猜想,是应用程序的当前版本。DLL 在您的应用程序关闭后不会在本地存储它。

TargetFolder 是获取更新文件的位置。必须是字符串格式的 URL,指向 HTTP/HTTPS 文件夹(例如:"http://www.mywebsite.com/update/")。DLL 添加文件和文件类型以获取。

此子程序在没有任何通知的情况下退出。退出后,其中一个属性将更改以反映更新状态,如下所示

TCi.Update.Updater.CurrentVersionStatus = VersionStat.UpToDate
'Otherwise
TCi.Update.Updater.CurrentVersionStatus = VersionStat.NewVersionAvalible

然后,您可以通过调用以下代码下载更新

TCi.Update.Updater.DownloadLatestVersion(TargetFolder as String)

TargetFolder 具有与 CheckForUpdates 上的 TargetFolder 相同的含义。不将其存储在本地的原因是 - 开发人员可能希望将更新包存储在不同的文件夹中。

在此子程序的运行期间,两个属性会发生变化 - DownloadStatusPatchStatusDownloadStatus 更改以显示下载状态:DownloadStat.ReadyDownloadStat.GettingVersionDownloadStat.GettingDownloadPatchStatus 更改为 PatchStat.UpdateRunningPatchStat.UpdateCompletePatchStat.DeletingTemp

DLL 下载、提取然后安装更新,并在结束子程序之前删除临时文件。

使用更新创建器

更新创建器允许开发人员创建 TCi 更新包。该软件输出两个文件,lv.tufpatch.tuf,这两个文件都可以上传到你的 HTTP 服务器或 HTTPS 服务器。

使用更新创建器很简单;只需填写所有框和单选按钮,然后单击“创建包”。

目前,更新系统支持几个用于命令行提取的包,并且更多正在开发中。IExpress(它在每台 Windows 计算机上都有,在“开始”菜单上的“运行”/“搜索”框中键入 IExpress)和 7Zip SFX 存档(7Zip 也是免费的,从 http://www.7-zip.org 下载)都受支持,对 Windows Installer (*.msi) 的支持即将推出。您也可以使用自己的包,但它必须能够自行启动安装程序,而无需命令行支持。

历史

  • DLL 版本 1.00,更新创建器版本 1.00 - 开始!创建了 DLL 和更新创建器。支持两个包,以及自定义设置。
  • 更新创建器版本 1.01 - 更改了更新创建器中的一个错误 - 将补丁定义输出从 lc.tuf 更改为 DLL 识别的 lv.tuf。 还更改了安装程序中的一些文本。 更改了一些其他安装程序设置、图标等。
© . All rights reserved.