社区
C#
帖子详情
安装包打包:如何捕获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版本升级时,有什么事件能捕获呢,也就说,怎么才能加入自定义操作。
...全文
196
12
打赏
收藏
安装包打包:如何捕获msi升级事件?(System.Configuration.Install)
导入System.Configuration.Install类,用于打包时,重写Install方法。 在安装的时候,也确实调用了自定义方法。 但是当msi版本升级的时候,比如1.0.0升级到1.0.1,并不能捕获Install等任何事件。 只有当安装或者卸载的时候,才能捕获Install或者Uninstall等事件。 当msi版本升级时,有什么事件能捕获呢,也就说,怎么才能加入自定义操作。
复制链接
扫一扫
分享
转发到动态
举报
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
打赏
举报
回复
或者说思路是错的?根本是无法捕获?
C#写的自定义
安装包
,
打包
程序源代码
C#写的自定义
安装包
,
打包
程序源代码 很好很强大
C#服务能过
安装包
安装并设置为与桌面交互
C#服务能过
安装包
安装并设置为与桌面交互、服务安装、服务与桌面交互
VS2015制作服务程序
安装包
VS2015制作服务程序
安装包
C#
打包
时自定义应用程序的快捷方式和卸载源码
C#
打包
时自定义应用程序的快捷方式和卸载源码
ApplicationUpdater2
制作WinForm程序自动更新所用到的软件包,目前是针对 .Net Framework1.1的版本。
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章