Что касается аналогичной проблемы, связанной с тем, что ActiveX не может создавать объекты Scripting.FileSystemObject, решения в целом аналогичны. Главное, иметь ясный ум: сначала рассмотрите проблему регистрации компонента, а во-вторых, проблему с разрешением компонента. конфигурацию сервера, затем внимательно проверьте ее. Взгляните на исходный код вашей программы.
Сегодня я столкнулся с проблемой. Веб-сайт ASP сообщил об ошибке при создании статической страницы:
Ошибка выполнения Microsoft VBScript «800a01ad»
Компонент ActiveX не может создать объект: «Scripting.FileSystemObject».
На самом деле, эта проблема довольно распространена. Причина ошибки в том, что сервер не поддерживает компонент FSO. Такая ситуация часто встречается в основных системах ASP CMS, таких как Fengxun, Kexun и Dongyi, поскольку все они используют механизмы статической генерации и требуют поддержки компонентов FSO. Прежде чем начать, вы должны сначала использовать зонд ASP, чтобы проверить поддержку сервером компонентов FSO. Обычно мы используем сервер Windows 2003.
Ниже я расскажу о своих конкретных идеях решения и проанализирую каждую возможную причину сообщения об ошибке. Надеюсь, это будет вам полезно.
1) Файл scrrun.dll не зарегистрирован. Перейдите в папку C:/WINDOWS/system32 и посмотрите, существует ли файл scrrun.dll. Если нет, перейдите в папку i386 в каталоге установки системы и скопируйте ее. Затем меню «Пуск» -> выполните следующую команду, чтобы зарегистрировать компонент FSO:
regsvr32.exe %windir%/system32/scrrun.dll Это позволит серверу поддерживать компонент FSO. Если вы хотите отключить компонент FSO, выполните следующую команду:
regsvr32.exe /u %windir%/system32/scrrun.dll — это нормально, и ваша проблема будет решена.
2) Если по-прежнему не работает, проверьте, отключен ли элемент ActiveX в браузере. Обычно этого не происходит, если только это не сервер, уровень безопасности будет строго ограничен. В этом случае просто установите уровень безопасности браузера на средний-низкий.
3) Сам ваш сервер не поддерживает компоненты FSO.
4) Рассмотрите вопросы разрешений. Последовательно выполните следующие операции:
Меню «Пуск» -> «Выполнить» -> regedit -> ОК, в свою очередь найдите HKEY_CLASSES_ROOT/Scripting.FileSystemObject, щелкните правой кнопкой мыши разрешения, добавьте права пользователя «Все», «Гостевая учетная запись Интернета» (IUSR...), перезапустите IIS, чтобы решить проблему.
5) Приложение: Решение проблемы, что сервер не поддерживает компонент Scripting.Dictionary.
С помощью описанных выше шагов вы можете идеально решить проблему сбоя создания объекта ActiveX. Если проблема с тем, что компонент Scripting.Dictionary не поддерживается, решение аналогично первому шагу и выполните команду regsvr32.exe %windir%/system32/scrrun.dll. Если проблема еще не решена, рассмотрите проблему с разрешениями. Вы можете обратиться к шагу 4, чтобы добавить разрешения для этого объекта в реестре. Сделайте выводы из одного примера и узнайте, как его решить, если вы снова столкнетесь с подобной проблемой!
6) Приложение: Решение проблемы сбоя Server.CreateObject. Когда мы запускаем программу, нам могут быть выданы аналогичные ошибки, например:
Ошибка объекта сервера «ASP 0177: 800401f3»
Ошибка Server.CreateObject
/include/test.asp, откройте test.asp в строке 38, проверьте исходный код рядом со строкой 38 и посмотрите, нет ли ошибок в методе записи создания объекта. Стандартный метод записи должен быть:
<% Set fso = Server.CreateObject(Scripting.FileSystemObject) %>
Такая ситуация во многом вызвана невнимательностью со стороны программиста. На самом деле компонент Scripting.FileSystemObject можно переименовать, что повысит безопасность сервера. Изменить его в реестре можно следующим образом:
Меню «Пуск»->Выполнить->regedit->ОК, по очереди найдите HKEY_CLASSES_ROOT/Scripting.FileSystemObject, щелкните правой кнопкой мыши, чтобы переименовать, а затем выполните первый шаг для регистрации файла scrrun.dll. Обратите внимание, что при написании программы вы должны создать объект с этим новым именем, иначе будет сообщено об ошибке. 7) Приложение: IIS поставляется с компонентами.
Обнаружили ли вы, что все причины этих проблем кроются в собственных компонентах IIS? Вот некоторые распространенные компоненты IIS для справки:
MSWC.AdRotator
MSWC.Браузертипе
MSWC.NextLink
MSWC.Инструменты
MSWC.Статус
MSWC.Счетчики
SWC.PermissionChecker
WScript.Shell
Microsoft.XMLHTTP
Scripting.FileSystemObject
ADODB.Connection Подводя итог, можно сказать, что относительно аналогичной проблемы, связанной с тем, что ActiveX не может создавать объекты Scripting.FileSystemObject, решения в целом аналогичны. Главное, чтобы у вас были четкие идеи: сначала рассмотрите проблему регистрации компонента, а затем проблему разрешения компонента, если таковая имеется. проблем с настройкой сервера нет. Если да, то внимательно проверьте исходный код вашей программы!