无法从其他文件夹访问 midiox COM 接口

Can't access midiox COM interface from other folders

我有一个使用 midiox COM 接口的脚本,当它位于 midiox 安装路径 "WSH" 文件夹中时它工作正常,但是当我将这个脚本移动到我的文档中的一个文件夹时(所以我可以将它添加到我的同步文件中),突然间我似乎无法再访问 COM 接口,因为获取 mox 变量(主要 midiox 对象)现在导致错误:

Could not create object named "Midiox.MoxScript.1".

指的是脚本中的这一行:

var mox = WScript.CreateObject("Midiox.MoxScript.1");

我尝试将所有文​​件从 midiox 安装路径复制到我的文档(保持相同的文件夹结构),但我仍然遇到此错误。

编辑 15-01-14:

为了消除这是由于 32 位模式下不是 运行 cmd 提示或 cscript.exe 引起的可能性,我编辑了我的批处理文件:

@echo off
set "SystemPath=%windir%\sysWOW64"
ECHO inside LAUNCHPAD_Polling_14-09-14
ECHO.
:RELOAD_SCRIPT
C:\Windows\SysWOW64\cscript.exe C:\Users\Chris\Documents\MEGA\repos\LP_DJM_Script\LAUNCHPAD_Polling_14-09-14.js
ECHO.
ECHO.
:PROMPT
set /p UserInput= Press "Enter" to reload. ("n" to exit)
IF "%UserInput%"=="n" (
    GOTO :EXIT
) Else (
    GOTO :RELOAD_SCRIPT
)
:EXIT

我仍然遇到同样的错误。

据我所知,该组件是一个 32 位进程内组件,它需要您 运行 一个 32 位应用程序才能创建它的实例。

您正在 运行安装 64 位版本的 cscript.exe (C:\Windows\System32\cscript.exe) 而不是 32 位版本 (C:[=17= .exe).

如果您 运行ning 来自 cmd.exe,运行 的 cscript.exe(未提供完整路径)是cmd.exe 你 运行 宁。因此,如果您从批处理文件中执行脚本,则可以 运行 cmd.exe.

的 32 位版本

我明白了。我在脚本文件夹中放置了一份 cscript.exe 并将其设置为 "Run as Admin" 因为我无法弄清楚如何在从 system32 调用时将 cscript 作为管理员获取到 运行目录。但是当我将所有文件复制到另一个目录时,cscript.exe 的副本并没有自动将其自身设置为 "Run as Admin" - 这拒绝了我访问 midiox COM 接口。