主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

打包可部署 COM 组件

注册加载项和 COM 组件

注意

MATLAB® Compiler™MATLAB Compiler SDK™ 中均使用 COM 组件,因此一些与构建和打包 COM 组件和加载项有关的说明可以在产品之间共享。

当您创建 COM 组件时,它会根据您的登录特权在 HKEY_LOCAL_MACHINEHKEY_CURRENT_USER 中注册。

如果您发现由于 Microsoft® 或您的安装所施加的安全标准而需要更改运行时权限,则可以在部署 COM 组件或加载项之前执行以下操作之一:

  • 运行 COM 组件或加载项之前以 administrator 身份登录

  • 在运行 COM 组件或加载项之前运行以下 mwregsvr 命令,如下所示:

    mwregsvr [/u] [/s] [/useronly] project_name.dll 
    其中:

    • /u 允许任何用户取消注册此服务器的 COM 组件或加载项

    • /s 静默运行此命令,不生成任何消息。这对于静默安装很有帮助。

    • /useronly 仅允许当前登录的用户在此服务器上运行 COM 组件或加载项

小心

如果您的 COM 组件在 USER 配置单元中注册,则在启用了 UAC (User Access Control) 的系统上以 administrator 身份运行的 Windows Vista®Windows® 7 用户将看不到它。

如果您在 Windows 7 或 Windows Vista 下将组件注册到 USER 配置单元,则在以提升的 (administrator) 特权运行时,您的 COM 组件可能无法加载。

如果发生这种情况,请执行以下操作将组件重新注册到 LOCAL MACHINE 配置单元:

  1. 用以下命令取消注册该组件:

    mwregsvr /u /useronly my_dll.dll
    

  2. 使用以下命令将组件重新注册到 LOCAL MACHINE 配置单元:

    mwregsvr my_dll.dll