VS2017配置安装事件小记(二)

博主想为安装包添加预检测功能,检测当前环境是否支持。起初用return操作破坏了安装环境,后发现可使用微软的InstallException API解决问题。在install事件的beforeInstall中添加判断条件,满足条件时抛出异常可自动回退安装步骤。

最近想给自己制作的安装包添加一个安装之前的预检测功能,用来检测当前环境是否为该工具包支持的环境,如果不是则退出安装过程,本来以为和普通的函数一样,只需要在安装事件里执行一个return操作,而且我也这样干了,然后呢,emmm。我成功把安装环境破坏了,需要手动清理一些文件方可继续执行安装操作,而且为此我还专门给自己的安装包添加了清理脏文件的功能。

然而事实上,我们可以使用一个异常来解决这个问题,微软维护了一个针对安装包的很好的API——InstallException,我们只需要在我们的判断环境里加入这个即可实现回退安装操作,并抛出异常,并且这个异常的内容可以由我们自己设置。而这个功能,我之前是自以为是的使用messageBox加return实现的。而这个API完美的完成了我需要的功能,就很舒服。好了,闲话说完了,该上代码了

private void testInstaller_BeforeInstall(object sender, InstallEventArgs e)
        {
            if (ture)
            {
                throw new InstallException("本产品只适用于...");
            }
        }

 

     如上,我在install事件中的beforeInstall中添加了一个判断条件,如果满足该条件则使用throw new InstallException抛出一个异常,其中描述可以自己填写,然后会自动回退安装步骤,十分好用,此处笔记,以便以后再次用起。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值