PDA

View Full Version : How is SYSINFO populated?



sharvey
08-18-2003, 11:15 AM
How is SYSINFO.WINNT.bWinXP populated (i.e. what on the operating system is checked to determine if it is Windows XP)?
Also how is SYSINFO.WINNT.nServicePack populated? From a registry key?
Our install has a check for Windows XP Service Pack 1.
We are trying to "trick" the install (which is already released) into thinking it is XP Service Pack 1 even though it is another operating system.
Thanks,
Sara

niranbhimaiah
08-18-2003, 11:11 PM
Check the following registry key:
HKLM\Software\Micorosoft\Windows NT\CurrentVersion.

This key has all the informations required.
For Windows Xp, the Currentversion will be 5.1

If sevice pack is installed, ther will be a value name called "CSDVersion". This will contain the service pack number.

Regards
Niran Bhimaiah

rehenry
01-30-2004, 01:03 PM
Is this accurate? I have a problem where I'm trying to prevent the installation of our application on XP. We've found out that some users were able to trick the installation function (SYSINFO) into thinking it's WINNT.bWin2000.

Does anyone know how this is accomplished? I've changed this regkey value on a Win2k PC to 5.1 and rebooted, but it changes back to 5.0.

Any help would be appreciated.

rehenry
02-02-2004, 08:01 PM
Found it myself. Users are running setup.exe under XP's compatibility mode for Win2k.

Stephan
02-03-2004, 04:01 AM
Hi,

You can detect compatibility mode with some code like this:
svResult = "";
GetEnvVar("__COMPAT_LAYER",svResult);

if ("" != svResult) then
MessageBeep(0);
szMsg = "You are playing tricks with our installer.\n" +
"We do not allow to run our installation software in compatibility mode.";
MessageBox(szMsg, SEVERE);
abort;
endif;

HTH,
Stephan

rehenry
02-03-2004, 11:54 AM
:D

Thanks for the advice!!