Solved

Got hotfix information in NT

Posted on 2000-03-30
9
179 Views
Last Modified: 2010-04-04

im wondering if i can get all the hotfixes if any in nt into like say, memo

Esk
0
Comment
Question by:esk
  • 4
  • 4
9 Comments
 
LVL 17

Expert Comment

by:inthe
ID: 2670322
er whats a "hotfix" ?
0
 

Author Comment

by:esk
ID: 2672413
that's a little service pack fix, not big one like service pack

Esk
0
 
LVL 4

Expert Comment

by:Radler
ID: 2673049
Hi esk,

To recents HotFix there is a ID. The installed hotfixes can be found at
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\*
Where * is the ID, my only one is Q147222.
More details inside the key.

T++, Radler.
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:esk
ID: 2673189
Here is all the hotfixes available from Microsoft

ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40/
0
 

Author Comment

by:esk
ID: 2673202
how is the best way to read from it?
0
 
LVL 4

Accepted Solution

by:
Radler earned 50 total points
ID: 2673312
Really if you uses the native Delphi TRegistry class you'll take an error.
Subclassing TRegistry.OpenKey with this

function TRegistryNT.OpenKey(const Key: string; CanCreate: Boolean): Boolean;
var
      TempKey: HKey;
      S: string;
      Disposition: cardinal;
      Relative: Boolean;
begin
      S := Key;
      Relative := IsRelative(S);
      if not Relative then begin
            Delete(S, 1, 1);
      end;
      TempKey := 0;
      if not CanCreate or (S = EmptyStr) then begin
            Result := RegOpenKeyEx(GetBaseKey(Relative), PChar(S), 0, Self.FAccessMode, TempKey) = ERROR_SUCCESS;
      end else
            Result := RegCreateKeyEx( GetBaseKey(Relative), PChar(S), 0, nil, REG_OPTION_NON_VOLATILE, Self.FAccessMode, nil,
                                                  TempKey, @Disposition) = ERROR_SUCCESS;
      if Result then begin
            if (CurrentKey <> 0) and Relative then begin
                  S := CurrentPath + '\' + S;
            end;
            ChangeKey(TempKey, S);
      end;
end;

Replace Self.FAccessMode by KEY_READ, it's a big class that I have.

T++, Radler.
0
 
LVL 4

Expert Comment

by:Radler
ID: 2673320
A bit more
function TRegistryNT.IsRelative(const Value: string): Boolean;
begin
  Result := not ( (Value <> EmptyStr) and (Value[1] = '\') );
end;
0
 

Author Comment

by:esk
ID: 2673410
It is a binary value?..

how can i read from it, and get the hotfixes that was installed?..
0
 
LVL 4

Expert Comment

by:Radler
ID: 2673605
No, after open the key call the method GetKeyNames to enumerate all subkeys, so compares the values with the desired hotfix id.

T++, Radler.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
FMX and jaudiotracker playing memory stream 29 85
Delphi Yen format 3 45
Wincontrol not (correctly) drawn 15 40
Delphi: making a BW image transparent 10 59
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question