一、问题起源
本来Windows XP以上操作系统,默认是不安装MSMQ组件的,如果需要使用,则可以通过:控制面板-添加删除程序-WINDOW组件,选中MSMQ队列 进行安装。
但是,我所需要的不是让用户手动去做安装,而是希望能够让程序自己解决。
PS:
1、因为MSMQ组件安装过程中,不需要插入系统盘,也没有需要设置的选项,所以完全具备“静默”安装的条件;
2、可以通过捕获“InvalidOperationExcepton”异常来检测出系统是否安装MSMQ队列。
二、问题描述
因此,问题就很清楚了,归纳如下:
如何在程序检查到操作系统未安装MSMQ组件时,用代码来安装MSMQ组件?
三、问题扩展延伸
其实这个问题,扩展出来,就变成了这样:
如何在自己的程序中,编码控制Windows组件的安装、修复、卸载?
这里抛出来,希望解决过类似问题的朋友给个提示,或者有其他想法,也分享下。谢谢!
是不是可以考虑把MSMQ的安装源文件放置到安装程序中(安装程序中多一个检测的控件),安装过程中执行应该可以的。
遇到了相同问题,还请教楼主是怎么解决的。