Em relação ao problema semelhante de que o ActiveX não consegue criar objetos Scripting.FileSystemObject, as soluções são geralmente semelhantes. O principal é ter a mente clara: primeiro considere o problema de registro do componente e, em segundo lugar, o problema de permissão do componente. configuração do servidor e verifique-a cuidadosamente. Dê uma olhada no código-fonte do seu programa.
Encontrei um problema hoje. Um site ASP relatou um erro ao gerar uma página estática:
Erro de tempo de execução do Microsoft VBScript '800a01ad'
O componente ActiveX não pode criar o objeto: 'Scripting.FileSystemObject'
Na verdade, esse problema é relativamente comum. O motivo do erro é que o servidor não oferece suporte ao componente FSO. Esta situação é frequentemente encontrada em sistemas ASP CMS convencionais, como Fengxun, Kexun e Dongyi, porque todos adotam mecanismos de geração estática e requerem suporte de componentes FSO. Antes de começar, você deve primeiro usar o probe ASP para testar o suporte do servidor para componentes FSO. Geralmente usamos um servidor Windows 2003.
A seguir falarei sobre minhas ideias de soluções específicas e analisarei cada motivo possível para o relatório de erros. Espero que seja útil para você.
1) O arquivo scrrun.dll não está registrado. Vá para a pasta C:/WINDOWS/system32 e veja se há um arquivo scrrun.dll. Caso contrário, vá para a pasta i386 no diretório de instalação do sistema e copie-o. A seguir, menu Iniciar-> execute o seguinte comando para registrar o componente FSO:
regsvr32.exe %windir%/system32/scrrun.dll Isso permite que o servidor suporte o componente FSO. Se desejar desligar o componente FSO, execute o seguinte comando:
regsvr32.exe /u %windir%/system32/scrrun.dll é normal e seu problema será resolvido.
2) Caso ainda não funcione, verifique se o controle ActiveX está desabilitado no navegador. Normalmente isso não acontecerá, a menos que seja um servidor, o nível de segurança será estritamente restrito. Se for esse o caso, basta ajustar o nível de segurança do navegador para médio-baixo.
3) Seu servidor em si não oferece suporte a componentes FSO.
4) Considere questões de permissão. Execute as seguintes operações em sequência:
Menu Iniciar -> Executar -> regedit -> OK, encontre HKEY_CLASSES_ROOT/Scripting.FileSystemObject por sua vez, clique com o botão direito nas permissões, adicione permissões de usuário Todos, Conta de Convidado da Internet (IUSR...), reinicie o IIS para resolver o problema.
5) Anexo: Solução para o problema do servidor não suportar o componente Scripting.Dictionary
Através das etapas acima, você pode resolver perfeitamente o problema de falha na criação de objetos ActiveX. Se ainda houver um problema de não suporte do componente Scripting.Dictionary, a solução é semelhante à primeira etapa e execute o comando regsvr32.exe %windir%/system32/scrrun.dll. Se ainda não tiver sido resolvido, considere o problema de permissão. Você pode consultar a etapa 4 para adicionar permissões a este objeto no registro. Faça inferências a partir de um exemplo e saiba como resolvê-lo caso encontre problemas semelhantes novamente!
6) Anexo: Solução para falha de Server.CreateObject. Ao executarmos o programa, podemos receber erros semelhantes, como segue:
Erro de objeto de servidor 'ASP 0177: 800401f3'
Falha no servidor.CreateObject
/include/test.asp, abra test.asp na linha 38, verifique o código-fonte próximo à linha 38 e veja se há algum erro no método de escrita de criação do objeto. O método de escrita padrão deve ser:
<% Definir fso = Server.CreateObject(Scripting.FileSystemObject) %>
Esta situação é causada principalmente por descuido por parte do programador. Na verdade, o componente Scripting.FileSystemObject pode ser renomeado, o que aumentará a segurança do servidor. Podemos alterá-lo no registro da seguinte forma:
Menu Iniciar-> Executar-> regedit-> OK, encontre HKEY_CLASSES_ROOT/Scripting.FileSystemObject por sua vez, clique com o botão direito para renomear e execute a primeira etapa para registrar o arquivo scrrun.dll. Observe que ao escrever o programa, você deve criar o objeto com este novo nome, caso contrário um erro será relatado. 7) Anexo: IIS vem com componentes
Você descobriu que todas as causas desses problemas estão nos próprios componentes do IIS. Aqui estão alguns componentes comuns do IIS para referência:
MSWC.AdRotator
MSWC.BrowserType
MSWC.NextLink
MSWC.Ferramentas
MSWC.Status
MSWC.Contadores
SWC.PermissionChecker
WScript.Shell
Microsoft.XMLHTTP
Scripting.FileSystemObject
ADODB.Connection Para resumir, em relação ao problema semelhante de que o ActiveX não pode criar objetos Scripting.FileSystemObject, as soluções são geralmente semelhantes. O principal é ter ideias claras: primeiro considere o problema de registro do componente e, em segundo lugar, o problema de permissão do componente. não há problema com a configuração do servidor. Em caso afirmativo, verifique cuidadosamente o código-fonte do seu programa!