关于ActiveX在除开发机器外都无法运行的疑问

时间:2022-12-19 21:05:00
在Win7 64bit下 使用了VS2013 C++  开发的MFC activex 控件,
在另外一台Win7 32bit下 也是使用VS2003 C++的开发机器上面 都可以  进行直接注册

直接运行的
执行bat代码:
regsvr32 MFCActiveX.ocx /u /s

regsvr32 MFCActiveX.ocx /s

activeTest.html



activeTest.html代码:
<HTML>
<HEAD>
<TITLE>MyActiveX - Methods, Properties, and Events</TITLE> 
</HEAD>
<BODY>
<center>
控件测试
<p></p> 
<OBJECT ID="MyActiveX1" WIDTH=1000 HEIGHT=520 CLASSID="CLSID:E389AD6C-4FB6-47AF-B03A-A5A5C6B2B820">    
</OBJECT>
<p></p> 
</center>
</BODY>

都可以正常显示Activex的界面并进行相关操作都没有问题。

问题1:当把同样的生成文件的目录拷贝到其他Win7电脑下,运行bat打开网页后就不会出现activex的界面,不能够运行。
使用Depends查看缺少:MFC120U.DLL   MSVCP120.DLL   MSVCR120.DLL 正好是VS2013的runtime包

我拷贝这三个同样版本的文件到之前的目录下和系统system32下,再次运行Depends不在缺少依赖,

但是运行还是一样的结果,看不到activex界面,不能够运行,这是怎么回事呢?

问题2:VS2013 MFC 开发的Activex 是不是不能够在winXP下运行啊???

5 个解决方案

#1


Win7下问题解决了,是由于UAC的问题,自己写的bat中加了/s 静默模式,导致没看到错误。。。

XP下还是不行,在Depends下有个红色的是:KERNEL32.DLL 中的InitializeCriticalSectionEx方法是红色的,看来内核不同,是因为微软故意设置的吧VS2013的不能运行在XP下了,是这样吗?  大家有解决方案吗?

#2


你编译成Release版本了吗?DEBUG版本就经常会包含一些MFC的东西 关于ActiveX在除开发机器外都无法运行的疑问

#3


引用 2 楼 dixh1989 的回复:
你编译成Release版本了吗?DEBUG版本就经常会包含一些MFC的东西 关于ActiveX在除开发机器外都无法运行的疑问


肯定Release版本啊~

#4


找到原因了,这个问题在VS2012中就存在过 不过后来VS2012 再更新的时候修复了:
http://support.microsoft.com/kb/2835600/zh-cn

我换了VS2012 平台工具集选择Visual Studio 2012 - Windows XP (v110_xp)

OK,问题解决了~

谢谢大家~

#5


大蛱,你说得具体点吗,我也碰到类似的问题,看了几遍没有看明白,能给我发个邮件吗?1255778508@qq.com
thx

#1


Win7下问题解决了,是由于UAC的问题,自己写的bat中加了/s 静默模式,导致没看到错误。。。

XP下还是不行,在Depends下有个红色的是:KERNEL32.DLL 中的InitializeCriticalSectionEx方法是红色的,看来内核不同,是因为微软故意设置的吧VS2013的不能运行在XP下了,是这样吗?  大家有解决方案吗?

#2


你编译成Release版本了吗?DEBUG版本就经常会包含一些MFC的东西 关于ActiveX在除开发机器外都无法运行的疑问

#3


引用 2 楼 dixh1989 的回复:
你编译成Release版本了吗?DEBUG版本就经常会包含一些MFC的东西 关于ActiveX在除开发机器外都无法运行的疑问


肯定Release版本啊~

#4


找到原因了,这个问题在VS2012中就存在过 不过后来VS2012 再更新的时候修复了:
http://support.microsoft.com/kb/2835600/zh-cn

我换了VS2012 平台工具集选择Visual Studio 2012 - Windows XP (v110_xp)

OK,问题解决了~

谢谢大家~

#5


大蛱,你说得具体点吗,我也碰到类似的问题,看了几遍没有看明白,能给我发个邮件吗?1255778508@qq.com
thx