Click to See Complete Forum and Search --> : [RESOLVED] Vista and Updates
gonlazaro
February 20th, 2007, 10:41 AM
Hi there!!
We have a problem with the patches you install from Windows Update in Windows Vista.
In XP for example, if you go to the registry and look at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix, you can see there all the patches installed with Windows Update ("KBxxxxxx"...). Our problem is that this key doesn't exists on Windows Vista.
Does anyone know how to see those installed patches looking at the registry, or any other way we could use to make a little C++ application (Windows API or...) to show them?
Thanks a lot!!!
Best Regards, Gonzalo.
PeejAvery
February 20th, 2007, 02:41 PM
Have you searched the registry for a key with the exact name of "HotFix" yet?
TheCPUWizard
February 20th, 2007, 05:02 PM
As part of the enhanced security of Vista. Many items which were (unsupported) available from the registry have now been protected. It is strongly recommended to use the appropriate API call.
PeejAvery
February 20th, 2007, 05:53 PM
Concerning Vista security...Isn't Vista able to hide registry keys? Maybe the ones you are looking for are hidden.
gonlazaro
February 21st, 2007, 11:00 AM
Hi!!
First, thanks for replying.
Have you searched the registry for a key with the exact name of "HotFix" yet?
Yes, i've searched for the name of the installed hotfix, such as KB905866, and i just find entries like:
HKLM\Components\CanonicalData\Deployments\microsoft_w..ilter-dat.d_31bf3856ad364e35_6.0.6000.16420_0a3538e2e7b59aa2\¡!CBS_package_1_for_kb905866~31bf3856ad364e35~x86~6.0.4.0.905866-_ef63c87c7ea1f33b and similar ones, but they are not set in a place of the registry we could read to find them
I also tried to set full control permissions for administrators, and everyone and... but without any results.
As part of the enhanced security of Vista. Many items which were (unsupported) available from the registry have now been protected. It is strongly recommended to use the appropriate API call.
Do you know wicht API call could we use?
Thanks again!
Best regards, Gonzalo
PeejAvery
February 21st, 2007, 01:22 PM
Yes, i've searched for the name of the installed hotfix
No. I don't think you understand. I am not saying to search for a hotfix, I am saying...
1. Open up a search
2. Check only the keys box (a key in the registry appears as a folder)
3. Then search for HotFix (this should return keys folders, not strings properties in the folders)
RobDog888
February 22nd, 2007, 02:08 AM
Manually:
Control Panel > Programs and Features > Installed Updates
And
Control Panel > Windows Update > View Update History
Btw, nothing found for HotFix other then two keys related to my VS 2005 TS SP-1.
gonlazaro
February 22nd, 2007, 05:54 AM
No. I don't think you understand. I am not saying to search for a hotfix, I am saying...
1. Open up a search
2. Check only the keys box (a key in the registry appears as a folder)
3. Then search for HotFix (this should return keys folders, not strings properties in the folders)
That was the first thing i tried, searching for "Hotfix" to see if it was at another location, but i didn't find it.
Then, i searched for the hotfix name to see if they where stored at a diferent location, but...
Manually:
Control Panel > Programs and Features > Installed Updates
And
Control Panel > Windows Update > View Update History
Btw, nothing found for HotFix other then two keys related to my VS 2005 TS SP-1.
Yes, manually i found them, but we have a little application that looks for the installed windows updates, and we need it to work in Vista too. In previous OS versions, we could search the "Hotfix" entry of the registry...
Thanks again!!
Gonzalo.
RobDog888
February 22nd, 2007, 02:44 PM
It may not be stored in the registry anymore. Probably in the Windows installer database.
gonlazaro
February 23rd, 2007, 02:07 AM
It may not be stored in the registry anymore. Probably in the Windows installer database.
Is there any way to access that database? Where is it? What's its name?
Where are we from? Where do we go? :D
Thx again!
Gonzalo.
RobDog888
February 23rd, 2007, 05:51 AM
See if this gets what you want.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFeatures = objWMIService.ExecQuery ("Select * from Win32_SoftwareFeature")
For each objFeature in colfeatures
Wscript.Echo "Accesses: " & objFeature.Accesses
Wscript.Echo "Attributes: " & objFeature.Attributes
Wscript.Echo "Caption: " & objFeature.Caption
Wscript.Echo "Description: " & objFeature.Description
Wscript.Echo "Identifying Number: " & objFeature.IdentifyingNumber
Wscript.Echo "Install Date: " & objFeature.InstallDate
Wscript.Echo "Install State: " & objFeature.InstallState
Wscript.Echo "LastUse: " & objFeature.LastUse
Wscript.Echo "Name: " & objFeature.Name
Wscript.Echo "ProductName: " & objFeature.ProductName
Wscript.Echo "Vendor: " & objFeature.Vendor
Wscript.Echo "Version: " & objFeature.Version
Next
gonlazaro
March 1st, 2007, 05:15 AM
See if this gets what you want.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFeatures = objWMIService.ExecQuery ("Select * from Win32_SoftwareFeature")
For each objFeature in colfeatures
Wscript.Echo "Accesses: " & objFeature.Accesses
Wscript.Echo "Attributes: " & objFeature.Attributes
Wscript.Echo "Caption: " & objFeature.Caption
Wscript.Echo "Description: " & objFeature.Description
Wscript.Echo "Identifying Number: " & objFeature.IdentifyingNumber
Wscript.Echo "Install Date: " & objFeature.InstallDate
Wscript.Echo "Install State: " & objFeature.InstallState
Wscript.Echo "LastUse: " & objFeature.LastUse
Wscript.Echo "Name: " & objFeature.Name
Wscript.Echo "ProductName: " & objFeature.ProductName
Wscript.Echo "Vendor: " & objFeature.Vendor
Wscript.Echo "Version: " & objFeature.Version
Next
Hi!!!
That code didn't help me but gave me the way to get it: use WMI. I tried different tables, and found the solution with "Win32_QuickFixEngineering" and its field "HotFixID".
Now my app works in Vista :D
THANK YOU A LOT!!!!!!
Gonzalo.
RobDog888
March 1st, 2007, 02:31 PM
Thanks for the update too! :)
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.