使用 advanced installer 为 winform 做自动更新
原文:使用 advanced installer 为 winform 做自动更新
advanced installer 是一款打包程序,基于 windows installer 并扩展了一些功能,比如安装统计,自动更新,授权验证等,本文将介绍你如果使用 advanced installer(以下简称 ai) 为 winform 做自动更新。
- 打开 ai,将你的项目文件拖到此处,再进行些基础的配置。直到能够生成基础的安装包。
- 开始配置更新,点击到 updater 选项卡,选中 'enable advanced installer updater'。
- 上一步配置好后,切换到项目文件选项页,发现列表中多了两个文件,一个是 updater.exe,一个是 updater.ini
- updater.exe 用于执行更新
- updater.ini 是更新的配置文件
- 点击 build,生成安装包
- 接下来配置更新服务器,图样图森破。再开与一个 ai 实例,新建一个 updater config 的项目。
- 配置服务器相关内容。
- 配置完成后点击 build,仅仅会生成 updater.ini 。这个配置文件不同于第三步生成的配置文件,这是服务器需要的配置文件,需要分别清楚。
- 将 updater.ini 放到服务器上,在将第四步生成的安装包与 updater.ini 放在一起。
- 能成功到这一步的要恭喜,因为你马上就要成功了。
- 测试无更新。安装第四部生成的包,成功后,进入安装目录确认下 updater.exe 和 .ini 两个文件是否存在,点击 updater.exe 后应该会弹出 ai 的更新提示,此时因为两者版本一样,应该会提示没有更新的。
- 测试有更新。我们在回到第二步,将 version 改一下,在点击 build,记住,此时会弹出框让你选择是否更新 productcode,选择更改,因为咱们现在在做安装包形式的更新,需要更换 productcode,如果要做 patch 类型的更新,则不需要。
- 再打开 updater config 的项目,重新关联下上一步生成的安装包,此时版本会刷新,然后再手工修改下 target version,改到最新的版本,target version 是判断客户端是否更新的依据,如果客户端的版本不是 targer version,那么客户端就会更新。
使用 advanced installer 为 winform 做自动更新的更多相关文章
- C#[WinForm]实现自动更新
C#[WinForm]实现自动更新 winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个 ...
- winform实现自动更新并动态调用form实现
winform实现自动更新并动态调用form实现 标签: winform作业dllbytenull服务器 2008-08-04 17:36 1102人阅读 评论(0) 收藏 举报 分类: c#200 ...
- WinForm通用自动更新器AutoUpdater项目实战
一.项目背景介绍 最近单位开发一个项目,其中需要用到自动升级功能.因为自动升级是一个比较常用的功能,可能会在很多程序中用到,于是,我就想写一个自动升级的组件,在应用程序中,只需要引用这个自动升级组件, ...
- WinForm通用自动更新AutoUpdater项目实战
目前我们做的上位机项目还是以Winform为主,在实际应用过程中,可能还会出现一些细节的修改.对于这种情况,如果上位机带有自动更新功能,我们只需要将更新后的应用程序打包放在指定的路径下,可以让用户自己 ...
- .net winform软件自动更新
转载自 http://dotnet.chinaitlab.com/DotNetFramework/914178.html 关于.NET windows软件实现自动更新,本人今天写了一个DEMO,供大家 ...
- C#Winform实现自动更新
服务端: [WebMethod] public string GetNewService(string version) { //通过版本号进行比较 if (version == "v1.0 ...
- C# WINFORM的自动更新程序
自动更新程序AutoUpdate.exe https://git.oschina.net/victor596jm/AutoUpdate.git 1.获取源码 http://git.oschina.ne ...
- winform 通用自动更新程序
通用自动更新程序 主要功能: 1. 可用于 C/S 程序的更新,集成到宿主主程序非常简单和配置非常简单,或不集成到主程序独立运行. 2. 支持 HTTP.FTP.WebService等多种更新下载方式 ...
- winform版本自动更新
我们在使用软件的时候经常会遇到升级版本,这也是Winform程序的一个功能,今天就大概说下我是怎么实现的吧(代码有点不完美有小BUG,后面再说) 先说下我的思路:首先在打开程序的时候去拿到我之前在网站 ...
随机推荐
- 实现拖拽上传文件的一款小控件——dropzone
由于专注所以专业.非常多小巧的东西乍一看非常不起眼,却在特定的领域表现不俗,就是由于集中了热情. dropzone就是这样一款小控件,实现拖拽上传.它不依赖于其他像jquery等JS库.并且支持多方面 ...
- iOS开发网络学习七:NSURLSession的基本使用get和post请求
#import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...
- php实现二叉树的镜像(二叉树就是递归)
php实现二叉树的镜像(二叉树就是递归) 一.总结 二叉树就是递归 二.php实现二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / ...
- [Node.js] Create a model to persist data in a Node.js LoopBack API
In this lesson you will learn what a LoopBack model is, you will create a Product model using the Lo ...
- 微信开发学习日记(七):开源微商城wemall
最近嘛,不是在调研PHP和微信的行情么. 发现,微商城是非常火爆的一个领域,既然业务有搞头,那么技术这一块也有很多选择. 网上发现了wemall这个开源的PHP实现的微商城. 下载了开源版本,PHP后 ...
- MCMC:Gibbs 采样(matlab 实现)
MCMC: The Gibbs Sampler 多元高斯分布的边缘概率和条件概率 Marginal and conditional distributions of multivariate norm ...
- java三大框架实现任务调度——IRemindService
java实现任务调度,主要分为几个步骤: 1.创建一个服务 2.创建一个任务类,将服务作为一个任务去完成(实现job接口) 3.创建一个任务类实体 ...
- poj1995 Raising Modulo Numbers【高速幂】
Raising Modulo Numbers Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5500 Accepted: ...
- Vue中import '@...'是什么
今天看新项目代码,有import '@/assets/css/theme/index.css'一类的代码,里面的@是做什么的呢. 找到这篇文章https://www.cnblogs.com/bos ...
- mac下通过brew安装的Nginx在哪
反正我的是在/usr/local/etc下,看网上的资料似乎都不太一样. 一些常用nginx命令 nginx -s reload :修改配置后重新加载生效 nginx -s stop :快速停止ngi ...