Error code 5100 when installing .NET framework as part of a ClickOnce application deployment via Visual Studio 2010

痞子三分冷 提交于 2019-12-10 01:16:09

问题


Inside Visual Studio 2010, I've set my application to target version 4 of the .NET Framework and for "All CPUs". As some of our users are 64-bit while others are 32-bit, I assume one would choose All CPUs. Is that correct?

On a particular user's 32-bit Windows 7 SP1 machine, the framework installation (via ClickOnce) is failing with an error code 5100, which according to this MSDN article, indicates that The user's computer does not meet system requirements.

The user's PC is 32-bit Windows 7 SP1, so I wonder if the command argument 'FullX64Bootstrapper' is correct in the first place?

This installation is under Microsoft's control as part of the ClickOnce publishing mechanism. It looks as though it is trying to install the 64-bit framework onto a 32-bit machine? Is that what could be causing the 5100 error?

Here's the command excerpted from the log (my emphasis):

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'

And here's the full log:

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:


On MSDN, there is a short list of .NET installer return codes:

  • 0: Installation completed successfully.
  • 1602: The user canceled installation.
  • 1603: A fatal error occurred during installation.
  • 1641: A restart is required to complete the installation. This message indicates success.
  • 3010: A restart is required to complete the installation. This message indicates success.
  • 5100: The user's computer does not meet system requirements.

So according to Microsoft, the 5100 return code is somehow related to system requirements.

On my system it was due to the fact that a previous (other) setup did require a reboot and I omitted that reboot. After the reboot, the .NET Framework 4 setup succeeded.

On another system it was due to the fact that my hard disk had not enough free space. Once I freed up some few GBs, the setup succeeded.




回答2:


I got the same message in the same situation because Windows Imaging Component (WIC) on Windows XP wasn't installed (wic_x86_enu.exe). This helped me.




回答3:


The .NET 4.0 minimum requirement is 2 GB disk space for installation. Free up space in the installation drive and installing it will work fine.




回答4:


I'm currently troubleshooting the same issue. We have the same problem with some of our customer's installers.

The reason I have come up with so far is:

"Not enough free space left on C: drive"

This is the reason for some of the 5100 errors, but I haven't found the cause of the others.

If you type: "net helpmsg 5100" in the command prompt, the output is "Asia". I have no idea what that means.




回答5:


It can also happen when the machine has a newer version of Visual C installed than the one distributed in the package. It will need to run without checking pre-requisite components first.




回答6:


This error appeared for me when I was trying to Install the Windows SDK. This error appeared because newer version of the Visual C++ 2010 Redistributable had been installed on my machine previously. I needed to uninstall both the x86 and x64 versions from my machine and then install the Windows SDK. My issue is described by MS here.

You may was to try uninstalling Visual C++ 2010 Redistributables from your machine.

This may or may not be related to your issue, but its worth giving it a shot. If anyone attempts this please add your results in the comments so that others can know results as well.




回答7:


At this MSDN link https://msdn.microsoft.com/en-us/library/ee390831(v=vs.110).aspx it specifies the installer log location as %temp%\Microsoft .NET Framework 4.5*.html. I was looking for .NET 4.5 but the Other Versions link has the path for .NET 4.0.

Viewing that log gave me a detailed message on what to do next. In my case an update corresponding to a certain KB that had to be installed.




回答8:


Error 5100 can mean .NET Framework 4.7 failed to install on Windows 10 because the first two builds of Windows 10 (build 10240 version 1507, and build 10586 version 1511) do not allow .NET Framework 4.7. They only allow up to .NET Framework 4.6.2. The only way to install .NET Framework 4.7 or later on Windows 10 is to upgrade your Windows 10 build version.

I do not know why it reports "Asia" as the text of the message. Just that Microsoft's error message handling is grossly deficient in all aspects.




回答9:


This error could also be caused by OS patch requirement didn't meet. Try to install the program manually (look for the installation file from log) and run it manually.



来源:https://stackoverflow.com/questions/14158331/error-code-5100-when-installing-net-framework-as-part-of-a-clickonce-applicatio

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!