ATL控件签名之后页面还提示“在此页面上的Activex控件和本页上的其他部分及交互可能不安全”

时间:2021-04-02 14:27:19

ATL控件正常签名打包,然后安装之后还是会提示:

ATL控件签名之后页面还提示“在此页面上的Activex控件和本页上的其他部分及交互可能不安全”

没理由啊,签名是花钱搞得正当的签名。后来查了资料才知道这还不够,需要在创建ATL控件的时候继承一个IObjectSafetyImpl 类

知道了原因,我以为还要让我重新建一个ATL工程,后来我做了个试验,就是重新创建一个新的ATL控件然后在添加ATL类的时候选择添加IObjectSafety支持如下:

ATL控件签名之后页面还提示“在此页面上的Activex控件和本页上的其他部分及交互可能不安全”

ATL控件签名之后页面还提示“在此页面上的Activex控件和本页上的其他部分及交互可能不安全”

选择之后看看新建的工程跟我之前开发的ATL控件工程有什么不同,然后根据不同直接使原先的工程参考新建的ATL控件同步就行

通过对比发现了新建的ATL工程多了下面2处:

ATL控件签名之后页面还提示“在此页面上的Activex控件和本页上的其他部分及交互可能不安全”

还有一个:

ATL控件签名之后页面还提示“在此页面上的Activex控件和本页上的其他部分及交互可能不安全”

然后我就直接在我之前开发的ATL工程上加上了上面的2处不同点,然后编译之后,发现竟然不再提示那个烦人的Activex控件安全问题了

呵呵!

总结一下就是需要添加:IObjectSafety 接口