Экспресс-установка SQL Server 2008/2012 завершается неудачно на сценарии engine.exe
Я пытаюсь установить SQL Server 2012 Express на 64-разрядный ПК с Windows 7. Также не удается установить SQL Server 2008 R2. Загрузчик извлекает все файлы, запускает setup.exe (с всплывающим окном UAC), а затем (из того, что я могу сказать) пытается запустить sceneengine.exe, который отказывается запускаться.
Подробная информация об ошибке в MSSQL 2012 Express:
Описание: перестал работать
Подпись проблемы:
Название проблемного события: CLR20r3
Проблема Подпись 01: sceneengine.exe Проблема Подпись 02: 11.0.2100.60
Проблема Подпись 03: 4f35e1de
Проблема Подпись 04: Microsoft.SqlServer.Chainer.Infrastructure
Проблема Подпись 05: 11.0.0.0
Проблема Подпись 06: 4f35e1dd
Проблема Подпись 07: 200
Проблема Подпись 08: 179
Проблема Подпись 09: ZAGSF01GRLFWVJMY5S0U0HXSJJE2HDT4
Версия ОС: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Я извлек файлы установки и запустился из командной строки, и я получаю следующую ошибку:
Необработанное исключение: Microsoft.SqlServer.Chainer.Infrastructure.ChainerInfrastructureException: блок среды, используемый для запуска процесса, не может быть длиннее 65535 байт. Ваш блок окружения имеет длину 162180 байт. Удалите некоторые переменные окружения и попробуйте снова. ---> System.InvalidOperationException: блок среды, используемый для запуска процесса, не может быть длиннее 65535 байт. Ваш блок окружения имеет длину 162180 байт. Удалите некоторые переменные окружения и попробуйте снова.
в System.Diagnostics.EnvironmentBlock.ToByteArray(StringDictionary sd, логический Unicode) в System.CodeDom.Compiler.Executor.ExecWaitWithCaptureUnimpersonated(SafeUserTokenHandle userToken, строковый cmd, String currentDir & String переменная_строка, имя_строкойной строки, имя_строки, String currentName, строка-строки, имя_строка CodeDom.Compiler.Executor.ExecWaitWithCapture(SafeUserTokenHandle userToken, String cmd, String currentDir, TempFileCollection tempFiles, String& outputName, String& errorName, String trueCmdLine) в Microsoft.CSharp. String& outputFile, Int32& nativeReturnValue, String trueArgs)
в Microsoft.CSharp.CSharpCodeGenerator.FromFileBatch(параметры CompilerParameters, String[] fileNames)
в Microsoft.CSharp.CSharpCodeGenerator.FromSourceBatch(параметры CompilerParameters, источники String [])
в Microsoft.CSharp.CSharpCodeGenerator.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromSourceBatch(параметры CompilerParameters, источники String [])
в System.CodeDom.Compiler.CodeDomProvider.CompileAssemblyFromSource(параметры CompilerParameters, источники String [])
в System.Xml.Serialization.Compiler.Compile(родительский узел сборки, строка ns, XmlSerializerCompilerParameters xmlParameters, свидетельство доказательства)
в System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, доказательства, параметры XmlSerializerCompilerParameters, сборка сборки, сборки Hashtable)
в System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Доказательства)
в System.Xml.Serialization.XmlSerializer.GenerateTempAssembly(XmlMapping xmlMapping, Type type, String defaultNamespace)
в System.Xml.Serialization.XmlSerializer..ctor(Тип type, String defaultNamespace)
в Microsoft.SqlServer.Chainer.Infrastructure.DataStoreService.SerializeObject(String rootPath, Object objectToSerialize, Boolean saveToCache)
--- Конец внутренней трассировки стека исключений ---
в Microsoft.SqlServer.Chainer.Infrastructure.DataStoreService.SerializeObject(String rootPath, Object objectToSerialize, Boolean saveToCache)
в Microsoft.SqlServer.Chainer.Infrastructure.DataStoreService.SetCommonFlag(строковый ключ, логическое значение)
в Microsoft.SqlServer.Chainer.Setup.Setup.InitializeLogProviders(контекст ServiceContainer) в Microsoft.SqlServer.Chainer.Setup.Setup.Run()
в Microsoft.SqlServer.Chainer.Setup.Setup.Start()
в Microsoft.SqlServer.Chainer.Setup.Setup.Main()
Ключевой бит, я думаю, здесь: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.
Я получаю эту конкретную ошибку в графическом интерфейсе при попытке использовать MSSQL2008 Express, поэтому похоже, что это является основной причиной обоих сбоев.
Ошибка выглядит как 32-битная /64-битная несовместимость, но код ошибки GUI CLR20r3 подразумевает повреждение фреймворка.NET. В некоторых сообщениях в Интернете утверждается, что это может быть связано с тем, что встроенная ОС клонируется, но это не встроенная ОС. Это может быть ОС с корпоративной лицензией, которая была клонирована на ПК, но это не встроенная ОС.
Я попытался переустановить.NET 3.5.1 (через Add/Remote Windows Components & Features, так как он встроен в Windows 7), и на всякий случай установил.NET 4.5 тоже - оба [заново] установились нормально.
Дополнительная информация о ПК: - Windows 7 Pro с SP1; - 64-разрядный; - 8 ГБ ОЗУ; - Intel Core i5-3550 - удаленное подключение к ПК с использованием LogMeIn (так как это компьютер клиента).
Любая помощь будет принята с благодарностью.
1 ответ
Я решил это сейчас. Для информации других людей: я попросил клиента запустить установку SQL непосредственно на ПК (не через сеанс LogMeIn), и он работал нормально. Похоже, что LogMeIn вызывал все проблемы! Я знал, что удаленный рабочий стол не должен использоваться (согласно предварительным требованиям Microsoft), но LogMeIn не упоминался. Они должны использовать те же базовые хуки в системе, которые вызывают несовместимость с установкой.