if(NS_LoadString(hSetupRscInst, IDS_ERROR_SETUP_REQUIREMENT, szESetupRequirement, sizeof(szESetupRequirement)) == WIZ_OK)
if(GetPrivateProfileString("Messages", "ERROR_SETUP_REQUIREMENT", "", szESetupRequirement, sizeof(szESetupRequirement), szFileIniInstall))
void DetermineOSVersionEx(){  BOOL          bIsWin95Debute;  char          szBuf[MAX_BUF];  char          szOSType[MAX_BUF];  char          szESetupRequirement[MAX_BUF];  DWORD         dwStrLen;  OSVERSIONINFO osVersionInfo;  MEMORYSTATUS  msMemoryInfo;  gSystemInfo.dwOSType = 0;  osVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);  if(!GetVersionEx(&osVersionInfo))  {    /* GetVersionEx() failed for some reason.  It's not fatal, but could cause     * some complications during installation */    char szEMsg[MAX_BUF_TINY];    if(NS_LoadString(hSetupRscInst,                     IDS_ERROR_GETVERSION,                     szEMsg,                     sizeof(szEMsg)) == WIZ_OK)      PrintError(szEMsg, ERROR_CODE_SHOW);  }  bIsWin95Debute  = IsWin95Debute();  switch(osVersionInfo.dwPlatformId)  {    case VER_PLATFORM_WIN32_WINDOWS:      gSystemInfo.dwOSType |= OS_WIN9x;      if(osVersionInfo.dwMinorVersion == 0)      {        gSystemInfo.dwOSType |= OS_WIN95;        if(bIsWin95Debute)          gSystemInfo.dwOSType |= OS_WIN95_DEBUTE;      }      else        gSystemInfo.dwOSType |= OS_WIN98;      break;    case VER_PLATFORM_WIN32_NT:      gSystemInfo.dwOSType |= OS_NT;      switch(osVersionInfo.dwMajorVersion)      {        case 3:          gSystemInfo.dwOSType |= OS_NT3;          break;        case 4:          gSystemInfo.dwOSType |= OS_NT4;          break;        default:          gSystemInfo.dwOSType |= OS_NT5;          break;      }      break;    default:      if(NS_LoadString(hSetupRscInst,                       IDS_ERROR_SETUP_REQUIREMENT,                       szESetupRequirement,                       sizeof(szESetupRequirement)) == WIZ_OK)        PrintError(szESetupRequirement, ERROR_CODE_HIDE);      break;  }  gSystemInfo.dwMajorVersion = osVersionInfo.dwMajorVersion;  gSystemInfo.dwMinorVersion = osVersionInfo.dwMinorVersion;  gSystemInfo.dwBuildNumber  = (DWORD)(LOWORD(osVersionInfo.dwBuildNumber));  dwStrLen = sizeof(gSystemInfo.szExtraString) >                    lstrlen(osVersionInfo.szCSDVersion) ?                    lstrlen(osVersionInfo.szCSDVersion) :                    sizeof(gSystemInfo.szExtraString) - 1;  ZeroMemory(gSystemInfo.szExtraString, sizeof(gSystemInfo.szExtraString));  strncpy(gSystemInfo.szExtraString, osVersionInfo.szCSDVersion, dwStrLen);  msMemoryInfo.dwLength = sizeof(MEMORYSTATUS);  GlobalMemoryStatus(&msMemoryInfo);  gSystemInfo.dwMemoryTotalPhysical = msMemoryInfo.dwTotalPhys/1024;  gSystemInfo.dwMemoryAvailablePhysical = msMemoryInfo.dwAvailPhys/1024;  GetOSTypeString(szOSType, sizeof(szOSType));  wsprintf(szBuf,"    System Info:\n\        OS Type: %s\n\        Major Version: %d\n\        Minor Version: %d\n\        Build Number: %d\n\        Extra String: %s\n\        Total Physical Memory: %dKB\n\        Total Available Physical Memory: %dKB\n",           szOSType,           gSystemInfo.dwMajorVersion,           gSystemInfo.dwMinorVersion,           gSystemInfo.dwBuildNumber,           gSystemInfo.szExtraString,           gSystemInfo.dwMemoryTotalPhysical,           gSystemInfo.dwMemoryAvailablePhysical);  UpdateInstallStatusLog(szBuf);}