.NET : 自定义安装服务

今天处理了这样一个事情,我们希望给用户安装的程序满足如下几个要求

1. 安装步骤尽量简单,最好一步到位,不需要用户按部就班地做那些选择

2. 安装程序要检测用户是否安装.NET Framework 2.0,如果没有,则自动安装。而且最好不要去微软网站临时下载。

3. 安装程序最好不能在“添加/删除程序”面板中删除

 

为了实现这三个目的,下面来看看我是如何解决的

1. 要简化安装步骤其实不难,就是在“用户界面编辑器”中将不需要的窗口删除掉即可

image

2. 安装检测.NET Framework,这本来也不难,但关键在于如何不去网站下载呢?

在安装程序的属性对话框中,点击“系统必备”

image

image

注意:这里应该选择“从与我的应用程序相同的位置下载系统必备组件”

生成之后,就可以看到如下一个特殊文件夹

image

把这个与我们的msi打包在一起即可。

 

3. 如何让用户无法删除程序呢?我找了一下注册表,发现有些不能删除的程序都有一个特殊的键值NoRemove。于是乎在我们的安装程序中添加了一个注册表值

image

安装好之后,注意我们这个安装程序是没有卸载操作的

image

 

4. 最后补充一个,如果我们希望在安装程序运行完成之后,打开我们的一个网站,应该如何实现呢

其实这个也不难,我们可以在自定义安装类中,添加一句代码


        public override void Commit(IDictionary savedState)
        {
            base.Commit(savedState);

            Process.Start("http://www.xizhang.com");
        }

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值