BearRui(AK-47)
花开有时,错过了一日便错过了一季,就象人生错过了相遇,就不再找寻到美丽的相聚
随笔- 39  文章- 2  评论- 1287 
博客园  首页  新随笔  联系  管理  订阅 订阅
2005中ClickOnce实现程序的自动升级功能。

        以前为了软件实现自动升级更新功能,大家可能要写很多代码,而在2005中利用ClickOnce只需设几个属性点几下按钮就行了,还是来看看怎么实现吧............

        首先建1个空的解决方案,再添加个ClassLibrary和1个WindowsApplication。
分别写入测试的简单代码,比如:
ClassLibrary:

    public class Class1
    {
        
public string GetVersion()
        {
            
return "1.0.0.0";
        }
    }


WindowsApplication(引用了ClassLibrary):

private void button1_Click(object sender, EventArgs e)
 {
     
this.label1.Text = new Class1().GetVersion();
}


然后右键WindowsApplication项目点Properties:

这里可以直接点击Publish Now按钮发布你的程序了(使用默认值)。

发布后会弹出个安装页面,点击install进行安装。安装后在开始菜单中就可以看到你的程序了。


以上就是一个完整的程序发布安装了,接下来就是升级程序了。
现在开始升级程序,这里只把 GetVersion()改下:

        public string GetVersion()
        {
            
return "1.0.0.1";
        }


然后再publish一次,这次照样会弹出上面的安装页面,但我们这次不点击install在线安装了,我们运行开始菜单中的程序,运行后发现程序会自动去检查程序版本,并提示有新版本的程序,是否升级。
是不是很简单类。
--------------------
最后是对publish的一些选项做下解释说明:
 Publishing Location是输入程序要发布的地址,可以是HTTP,FTP等等。
 Prerequisites是选择程序安装必需的先决条件。比如:freamework2.0,SQL2005,install3.1.....
 Updates是对程序检查更新的设置。是程序启动就检查更新,还是程序运行后检查,还是每个星期检查  
               一次.....
 Options就是一般是设置,大家应该都能看的懂。

[作者]:BearRui(AK-47)
[博客]: http://www.cnblogs.com/BearsTaR/
[声明]:本博所有文章版权归作者所有(除特殊说明以外),转载请注明出处.
绿色通道:好文要顶关注我收藏该文与我联系
posted on 2006-06-05 20:17 BearRui(AK-47) 阅读(3851) 评论(22) 编辑 收藏
发表评论
766233
 回复 引用   
#1楼 2006-06-05 22:43 | xmthor[未注册用户]
这个功能也就玩玩可以,可控性太差了,而且容易出问题。另外,这样的文章似乎不适合出现在首页。
 回复 引用 查看   
#2楼 2006-06-05 22:46 | Lostinet      
拿一个现成的程序测试了一下。发现原来真的就这么简单。
 回复 引用 查看   
#3楼 2006-06-05 23:46 | 海阔天空      
限制太多了,作为Browser的替代品到是可以考虑。
 回复 引用   
#4楼 2006-06-06 08:43 | ff[未注册用户]
在局域网中怎么升级呢,地址怎么写呢?
 回复 引用 查看   
#5楼[楼主] 2006-06-06 09:08 | Bear.sTaR{R}      
@ff
局域网中只要把Publishing Location设置为http://192.168.1.12/WinUpdate

就行了

 回复 引用   
#6楼 2006-06-06 09:54 | sskset_unknown[未注册用户]
可控性的确太差了

请问,用这个部署程序怎么加个卸载?

 回复 引用 查看   
#7楼[楼主] 2006-06-06 10:03 | Bear.sTaR{R}      
@sskset_unknown
自动在添加删除里面添加了卸载和回滚的功能

 回复 引用 查看   
#8楼 2006-06-06 10:55 | 学海无涯,回头是岸      
能不能把服务器的地址放在某个配置文件中。
比如服务器的IP地址改变了,是不是还有重新编译一遍程序才能找到升级程序?

 回复 引用 查看   
#9楼[楼主] 2006-06-06 11:17 | Bear.sTaR{R}      
@学海无涯,回头是岸
好像只能重新发布下程序,这个功能是不太灵活,自己不怎么能控制。

希望MS能出更灵活的ClickOnce

 回复 引用   
#10楼 2006-06-06 12:49 | sskset_unknown[未注册用户]
不好意思,没说清楚
添加删除里面 是有

我想问怎么在利用ClickOnce发布的程序的开始菜单栏里头添加卸载

 回复 引用 查看   
#11楼[楼主] 2006-06-06 13:19 | Bear.sTaR{R}      
@sskset_unknown
好像不行

 回复 引用 查看   
#12楼 2006-06-06 14:48 | 肥仔鱼      
值得尝试
 回复 引用 查看   
#13楼 2006-06-06 14:51 | 肥仔鱼      
我这有delphi7写的自动和手动升级的冬冬,也很好使
 回复 引用 查看   
#14楼[楼主] 2006-06-06 16:51 | Bear.sTaR{R}      
@肥仔鱼
你用delphi7写的能在NET下用吗,能的话能不能发上来看看啊!!!

 回复 引用 查看   
#15楼 2006-06-06 20:49 | C# hack      
好东西!
 回复 引用 查看   
#16楼 2006-06-07 10:27 | 家中慢步      
太不靈活,功能出了半年了,好像還沒有人用到.
 回复 引用 查看   
#17楼[楼主] 2006-06-07 10:37 | Bear.sTaR{R}      
是不太灵活,但是在有时候还是比较有用的!!!
 回复 引用   
#18楼 2006-07-06 13:51 | blackjack212_401[未注册用户]
2003里面 是不是要麻烦很多啊
 回复 引用 查看   
#19楼[楼主] 2006-07-07 09:48 | Bear.sTaR{R}      
@blackjack212_401
2003是没有这个功能的,只能自己写代码来实现!!!

 回复 引用   
#20楼 2006-07-08 09:10 | LiSonTu[未注册用户]
怎样开发自己的publish.htm安装界面啊?
 回复 引用 查看   
#21楼[楼主] 2006-07-08 13:44 | Bear.sTaR{R}      
@LiSonTu
没明白楼上的意思,是想自己写代码实现自动升级,

还是想只想自己写个升级的publish.htm页面

 回复 引用   
#22楼 2007-05-31 12:16 | qingfeng[未注册用户]
我在vs2005项目属性里面怎么没有找到关于publish呢,
刷新评论列表  刷新页面  返回页首
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

验证码: 验证码 看不清,换一个

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 418018 RzjH5fLujdo=
首页博问闪存新闻园子招聘知识库
最新IT新闻:
· Chrome将给老机带来更快的3D绘图性能
· 在线支付创业公司Stripe获红杉资本等1800万美元的投资,公司估值达1亿美元
· 创新工场孵化公司磊友科技今天正式推出首款大型手机HTML5网页游戏《黎明帝国》
· 霍金的伟大与不幸
· Linux为什么成功?因为它的失败是免费的!
» 更多新闻...
最新知识库文章:
· 高级编程语言的发展历程
· 如何学习一门新的编程语言?
· 学习不同编程语言的重要性
· 为什么我喜欢富于表达性的编程语言
· 计算机专业的女生为什么要学编程
» 更多知识库文章...

China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务

抓虾
google reader
鲜果
哪吒
QQ邮箱
http://wap.feedsky.com/BearRui
昵称:BearRui(AK-47)
园龄:5年10个月
荣誉:推荐博客
粉丝:124
关注:3

搜索

 

最新随笔

  • 1. 产生唯一随机码的方法分析。
  • 2. URL中允许携带sessionid带来的安全隐患。
  • 3. JS 实现完美include
  • 4. 基于模板的excel导出
  • 5. 实现if elseif else的jsp标签。
  • 6. 记一复杂页面的前端优化(2) - 其他优化
  • 7. 记一复杂页面的前端优化(1) - 不一样的延迟加载
  • 8. 名站技术分析 — tudou网首页下列菜单的弹出效果
  • 9. LESS 让css也支持变量,运算符,include,嵌套规则等等
  • 10. CSS技巧 — 不使用图片实现圆角、阴影、渐变等功能

随笔分类(38)

  • .NET(11)
  • CSS(3)
  • JAVA(2)
  • javascript(4)
  • Life(5)
  • WEB(4)
  • 高性能WEB开发(5)
  • 浏览器(1)
  • 名站技术分析(3)

随笔档案(39)

  • 2010年10月 (1)
  • 2010年8月 (3)
  • 2010年7月 (5)
  • 2010年6月 (4)
  • 2010年5月 (6)
  • 2006年6月 (4)
  • 2006年5月 (7)
  • 2006年4月 (9)

积分与排名

  • 积分 - 178236
  • 排名 - 485

最新评论

阅读排行榜

评论排行榜

推荐排行榜

Copyright ©2012 BearRui(AK-47)