【问题标题】:Create 32-bit COM object from 64-bit cscript script从 64 位 cscript 脚本创建 32 位 COM 对象
【发布时间】:2012-02-08 06:38:11
【问题描述】:

我有一个由cscript 调用的JScript 脚本。该脚本在其内部使用 new ActiveXObject("SourceSafe") 代码创建 Visual Source Safe ActiveX 对象。

在 32 位 Windows 上一切正常。但是在 64 位 Windows 上,我需要调用 64 位版本的 cscript 并且仍然使用 32 位 ActiveX 对象(SourceSafe)。 cscript 的 64 位版本看不到 ActiveX 类(因为 32 位类在 windows 注册表的 32 位分支中)。

有没有办法从 64 位 cscript 创建该对象? (为 SourceSafe ActiveX 类编写 64 位自动化适配器除外)

【问题讨论】:

  • 这是不可能的。使用 c:\windows\syswow64\cscript.exe 是简单的解决方法。

标签: activex visual-sourcesafe-2005 wsh


【解决方案1】:

我已经创建了聚合 SourceSafe COM 组件的 COM+ 服务器(请参阅MSDN)。花了不到一分钟。之后,我可以使用以下简单代码在 out-proc 服务器中创建 SourceSafe 对象:

WScript.CreateObject("SourceSafe")

它是如何工作的(我的理解):COM+ 64 位 out-proc 服务器将自动化调用编组到 COM 32 位 out-proc 服务器,该服务器将调用委托给 32 位 in-proc 服务器。

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 2015-08-16
    • 2013-06-08
    • 2010-09-26
    • 2011-02-18
    • 2020-07-31
    • 2012-05-22
    • 1970-01-01
    相关资源
    最近更新 更多