Con respecto al problema similar de que ActiveX no puede crear objetos Scripting.FileSystemObject, las soluciones son generalmente similares. Lo principal es tener la mente clara: primero considere el problema del registro del componente y, en segundo lugar, el problema del permiso del componente. configuración del servidor, luego compruébelo cuidadosamente. Eche un vistazo al código fuente de su programa.
Encontré un problema hoy. Un sitio web ASP informó un error al generar una página estática:
Error de tiempo de ejecución de Microsoft VBScript '800a01ad'
El componente ActiveX no puede crear un objeto: 'Scripting.FileSystemObject'
De hecho, este problema es relativamente común. El motivo del error es que el servidor no admite el componente FSO. Esta situación se encuentra a menudo en los principales sistemas ASP CMS como Fengxun, Kexun y Dongyi, porque todos adoptan mecanismos de generación estática y requieren soporte de componentes FSO. Antes de comenzar, primero debe utilizar la sonda ASP para probar la compatibilidad del servidor con los componentes FSO. Normalmente utilizamos un servidor Windows 2003.
A continuación hablaré sobre mis ideas de soluciones específicas y analizaré cada posible motivo del informe de errores. Espero que le resulte útil.
1) El archivo scrrun.dll no está registrado. Vaya a la carpeta C:/WINDOWS/system32 y vea si hay un archivo scrrun.dll. De lo contrario, vaya a la carpeta i386 en el directorio de instalación del sistema y cópiela. A continuación, menú Inicio->ejecute el siguiente comando para registrar el componente FSO:
regsvr32.exe %windir%/system32/scrrun.dll Esto permite que el servidor admita el componente FSO. Si desea desactivar el componente FSO, ejecute el siguiente comando:
regsvr32.exe /u %windir%/system32/scrrun.dll es normal y su problema se resolverá.
2) Si aún no funciona, verifique si el control ActiveX está deshabilitado en el navegador. Normalmente no sucederá, a menos que sea un servidor, el nivel de seguridad estará estrictamente restringido. Si este es el caso, simplemente ajusta el nivel de seguridad del navegador a medio-bajo.
3) Su servidor en sí no admite componentes FSO.
4) Considere las cuestiones de permisos. Realice las siguientes operaciones en secuencia:
Menú Inicio -> Ejecutar -> regedit -> Aceptar, busque HKEY_CLASSES_ROOT/Scripting.FileSystemObject a su vez, haga clic con el botón derecho en permisos, agregue permisos de usuario para Todos, Cuenta de invitado de Internet (IUSR...), reinicie IIS para resolver el problema.
5) Adjunto: Solución al problema de que el servidor no soporta el componente Scripting.Dictionary
Mediante los pasos anteriores, puede resolver perfectamente el problema de falla en la creación de objetos ActiveX. Si todavía hay un problema de que el componente Scripting.Dictionary no es compatible, la solución es similar, consulte el primer paso y ejecute el comando regsvr32.exe %windir%/system32/scrrun.dll. Si aún no se resuelve, considere el problema de permisos. Puede consultar el paso 4 para agregar permisos a este objeto en el registro. ¡Haga inferencias de un ejemplo y sepa cómo resolverlo si vuelve a encontrar problemas similares!
6) Adjunto: Solución al error de Server.CreateObject. Cuando ejecutamos el programa, es posible que aparezcan errores similares, como los siguientes:
Error de objeto del servidor 'ASP 0177: 800401f3'
Error en Server.CreateObject
/include/test.asp, abra test.asp en la línea 38, verifique el código fuente cerca de la línea 38 y vea si hay algún error en el método de escritura para crear el objeto. El método de escritura estándar debe ser:
<% Establecer fso = Server.CreateObject(Scripting.FileSystemObject) %>
Esta situación se debe principalmente a un descuido por parte del programador. De hecho, se puede cambiar el nombre del componente Scripting.FileSystemObject, lo que aumentará la seguridad del servidor. Podemos cambiarlo en el registro de la siguiente manera:
Menú Inicio->Ejecutar->regedit->Aceptar, busque HKEY_CLASSES_ROOT/Scripting.FileSystemObject a su vez, haga clic derecho para cambiar el nombre y luego ejecute el primer paso para registrar el archivo scrrun.dll. Tenga en cuenta que cuando escriba el programa, debe crear el objeto con este nuevo nombre; de lo contrario, se informará un error. 7) Adjunto: IIS viene con componentes
¿Ha descubierto que todas las causas de estos problemas se encuentran en los propios componentes de IIS? A continuación se muestran algunos componentes comunes de IIS como referencia:
MSWC.AdRotator
MSWC.Tipo de navegador
MSWC.SiguienteEnlace
MSWC.Herramientas
MSWC.Estado
MSWC.Contadores
SWC.PermissionChecker
WScript.Shell
Microsoft.XMLHTTP
Scripting.FileSystemObject
ADODB.Connection Para resumir, con respecto al problema similar de que ActiveX no puede crear objetos Scripting.FileSystemObject, las soluciones son generalmente similares. Lo principal es tener las ideas claras: primero considere el problema del registro del componente y, en segundo lugar, el problema del permiso del componente. No hay problema con la configuración del servidor. Si es así, ¡compruebe cuidadosamente el código fuente de su programa!