Как мне разрешить доступ к COM-компонентам через службу IIS?
Каков наилучший способ разрешить пользователю, подключающемуся к службе IIS, запускать процесс, который создает экземпляры COM-объектов?
Запуск процесса на основе COM на компьютере с учетной записью администратора работает нормально. Однако размещение приложения в IIS вызывает следующее исключение COM:
Не удалось получить фабрику класса COM для компонента с CLSID {yadda-yadda-yadda} из-за следующей ошибки... класс не зарегистрирован.
Класс действительно зарегистрирован. Прекрасно работает с учетной записью администратора. Я немного почитал, и, похоже, мне нужно, чтобы анонимная учетная запись использовала учетную запись администратора на коробке. Тем не менее, мои администраторы не хотят делать это из-за безопасности.
Какова лучшая практика здесь? Как мне это настроить?
ОБНОВЛЕНИЕ: Кстати, мы попытались установить анонимного пользователя в качестве учетной записи локального администратора, но все равно получили сообщение об ошибке.
1 ответ
Я нашел решение. Многие сообщения на форуме предполагали, что это проблема с разрешениями. Однако эта ссылка показала, что это проблема AppPool. Оказывается, вы должны настроить пул приложений для разрешения 32-битных приложений. Наш сервер является 64-битным сервером. Если вы зайдете в расширенные настройки пула приложений, есть опция "Включить 32-битные приложения". Установите это в истину. Boom! После этого работал как чемпион.