shkolakz.ru 1

Настройка DCOM под Windows XP SP2 и Windows Vista


Для того чтобы доступ к интерфейсам библиотеки стал возможным по сети нужно настроить DCOM и Брандмауэр Windows.

Настройка Брандмауэра Windows.

Вы можете отключить брандмауэр или настроить его так чтобы разрешить доступ к библиотеке по сети.

Для того чтобы отключить брандмауэр выполните следующие действия:

Откройте Брандмауэр Windows
в Панели управления.
Выберите Выключить
и нажмите OK.





Для того чтобы настроить брандмауэр на доступ к библиотеке SpRecord по сети выполните следующие действия:

Откройте Брандмауэр Windows
в Панели управления.
Откройте вкладку Исключения.
Нажмите кнопку Добавить программу...
Нажмите кнопку Обзор...

Выберите файл dllhost.exe
, который по умолчанию он находится в папке C:\Windows\System32, и нажмите кнопку Открыть.



Нажмите OK
.
Нажмите кнопку Добавить порт...

Введите имя (например, DCOM) и номер порта 135 и нажмите кнопку OK для добавления порта в список исключений.



Нажмите OK чтобы сохранить настройки брандмауэра Windows.

Настройка DCOM.

Нажмите Пуск и выберите пункт Выполнить…
В поле для ввода наберите dcomcnfg и нажмите OK.
Запустится оснастка Службы компонентов.
Раскройте раздел Службы компонентов.

Раскройте раздел Компьютеры в разделе Службы компонентов.

Щелкните правой кнопкой мыши на Мой компьютер и выберите Свойства.



В раскрывшемся окне выберите вкладку Свойства по умолчанию.



Установите флажок Разрешить использование DCOM на этом компьютере.

Откройте вкладку Безопасность COM и нажмите кнопку Изменить ограничения… в разделе Права доступа.



Для сети с доменом здесь нужно добавить пользователей домена, которым хотите разрешить доступ.
Для сети без домена добавьте пользователей АНОНИМНЫЙ ВХОД и Все. Для каждого добавленного пользователя установите все флажки в столбце Разрешить.
Нажмите кнопку OK.

На этой же вкладке нажмите кнопку Изменить ограничения… в разделе Размещения на запуск и активацию.





Для сети с доменом здесь нужно добавить пользователей домена, которым хотите разрешить доступ.
Для сети без домена добавьте пользователей АНОНИМНЫЙ ВХОД и Все. Для каждого добавленного пользователя установите все флажки в столбце Разрешить.
Нажмите кнопку OK.

Нажмите кнопку OK еще раз в окне Мой компьютер.


Создайте пользователя, от имени которого будут запускаться компоненты библиотеки. Например, SpRecordRemoteUser.
Пользователь SpRecordRemoteUser должен иметь право на чтение и выполнение файлов из паки, в которую Вы установили SpRecord.
В операционных системах, начиная с Windows XP, по умолчанию права пользователей с пустым паролем ограничены. Поэтому пользователь SpRecordRemoteUser должен иметь не пустой пароль.

Раскройте ветвь Службы компонентов/Компьютеры/Мой компьютер/Настройка DCOM, найдите компонент SpRecordChannelClient Object, щелкните на нем правой кнопкой мыши и выберите Свойства.



В появившемся окне выберите вкладку Общее.



Уровень проверки подлинности установите в Нет.

Выберите вкладку Безопасность.



В разделе Разрешения на запуск и активацию выберите пункт Настроить и нажмите кнопку Изменить…
Для сети с доменом здесь нужно добавить пользователей домена, которым хотите разрешить доступ.
Для сети без домена добавьте пользователей АНОНИМНЫЙ ВХОД и Все. Для каждого добавленного пользователя установите все флажки в столбце Разрешить.
Нажмите кнопку OK.

Выполните те же действия в разделе Права доступа.

Откройте вкладку Удостоверение.


Выберите пункт Указанный пользователь и укажите имя пользователя, от имени которого будет запускаться компонент, и пароль.

Нажмите кнопку OK.

Для компонента SpRecordClient Object выполните такие же действия как и для SpRecordChannelClient Object.

На этом настройку DCOM можно считать законченной.
Возможно потребуется перезагрузить компьютер.

Примечание:
Если Вы используете библиотеку SpRecord в своем приложении, то для получения ссылок на интерфейсы ISpRecordClient и ISpRecordChannelClient, Вам может потребоваться установить уровень проверки подлинности для вашего приложения в Нет. Для этого воспользуйтесь функцией COM CoInitializeSecurity или установите в настройках DCOM Уровень проверки подлинности по умолчанию в Нет, если явного вызова CoInitializeSecurity не происходит.