Я пытаюсь настроить права доступа, разрешения запуска и установить запуск в качестве одного из наших пользовательских приложений DCOM.Как настроить доступ DCOM, запустить и установить запуск как разрешение с помощью C#
Я уже прошли через эти ссылки dcomcnfg functionality programmatically
и http://www.myitforum.com/articles/11/view.asp?id=9323 (скачано с ++ DCOMPerm библиотека)
Я попробовал код из первой ссылке выше, как написано «longofest» но следующий строка кода
var value = Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Ole", "DefaultAccessPermission", null);
всегда возвращает мне нулевое значение, однако, когда я просматривал записи реестра на m y, запись «DefaultAccessPermission» для ключа реестра Ole имеет там двоичное значение, то почему я всегда получаю нулевую обратную ссылку, не знаю.
Во-вторых, я попробовал библиотеку C++, загруженную со второй ссылки выше, и попытался выполнить вызов COM одному из методов с атрибуцией DLLImport (для автоматизации разрешений запуска для объекта DCOM), но некоторые проблемы с сортировкой не позволяют мне передать типы C#, соответствующие типам C++, и выплевывать исключение, которое говорит, что PInvoke не может возвращать варианты.
Я не мог найти ничего конкретного после поиска в Интернете в течение нескольких часов, любая помощь по этому счету будет более чем оценена.
Никогда не работал с C++, получил очень плохое знание этого языка.
Обновление: Проблема с нулевым значением решена, но я не знаю, как установить права доступа и установить run as. Я видел в коде C++, что для установки разрешения доступа код нуждается в домене и имени пользователя, но что эквивалентно этому C#, не знаю ....
Ваш код работает как 32- или 64-разрядный процесс? [Это] (http://stackoverflow.com/a/974093/115272) может вам помочь. –
Я выбрал любой процессор на вкладке сборки свойств проекта, и он находится на 64-битной машине Windows 7. – user2913184