Группируйте развертываемый COM-компонент

Дополнение и регистрация COM-компонента

Примечание

COM-компоненты используются и в MATLAB® Compiler™ и в MATLAB Compiler SDK™, поэтому некоторые инструкции, относящиеся к созданию и упаковке COM-компонентов и дополнений, могут быть совместно использованы продуктами.

Когда вы создаете свой COM-компонент, он указан или в HKEY_LOCAL_MACHINE или в HKEY_CURRENT_USER, на основе ваших полномочий входа в систему.

Если вы находите, что необходимо изменить полномочия во время выполнения из-за стандартов обеспечения защиты, наложенных Microsoft® или установкой, можно сделать одно из следующих прежде, чем развернуть COM-компонент или дополнение:

  • Войдите в систему как administrator прежде, чем запустить ваш COM-компонент или дополнение

  • Запустите следующую команду mwregsvr до выполнения вашего COM-компонента или дополнения, можно следующим образом:

    mwregsvr [/u] [/s] [/useronly] project_name.dll 
    где:

    • /u позволяет любому пользователю не указывать COM-компонент или дополнение для этого сервера

    • /s запускает эту команду тихо, не генерируя сообщений. Это полезно для использования в установках без диалогов.

    • /useronly позволяет только, в настоящее время вошел в систему пользователь, чтобы запустить COM-компонент или дополнение на этом сервере

Внимание

Если ваш COM-компонент будет указан в улье USER, это не будет видимо к Windows Vista™ или пользователям Windows® 7, запускающимся, когда administrator в системах с контролем учётных записей (User Access Control) включил.

Если вы указываете компонент к улью USER под Windows 7 или Windows Vista, ваш COM-компонент может не загрузить при выполнении с поднятым (administrator) привилегий.

Если это происходит, сделайте следующее, чтобы потворить регистрацию компонента к улью LOCAL MACHINE:

  1. Не укажите компонент с этой командой:

    mwregsvr /u /useronly my_dll.dll
    

  2. Повторно укажите компонент к улью LOCAL MACHINE с этой командой:

    mwregsvr my_dll.dll