VB6应用程序 - 运行时错误429:ActiveX组件无法在Windows Server 2008 R2 Standart上创建对象

时间:2017-01-26 11:07:34

标签: vb6 runtime-error activex windows-server-2008-r2

我在 Windows Server 2008 r2标准版x64 上运行的vb6应用程序运行时错误429:ActiveX组件无法创建对象 - 在Virtual PC上进行全新安装。< / p>

我可以在Windows 7,10和Windows Server 2003上运行它,使用相同的步骤没有问题

  1. 复制程序文件夹
  2. 使用%systemroot%/ syswow64 / regsvr32
  3. 向admin cmd注册所有dll和ocx文件

    我使用了一个名为“listdlls.exe”的工具,我比较了应用程序在Windows 7和Windows Server 2008 r2上加载的DLL和OCX文件 - 没有丢失的文件。这10个文件只有不同的版本:

    ntdll.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23572)
    
    kernelbase.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23572)
    
    advapi32.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23572)
    
    ole32.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23392)
    
    msctf.dll on Windows 7 (6.1.7600.16385) and on Windows Server 2008 r2 (6.1.7601.23572)
    
    oleaut32.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23569)
    
    cryptsp.dll on Windows 7 (6.1.7600.16385) and on Windows Server 2008 r2 (6.1.7601.23471)
    
    crypt32.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23566)
    
    asycfilt.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23569)
    
    olepro32.dll on Windows 7 (6.1.7601.17514) and on Windows Server 2008 r2 (6.1.7601.23452)
    

    该应用使用的所有其他文件的版本和大小相同!所以没有其他差异。

    该程序在“帐户设置为管理员”下以管理员身份运行。

    我将DEP(数据执行保护)设置为0

      

    C:\ Windows \ SysWOW64&gt; wmic OS获取DataExecutionPrevention_SupportPolicy

         

    DataExecutionPrevention_SupportPolicy

         

    0

    我也禁用了UAC(用户帐户控制)

    有什么想法吗?版本差异是否足以导致这种情况,或者是否还有其他我缺失的东西?

    干杯!

1 个答案:

答案 0 :(得分:0)

请使用ProcessMonitor以确定您的Windows Server 2008 r2标准版x64上的VB6程序找不到哪个COM组件。

https://technet.microsoft.com/en-gb/sysinternals/processmonitor.aspx