Код ошибки 5100 при установке .NET framework как часть развертывания приложения ClickOnce через Visual Studio 2010
Внутри Visual Studio 2010 я установил приложение для целевой версии 4.NET Framework и для "Все процессоры". Поскольку некоторые из наших пользователей 64-разрядные, а другие 32-разрядные, я предполагаю, что выберете все CPU. Это правильно?
На конкретной пользовательской 32-разрядной машине Windows 7 с пакетом обновления 1 (SP1) установка фреймворка (через ClickOnce) терпит неудачу с кодом ошибки 5100, который согласно этот MSDN статья, указывает, что The user computer does not meet system requirements
.
Пользовательский ПК 32-разрядный Windows 7 с пакетом обновления 1 (SP1), поэтому я задаюсь вопросом, правильно ли аргумент команды "FullX64Bootstrapper"?
Эта установка находится под контролем Microsoft как часть механизма публикации ClickOnce. Похоже, он пытается установить 64-битную инфраструктуру на 32-битную машину? Это может быть причиной ошибки 5100?
Здесь команда выписана из журнала (мой акцент):
Установка с использованием команды 'C:\Users\XXXXXX ~ 1\AppData\Local\Temp\VSD983D.tmp\DotNetFX40\dotNetFx40_Full_setup.exe' и параметров '/q/norestart/ChainingPackage FullX64Bootstrapper/lcid 1033 '
И вот полный журнал:
The following properties have been set:
Property: [AdminUser] = true {boolean}
Property: [InstallMode] = HomeSite {string}
Property: [ProcessorArchitecture] = Intel {string}
Property: [VersionNT] = 6.1.1 {version}
Running checks for package 'Windows Installer 3.1', phase BuildList
The following properties have been set for package 'Windows Installer 3.1':
Running checks for command 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe'
Result of running operator 'VersionGreaterThanOrEqualTo' on property 'VersionMsi' and value '3.1': true
Result of checks for command 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' is 'Bypass'
'Windows Installer 3.1' RunCheck result: No Install Needed
Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase BuildList
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Unable to read registry value
Not setting value for property 'DotNet40Full_TargetVersion'
The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)':
Running checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe'
Result of running operator 'ValueEqualTo' on property 'InstallMode' and value 'HomeSite': true
Result of checks for command 'DotNetFX40\dotNetFx40_Full_x86_x64.exe' is 'Bypass'
Running checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe'
Result of running operator 'ValueNotEqualTo' on property 'InstallMode' and value 'HomeSite': false
Skipping ByPassIf because Property 'DotNet40Full_TargetVersion' was not defined
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.1.2': false
Result of running operator 'ValueEqualTo' on property 'ProcessorArchitecture' and value 'IA64': false
Result of checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe' is 'Install'
'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Needed
EULA for components 'Microsoft .NET Framework 4 (x86 and x64)' was accepted.
Copying files to temporary directory "C:\Users\XXXXXX~1\AppData\Local\Temp\VSD983D.tmp\"
Downloading files to "C:\Users\XXXXXX~1\AppData\Local\Temp\VSD983D.tmp\"
(1/2/2013 11:09:57 AM) Downloading 'DotNetFX40\dotNetFx40_Full_setup.exe' from 'http://go.microsoft.com/fwlink/?linkid=182805' to 'C:\Users\XXXXXX~1\AppData\Local\Temp\VSD983D.tmp\'
Download completed at 1/2/2013 11:10:00 AM
Verifying file integrity of C:\Users\XXXXXX~1\AppData\Local\Temp\VSD983D.tmp\DotNetFX40\dotNetFx40_Full_setup.exe
WinVerifyTrust returned 0
File trusted
Running checks for package 'Microsoft .NET Framework 4 (x86 and x64)', phase BeforePackage
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Unable to read registry value
Not setting value for property 'DotNet40Full_TargetVersion'
The following properties have been set for package 'Microsoft .NET Framework 4 (x86 and x64)':
Running checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe'
Result of running operator 'ValueNotEqualTo' on property 'InstallMode' and value 'HomeSite': false
Skipping ByPassIf because Property 'DotNet40Full_TargetVersion' was not defined
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.1.2': false
Result of running operator 'ValueEqualTo' on property 'ProcessorArchitecture' and value 'IA64': false
Result of checks for command 'DotNetFX40\dotNetFx40_Full_setup.exe' is 'Install'
'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Needed
Verifying file integrity of C:\Users\XXXXXX~1\AppData\Local\Temp\VSD983D.tmp\DotNetFX40\dotNetFx40_Full_setup.exe
WinVerifyTrust returned 0
File trusted
Installing using command 'C:\Users\XXXXXX~1\AppData\Local\Temp\VSD983D.tmp\DotNetFX40\dotNetFx40_Full_setup.exe' and parameters ' /q /norestart /ChainingPackage FullX64Bootstrapper /lcid 1033'
Process exited with code 5100
Status of package 'Microsoft .NET Framework 4 (x86 and x64)' after install is 'InstallFailed'
Ответы
Ответ 1
В MSDN есть короткий список кодов возврата установщика .NET:
- 0: установка завершена успешно.
- 1602: пользователь отменил установку.
- 1603: во время установки произошла фатальная ошибка.
- 1641. Для завершения установки требуется перезагрузка. Это сообщение указывает на успех.
- 3010. Для завершения установки требуется перезагрузка. Это сообщение указывает на успех.
- 5100. Пользовательский компьютер не отвечает требованиям системы.
Таким образом, согласно Microsoft, код возврата 5100 как-то связан с системными требованиями.
В моей системе это было связано с тем, что предыдущая (другая) установка требовала перезагрузки, и я пропустил эту перезагрузку. После перезагрузки была выполнена установка .NET Framework 4.
В другой системе это было связано с тем, что на моем жестком диске не хватило свободного места. После того, как я освободил несколько ГБ, настройка удалась.
Ответ 2
Я получил одно и то же сообщение в той же ситуации, потому что компонент Windows Imaging Component (WIC) на Windows XP не установлен (wic_x86_enu.exe). Это помогло мне.
Ответ 3
Минимальное требование .NET 4.0 - это 2-х дисковое пространство на диске для установки. Свободное место на установочном диске и его установка будут работать нормально.
Ответ 4
В настоящее время я устраняю эту проблему. У нас такая же проблема с некоторыми нашими установщиками наших клиентов.
Причина, по которой я пришел, до сих пор:
"Недостаточно свободного места на C: диске"
Это причина некоторых из 5100 ошибок, но я не нашел причину других.
Если вы введете: "net helpmsg 5100" в командной строке, выход будет "Азия". Я понятия не имею, что это значит.
Ответ 5
Это также может произойти, когда машина имеет более новую версию Visual C, чем тот, который распространяется в пакете. Сначала он должен работать, не проверяя предварительные компоненты.
Ответ 6
Эта ошибка появилась для меня, когда я пытался установить Windows SDK. Эта ошибка возникла из-за того, что более новая версия Visual С++ 2010 Redistributable была установлена на моем компьютере ранее. Мне нужно было удалить как x86, так и x64 версии с моей машины, а затем установить Windows SDK. Моя проблема описана MS здесь.
Возможно, вам удастся удалить ненужные компоненты на Visual С++ 2010 машина.
Это может быть или не быть связано с вашей проблемой, но ее стоит дать ему шанс.
Если кто-либо попытается это сделать, добавьте свои результаты в комментарии, чтобы другие могли узнать результаты.
Ответ 7
На этой ссылке MSDN https://msdn.microsoft.com/en-us/library/ee390831(v=vs.110).aspx он определяет местоположение журнала установщика как %temp%\Microsoft .NET Framework 4.5*.html
. Я искал .NET 4.5, но ссылка "Другие версии" имеет путь к .NET 4.0.
Просмотр этого журнала дал мне подробное сообщение о том, что делать дальше. В моем случае обновление, соответствующее определенному КБ, который должен был быть установлен.
Ответ 8
Ошибка 5100 может означать, что .NET Framework 4.7 не удалось установить в Windows 10, поскольку первые две сборки Windows 10 (сборка 10240 версии 1507 и сборка 10586 версии 1511) не поддерживают .NET Framework 4.7. Они допускают только до .NET Framework 4.6.2. Единственный способ установить .NET Framework 4.7 или более поздней версии в Windows 10 - это обновить версию сборки Windows 10.
Я не знаю, почему он сообщает "Азия" как текст сообщения. Только то, что Microsoft обрабатывает сообщения об ошибках, крайне несовершенно во всех аспектах.
Ответ 9
Эта ошибка также может быть вызвана тем, что требование исправления ОС не выполнено. Попробуйте установить программу вручную (найдите установочный файл в журнале) и запустите ее вручную.