A instalação do SQL Server 2008/2012 Express falha no scenarioengine.exe [fechado]

1

Estou tentando instalar o SQL Server 2012 Express em um PC com Windows 7 de 64 bits. Ele também falha ao instalar o SQL Server 2008 R2. O bootstrapper extrai todos os arquivos, executa o setup.exe (com o UAC popup) e então (pelo que eu posso dizer) tenta iniciar o scenarioengine.exe que se recusa a executar.

Os detalhes do erro do MSSQL 2012 Express são:

Description: Stopped working

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: scenarioengine.exe Problem Signature 02: 11.0.2100.60
Problem Signature 03: 4f35e1de
Problem Signature 04: Microsoft.SqlServer.Chainer.Infrastructure
Problem Signature 05: 11.0.0.0
Problem Signature 06: 4f35e1dd
Problem Signature 07: 200
Problem Signature 08: 179
Problem Signature 09: ZAGSF01GRLFWVJMY5S0U0HXSJJE2HDT4
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033

Eu extraí os arquivos de instalação e corri de uma linha de comando, e recebo o seguinte erro:

Unhandled Exception: Microsoft.SqlServer.Chainer.Infrastructure.ChainerInfrastructureException: The environment block used to start a process cannot be longer than 65535 bytes. Your environment block is 162180 bytes long. Remove some environment variables and try again. ---> System.InvalidOperationException: The environment block used to start a process cannot be longer than 65535 bytes. Your environment block is 162180 bytes long. Remove some environment variables and try again.

at System.Diagnostics.EnvironmentBlock.ToByteArray(StringDictionary sd, Boolean unicode) at System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine) at System.CodeDom.Compiler.Executor.ExecWaitWithCapture(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine) at Microsoft.CSharp.CSharpCodeGenerator.Compile(CompilerParameters options, String compilerDirectory, String compilerExe, String arguments, String& outputFile, Int32& nativeReturnValue, String trueArgs)
at Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(CompilerParameters options, String[] fileNames)
at Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(CompilerParameters options, String[] sources)
at Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(CompilerParameters options, String[] sources)
at System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(CompilerParameters options, String[] sources)
at System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, XmlSerializerCompilerParameters xmlParameters, Evidence evidence)
at System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, XmlSerializerCompilerParameters parameters, Assembly assembly, Hashtable assemblies)
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
at System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
at System.Xml.Serialization.XmlSerializer..ctor(Type type, String defaultNamespace)
at Microsoft.SqlServer.Chainer.Infrastructure.DataStoreService.SerializeObject(String rootPath, Object objectToSerialize, Boolean saveToCache)
--- End of inner exception stack trace ---
at Microsoft.SqlServer.Chainer.Infrastructure.DataStoreService.SerializeObject(String rootPath, Object objectToSerialize, Boolean saveToCache)
at Microsoft.SqlServer.Chainer.Infrastructure.DataStoreService.SetCommonFlag(String key, Boolean value)
at Microsoft.SqlServer.Chainer.Setup.Setup.InitializeLogProviders(ServiceContainer context) at Microsoft.SqlServer.Chainer.Setup.Setup.Run()
at Microsoft.SqlServer.Chainer.Setup.Setup.Start()
at Microsoft.SqlServer.Chainer.Setup.Setup.Main()

A parte chave que eu acho está aqui: %código% Eu recebo este erro específico na GUI ao tentar o MSSQL2008 Express, então parece que é a causa raiz de ambas as falhas.

O erro parece semelhante a uma incompatibilidade de 32 bits / 64 bits, mas o código de erro da GUI do CLR20r3 implica em uma corrupção da estrutura .NET. Alguns relatórios na Internet afirmam que isso pode ser devido a um problema quando um SO embarcado é clonado , mas este não é um SO embarcado. Ele pode ser um SO licenciado por volume que foi clonado no PC, mas não é um sistema operacional incorporado.

Eu tentei reinstalar o .NET 3.5.1 (por meio de Adicionar / Componentes Remotos do Windows e Recursos, como ele é construído no Windows 7), e instalei o .NET 4.5 também apenas no caso - ambos [re] instalar bem .

Informações adicionais sobre o PC: - Windows 7 Pro com SP1; - 64 bits; - 8 GB de RAM; - Intel Core i5-3550 - Conectando-se ao PC remotamente usando o LogMeIn (como este é o computador de um cliente).

Qualquer ajuda seria muito apreciada.

    
por Nick Shaw 02.01.2014 / 17:51

1 resposta

0

Eu resolvi isso agora. Para as informações de outras pessoas: consegui que o cliente executasse a instalação do SQL diretamente no PC (portanto, não por meio de uma sessão do LogMeIn) e funcionava bem. Então parece que o LogMeIn estava causando todos os problemas! Eu sabia que o Remote Desktop não deveria ser usado (de acordo com os pré-requisitos da Microsoft), mas o LogMeIn não foi mencionado. Eles devem usar os mesmos ganchos subjacentes no sistema que causam incompatibilidade com a instalação.

    
por 03.01.2014 / 10:34