安装包打包:如何捕获msi升级事件?(System.Configuration.Install)

malligator 2012-03-20 03:36:34
导入System.Configuration.Install类,用于打包时,重写Install方法。

在安装的时候,也确实调用了自定义方法。

但是当msi版本升级的时候,比如1.0.0升级到1.0.1,并不能捕获Install等任何事件。

只有当安装或者卸载的时候,才能捕获Install或者Uninstall等事件。

当msi版本升级时,有什么事件能捕获呢,也就说,怎么才能加入自定义操作。
...全文
195 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘴哥臭鼬 2012-04-01
  • 打赏
  • 举报
回复
是的,以前我解决过这个问题,在assmble.cs文件里面改版本号为*.*.*.*貌似是这样,每次编译后它就会自动增长,然后在安装时就会提示是否版本更新,就不需要删掉后再装了.
hengdafei 2012-04-01
  • 打赏
  • 举报
回复
不知道为何
hengdafei 2012-03-21
  • 打赏
  • 举报
回复
MSI包升级主要包含以下几个方面:
1:版本号升级,比如从1.0.0修改为1.0.1
2:ProductCode更新
3:UpgradeCode不变

修改了上述几个方面打包而成的MSI安装包,在旧版本机器上安装时,称之为升级,而不是先卸载后安装。
足球中国 2012-03-21
  • 打赏
  • 举报
回复
升级,什么叫升级这个东西需要你自己写。
要升级哪些文件只有你知道。升级与安装不是一回事。但你也可把你要升级的东西写在安装里。
hengdafei 2012-03-21
  • 打赏
  • 举报
回复
顶下,泄露事件后,很萧条。
冰镇宝贝321 2012-03-21
  • 打赏
  • 举报
回复
顶下。。。。只是我觉得大家连你的意思还没明白呢
malligator 2012-03-21
  • 打赏
  • 举报
回复
CSDN如此萧条了么,怎么没人顶啊
hengdafei 2012-03-21
  • 打赏
  • 举报
回复
我试了System.Configuration.Install下所有的事件,如Install,AfterInstall、BeforeInstall等等都不行。

如果是先卸载再安装,上面的事件都会触发。

但是在原版本不卸载的前提下安装新版本,任何事件都不会触发。

奇怪了。。。。
WAN 2012-03-21
  • 打赏
  • 举报
回复
楼主究竟是说Install方法,还是说AfterInstall、BeforeInstall这些事件
试了一下。Install方法仍然正常地被调用了,没问题
至于AfterInstall、BeforeInstall这些事件,没试过,但只是为了加入自定义操作,一般也不需要使用
hengdafei 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qingfengbj 的回复:]
引用 6 楼 hengdafei 的回复:
MSI包升级主要包含以下几个方面:
1:版本号升级,比如从1.0.0修改为1.0.1
2:ProductCode更新
3:UpgradeCode不变

修改了上述几个方面打包而成的MSI安装包,在旧版本机器上安装时,称之为升级,而不是先卸载后安装。


2和3应该反了吧,我觉得应该是ProductCode不变,UpgradeCode更新……
[/Quote]

没有弄反,可参考http://msdn.microsoft.com/zh-cn/library/465253cd.aspx
我是只对一个应用程序进行更新。
流浪的青春 2012-03-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hengdafei 的回复:]
MSI包升级主要包含以下几个方面:
1:版本号升级,比如从1.0.0修改为1.0.1
2:ProductCode更新
3:UpgradeCode不变

修改了上述几个方面打包而成的MSI安装包,在旧版本机器上安装时,称之为升级,而不是先卸载后安装。
[/Quote]

2和3应该反了吧,我觉得应该是ProductCode不变,UpgradeCode更新。
ProductCode如果变化了,就变成另外一个新的安装包了。。。。。。
malligator 2012-03-20
  • 打赏
  • 举报
回复
或者说思路是错的?根本是无法捕获?

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧