Thanks mate, but I already scanned the whole registry for "service pack" and "SP1" without any (useful) results.
Main Topics
Browse All TopicsHi, my question is quite specific.
I have wondered for years now how windows knows which service pack is installed. As a programmer I know I can call GetVersionEx() and check the string of OSVERSIONINFO.szCSDVersion
Now I want it backwards: somehow it must be possible to alter this info. But how? I think a pure hook on the function itself (so that I can control what it returns) will not suffice - all areas of the system must get aware of the version I want to tell them. But where does this info reside?
So my questions are as followed:
- Do you know how to manually change this?
- Do you know a hack/tool that can afford this?
- Can the MSI (Microsoft Installer) be tricked regarding SP infos?
- If not, I am thankful to every information to track this issue down.
Last words:
- I know what I'm doing.
- I will not install SP1/SP2 and/or consider system restore points to "solve" the issue.
- No illegality is involved. I want to install a program which states to need SP2, but I think only for few features which I would not use at all. In fact it is most interesting to see how the program behaves on SP1 only.
Thx. May the profession be with you ;-)
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
well there are alot of things that change including system files themselves in the system32 folder can you fool this operation no probably not the info is held in the registry under HKEY\Local_machine\System\
in the CSDVersion key sp2 is 200 but the files in system32 will not be altered and the system "probably" wont boot up.
>>As a programmer I know I can call GetVersionEx()
... and as a programmer, you also know that you can intercept the call on a global level and change the results to what you want it to be *g*
http://www.codeproject.com
venom96737:
I don't understand what you clearly. I never planned on changing files by installing the Service Pack 2 and then switch between installations. Where is the "CSDVersion key sp2" you are speaking of?
jkr:
Thanks, I will try that at least, but I doubt only hooking that function will not do the whole trick. I already said that within my question.
Hello, aren't you familiar with Regedit?
From the RUN box type REGEDIT and press enter.
Navigate to HKEY_LOCAL_MACHINE\SOFTWAR
Make sure "currentversion" is highlighted.
look at the items on the right side of the screen.
In mine I see:
item-CSDVersion value - Service Pack 2
Also:
item-BuildLab value-2600.xpsp_sp2_gdr.05
Dave
davexnet:
No, I am.
There is no item named "CSDVersion". The ZString of "BuildLab" has the value "2600.xpclient.010817-1148
I bet you also have another Explorer.exe - could you please look it up? Mine has the version number "6.00.2600.0000 (xpclient.010817-1148)" and a filedate of 2001-08-23, 12:00 UTC. Thanks.
As I stated in my original post System files will be different for the service packs explorer is different the kernal is different and a whole list of other files. Thats what I was saying by just a registry tweak or trying to fool it into thinking it has something it does not will not work. The CSD version that dave indicated in his post goes back to the one that I stated in my post. I was saying that the value for the CSDVersion that represents service pack 2 is 200 in the location that I specified just to clear it up.
davexnet:
Thanks for the info. At least it is very interesting when it comes down to determine unknown installations.
venom96737:
I understand that a couple of files will be different due to Service Packs - it's their sense to patch and extend the system of course. Years ago I also underestimated how much "tweaks" can do, e.g. NT5 professional and server are nearly identical and can be switched vice versa. Thanks for the version build numbers.
both:
You are both right, I don't even have SP1. That's a bit surprising to me - must have forgotten about it with my last install on april 2003. It's even more impressing that everything works without any SP. I thank you both so far for giving me all the information. If nobody else comes in and knows where the system precisely determines the installed SP I will try jkrs codehook and after that split the points amongst you three, ok?
Amigo right now you are on a very dangerous system that is so so very easy to hack its not even funny. Its so easy even a remote desktop simulating program can hack your system right now you really need to upgrade i remember when xp first came out i used to play with the remote desktop exploit and mess with my friends taking control of thier systems, but to have it this day in age is really not needed an update is vital in your sense and yes alot of files are changed and will the reg tweaks work probalbly not to tell you the truth.
Venom96737:
Sorry, I somehow awaited such an answer. Nothing is fully unintrudable but my system has always been secure: no needless services, no needless accounts, always an overview about my NIC activity, desktop firewall with process creation restrictions, downshifted policies, renamed administrator account, no ActiveX, true registry backups, downshifted write permissions on files/folders/registry keys and for extreme situations always an antivirus guard. Due to my NIC overview, I always know if some upload occurs which I didn't initiate (and such a case never happened). I have a handful of tools for process analyzation, handle listing, streams listing, rootkit revealation. And last but not least: I don't behave like a berzerk. My system also runs stable, reboots occur only when I shut the machine down - a BSoD happens very seldom and can be totally associated with one application.
Hmm... I think I know much about Windows to use it properly. Much enough to not be illusioned that Service Packs alone will do the thinking for me. Believe it or not :) My system is and stays uninfected. If it happens, I know what to do (and I don't mean a reinstall).
I would like to split points amongst you. Everybody tried to help and gave me some info. However, as I suspected nobody really hit the point. jkrs hook example is the closest one, but also only an introduction. If you all agree, I'll do it this way:
125pts davexnet
125pts venom96737
150pts jkr (accept, B)
Business Accounts
Answer for Membership
by: davexnetPosted on 2006-09-30 at 15:41:42ID: 17636277
Have a look at this registry key... Much of the version info is there. E\Microsof t\Windows NT\CurrentVersion
HKEY_LOCAL_MACHINE\SOFTWAR
Good luck with the rest of your endeavors. Hope you make a good backup first...
Dave