Surprise !
SketchUp 2017 Checkup informs me that I have no RAM at all in my system.
That would indeed be a problem, were it true. But fortunately there are 16 GB of memory on board this machine, and Sketchup, indeed, runs fine on it.
However your checkup assistant ends up missing the mark. And I suspect that this problem occurs on every system where values are formatted the European way, i.e. with a comma instead of a period for decimal value, and with Go instead of GB for gigabytes, or Mo instead of MB for megabytes.
Look at the following lines extracted from the SketchUp.LOG file produced by SketchUp 2017 Checkup:
> 8. SystemCheck_StandAlone: Success: All msinfo32.exe localized strings were found.
> 9. SystemCheck_StandAlone: Success: Running msinfo32.exe
> 10. SystemCheck_StandAlone: Success: Opened file SysInfo.nfo created by the Microsoft System Information application.
> 11. SystemCheck_StandAlone: Success: Parsed XML document.
> 12. SystemCheck_StandAlone: Warning: Unknown size unit for system RAM information; defaulting to KB.
> 13. SystemCheck_StandAlone: Success: Parsed all system information.
> 14. SystemCheck_StandAlone: Error: GPU RAM information is in an unrecognizable format.
> 15. SystemCheck_StandAlone: Warning: Parsed GPU information, but some elements were not found.
> 16. SystemCheck_StandAlone: Error: System RAM is below the minimum amount.
Pay attention to Line 12 above, which spells out the exact source of the problem.
Your application is misreading the value reported in SysInfo.nfo.
Because my Windows 10 OS is in French, the RAM value is reported as
<![CDATA[16,0 Go]]
On an English system, that would be reported as
<![CDATA[16.0 GB]]
(or Gb, I don’t know).
A very simple modification to your code to allow for a different representation of the value would solve the problem.