Set Variable ISWINDOWS64BIT to FALSE
Get System Setting Windows in 64 bit Mode into ISWINDOWS64BIT
if Variable ISWINDOWS64BIT Equals TRUE
  Set x64 - Native 64 bit Windows, AMD64 and EM64T Architectures - installation mode
  Set Variable DOTNET40CLIENT_X64 to TRUE
  Read Registry Key HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client\Version into DOTNET40CLIENT_X64
  if Variable DOTNET40CLIENT_X64 Greater Than (Version) 4.0.30318
    Set Variable DOTNET40CLIENT_X64 to TRUE
  else
    Set Variable DOTNET40CLIENT_X64 to FALSE
  end
  if Variable DOTNET40CLIENT_X64 Equals FALSE
    Get System Setting Windows 7 into DOTNET40CLIENT_IS7
    Get System Setting Windows Vista into DOTNET40CLIENT_ISVISTA
    Get System Setting Windows 2003 into DOTNET40CLIENT_IS2003
    Get System Setting Windows XP into DOTNET40CLIENT_ISXP
    Get System Setting Service Pack 1 into DOTNET40CLIENT_SP1
    Get System Setting Service Pack 2 into DOTNET40CLIENT_SP2
    Get System Setting Service Pack 3 into DOTNET40CLIENT_SP3
    if Variable DOTNET40CLIENT_IS7 Equals FALSE
      if Variable DOTNET40CLIENT_ISVISTA Equals FALSE
        if Variable DOTNET40CLIENT_IS2003 Equals FALSE
          if Variable DOTNET40CLIENT_ISXP Equals FALSE
            Comment: .NET 4.0 Client is not supported on older Windows versions
            MessageBox: $TITLE$ Setup, $TITLE$ requires at least Windows XP or later. Please upgrade your operating system and try again.$NEWLINE$$NEWLINE$$TITLE$ Setup cannot continue.
            Terminate Installation
          else
            if Variable DOTNET40CLIENT_SP3 Equals FALSE
              Comment: .NET 4.0 Client requires Service Pack 3 on Windows XP
              MessageBox: $TITLE$ Setup, $TITLE$ requires at least Service Pack 3 or later. Please upgrade your operating system and try again.$NEWLINE$$NEWLINE$$TITLE$ Setup cannot continue.
              Terminate Installation
            end
          end
        else
          if Variable DOTNET40CLIENT_SP2 Equals FALSE
            Comment: .NET 4.0 Client requires Service Pack 2 on Windows 2003
            MessageBox: $TITLE$ Setup, $TITLE$ requires at least Service Pack 2 or later. Please upgrade your operating system and try again.$NEWLINE$$NEWLINE$$TITLE$ Setup cannot continue.
            Terminate Installation
          end
        end
      else
        if Variable DOTNET40CLIENT_SP1 Equals FALSE
          Comment: .NET 4.0 Client requires Service Pack 1 on Windows Vista
          MessageBox: $TITLE$ Setup, $TITLE$ requires at least Service Pack 1 or later. Please upgrade your operating system and try again.$NEWLINE$$NEWLINE$$TITLE$ Setup cannot continue.
          Terminate Installation
        end
      end
    end
    Set Variable PREREQ to TRUE
    Set Variable PRELIST to $PRELIST$$NEWLINE$Microsoft .NET Framework Client 4.0 (x64)
  end
  Set Win32 - Native 32 bit Windows and Windows 32 on Windows 64 (WOW64) - installation mode
else
  MessageBox: $TITLE$ Setup, $TITLE$ requires a 64 bit operating system. Please upgrade your operating system and try again.$NEWLINE$$NEWLINE$$TITLE$ Setup cannot continue.
  Terminate Installation
end
 
