COMExamplePlugIn в DMSDK требует запуска DM от имени администратора под Window 10, но не под Windows 7 - PullRequest
0 голосов
/ 05 мая 2020

Используя SDK Digital Micrograph (DMSDK), я собрал (VS2017) и запустил пример под названием COMExamplePlugIn под Windows 7, и он работал нормально. Однако, когда я собирал и запускал под Widows 10, плагин не работал во время вызова Run (), сообщая об ошибке: «CoCreateInstance of COMExampleInterface failed (80004002)». Если я запускаю Digital Micrograph как администратор под Windows 10, ошибка исчезнет и плагин будет работать нормально. Кроме того, плагин, созданный под Windows 10, отлично работает под Windows 7. Кто-нибудь еще сталкивался с этой проблемой? Как вы это решили? Запуск DM от имени администратора на самом деле не вариант для многих пользователей.

1 Ответ

0 голосов
/ 05 мая 2020

Это чисто проблема ОС. Стандартный пользователь под Windows 10 больше не может вносить изменения в реестр. В COMExample COM-объект регистрируется на лету, что требует изменения реестра, и это больше невозможно, если вы не являетесь администратором.

Вы правы, что GMS работает с повышенными привилегии обычно не рекомендуется. В более новых версиях в этом случае даже появляется следующее предупреждающее сообщение.

enter image description here

Этот пример в SDK, возможно, следует удалить, так как он больше не является допустимым. что делать под Windows10. Я не знаю подходящего способа решения этой проблемы. Единственные допустимые способы регистрации COM-объектов в Windows10, похоже, - это использовать regsvr32 из командной строки, которая запускается с повышенными привилегиями, или сделать это из установщика приложения.

...