12

在 Visual Studio 2010 中,我已将我的应用程序设置为面向 .NET Framework 版本 4 和“所有 CPU”。由于我们的一些用户是 64 位的,而其他用户是 32 位的,我假设有人会选择所有 CPU。那是对的吗?

在特定用户的 32 位 Windows 7 SP1 机器上,框架安装(通过 ClickOnce)失败并出现错误代码 5100,根据这篇 MSDN 文章,表明The user's computer does not meet system requirements.

用户的 PC 是32 位Windows 7 SP1,所以我想知道命令参数“FullX64Bootstrapper”是否正确?

作为 ClickOnce 发布机制的一部分,此安装受 Microsoft 控制。看起来好像是在尝试将 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'
4

9 回答 9

20

在 MSDN 上,有一个简短的 .NET 安装程序返回代码列表

  • 0:安装成功。
  • 1602:用户取消安装。
  • 1603 : 安装过程中发生致命错误。
  • 1641:需要重新启动才能完成安装。此消息表示成功。
  • 3010 : 需要重新启动才能完成安装。此消息表示成功。
  • 5100 : 用户的计算机不符合系统要求。

因此,根据 Microsoft 的说法,5100返回码与系统要求有关。

在我的系统上,这是因为以前的(其他)设置确实需要重新启动,而我省略了重新启动。重新启动后,.NET Framework 4 安装成功。

在另一个系统上,这是由于我的硬盘没有足够的可用空间。一旦我释放了一些 GB,设置就成功了。

于 2014-02-07T22:00:38.093 回答
8

由于未安装 Windows XP 上的Windows 映像组件(WIC) (wic_x86_enu.exe) ,因此在相同情况下我收到了相同的消息。这对我有帮助。

于 2013-03-27T06:42:15.823 回答
4

.NET 4.0 的最低安装要求是 2 GB 磁盘空间。释放安装驱动器中的空间并安装它会正常工作。

于 2013-03-11T12:48:28.443 回答
3

我目前正在解决同样的问题。我们的一些客户的安装人员也有同样的问题。

到目前为止我想出的原因是:

“C:驱动器上没有足够的可用空间”

这是一些 5100 错误的原因,但我还没有找到其他错误的原因。

如果在命令提示符下键入:“net helpmsg 5100”,则输出为“Asia”。我不知道那是什么意思。

于 2013-01-09T18:17:07.450 回答
2

当机器安装的Visual C版本比包中分发的版本更新时,也会发生这种情况。它需要在不首先检查必备组件的情况下运行。

于 2013-07-12T14:11:05.623 回答
1

当我尝试安装 Windows SDK 时出现此错误。出现此错误是因为 以前在我的机器上安装了较新版本的 Visual C++ 2010 Redistributable。我需要从我的机器上卸载 x86 和 x64 版本,然后安装 Windows SDK。MS在这里描述了我的问题。

您可能会尝试从您的机器上卸载 Visual C++ 2010 Redistributables。

这可能与您的问题有关,也可能无关,但值得一试。如果有人尝试这样做,请将您的结果添加到评论中,以便其他人也可以知道结果。

于 2017-01-17T09:44:26.287 回答
1

错误 5100 可能意味着 .NET Framework 4.7 无法在 Windows 10 上安装,因为 Windows 10 的前两个版本(版本 10240 版本 1507 和版本 10586 版本 1511)不允许 .NET Framework 4.7。它们只允许最高 .NET Framework 4.6.2。在 Windows 10 上安装 .NET Framework 4.7 或更高版本的唯一方法是升级您的 Windows 10 内部版本。

我不知道为什么它报告“亚洲”作为消息的文本。只是微软的错误消息处理在各个方面都严重不足。

于 2018-04-05T22:18:56.527 回答
1

在此 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 的路径。

查看该日志给了我关于下一步做什么的详细信息。在我的情况下,与必须安装的某个 KB 相对应的更新。

于 2017-03-13T15:01:40.467 回答
0

此错误也可能是由于未满足操作系统补丁要求引起的。尝试手动安装程序(从日志中查找安装文件)并手动运行它。

于 2019-07-18T04:10:25.533 回答