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
:
Не укажите компонент с этой командой:
mwregsvr /u /useronly my_dll.dll
Повторно укажите компонент к улью LOCAL MACHINE
с этой командой:
mwregsvr my_dll.dll