在 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'