title: Error code 5100 when installing .NET framework as part of a ClickOnce application deployment via Visual Studio 2010
body: <p>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?</p>
  
  <p>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 <a href="http://msdn.microsoft.com/en-us/library/vstudio/ee390831%28v=vs.100%29.aspx" rel="noreferrer">this MSDN article</a>, indicates that <code>The user's computer does not meet system requirements</code>.</p>
  
  <p>The user's PC is <strong>32-bit</strong> Windows 7 SP1, so I wonder if the command argument 'FullX64Bootstrapper' is correct in the first place?</p>
  
  <p>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?</p>
  
  <p>Here's the command excerpted from the log (my emphasis):</p>
  
  <blockquote>
    <p>Installing using command 'C:\Users\XXXXXX~1\AppData\Local\Temp\VSD983D.tmp\DotNetFX40\dotNetFx40_Full_setup.exe' and parameters ' /q /norestart /ChainingPackage <strong>FullX64Bootstrapper</strong> /lcid 1033'</p>
  </blockquote>
  
  <p>And here's the full log:</p>
  
  <pre><code>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'
  </code></pre>