社区
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版本升级时,有什么事件能捕获呢,也就说,怎么才能加入自定义操作。
...全文
284
12
打赏
收藏
安装包打包:如何捕获msi升级事件?(System.Configuration.Install)
导入System.Configuration.Install类,用于打包时,重写Install方法。 在安装的时候,也确实调用了自定义方法。 但是当msi版本升级的时候,比如1.0.0升级到1.0.1,并不能捕获Install等任何事件。 只有当安装或者卸载的时候,才能捕获Install或者Uninstall等事件。 当msi版本升级时,有什么事件能捕获呢,也就说,怎么才能加入自定义操作。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
或者说思路是错的?根本是无法捕获?
MSI
安装数据库
本文介绍如何通过添加自定义动作让
MSI
安装包
自动安装数据库。利用Visual Studio.NET的Setup Project模板创建
MSI
安装包
,并通过编写类库工程实现数据库安装函数。此函数通过调用SQL Server的osql.exe执行安装脚本。
Net程序
打包
安装与卸载制作
本文详细介绍了如何将.NET程序
打包
成安装程序,包括部署.NET Framework、自动安装SQL Server数据库、
打包
MSDE Sp3、MDAC,以及制作卸载程序和创建快捷方式等。
如何卸载安装程序
博客介绍了分离卸载程序的方法,如添加新项 Un
install
并引用 System.
Configuration
.
Install
.dll,给出 vb.net 代码示例,还提到在 vc#.net 中类似,一个工程可包含不同项目,也可建快捷方式运行文件,同时说明了 Windows
Install
er 服务进程相关信息。
MySQL安装失败解决的方法
本文详细介绍了如何解决
MSI
版MySQL安装过程中遇到的问题,包括彻底卸载残留组件、清理注册表及文件夹。同时提供了解压版MySQL的安装步骤,从配置my.ini文件、设置环境变量到服务启动全过程。
MySQL .NET驱动6.8.3免
安装包
:支持EF5/EF6、多.NET框架及WinRT/CF
解压即用的MySQL官方.NET连接器6.8.3,不依赖安装程序,适合无管理员权限环境或CI/CD流水线集成。内置适配不同运行时的mysql.data.dll(.NET Framework 2.0/4.0/4.5),以及专为Entity Framework 5和EF6设计的mysql.data.entity.EF5.dll与mysql.data.entity.EF6.dll。同时提供Windows RT平台专用的MySql.Data.RT.dll,以及Compact Framework版mysql.data
C#
111,131
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章