[Advanced] Inside the registry: the Installer key

D

Dario de Judicibus

I'm trying to restore some piece of installation information after repair of
my WinXP Home. I cannot find info on how Windows Installer writes registry
keys and msi files, so I am going to ask here.

FACT A
In c:\windows\installer folder I have either .msi, .msp and .mst files, as
well as {ID} folders.

FACT B
In registry
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\P
roducts I have several subkeys consisting of long strings of numbers. Let us
call them XID (not probably the MS name, I know).

QUESTION 1
It looks like there is no relation between XID and ID. Inside
XID\InstallaProperties there is often a LocalPackage subkey referencing an
msi file, but no key referencing an ID. How do I associate a XID to an ID?
Is ID stored inside .msi file? I need to associate each .msi to the
corresponding {ID} folder to move them togheter from broken disk to repaired
one.

QUESTION 2
Which is the difference between .msi, .msp, and .mst? None of them has the
same filename, so I assume they refer to different install process. Are they
independent files?

QUESTION 3
How can I read information about an .msi file? Is there a tool?

I have many other questions, since I am doing a surgery work, but if I
really need to ask depends on answers to three questions above. Any help
appreciated. Thank you.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dr. Dario de Judicibus - Italy (EU)
Site: http://www.dejudicibus.it/
Blog: http://lindipendente.splinder.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
W

Wesley Vogel

QUESTION 1
For example...
C:\WINDOWS\Installer\{1D643CD4-4DD6-11D7-A4E0-000874180BB3}

{1D643CD4-4DD6-11D7-A4E0-000874180BB3} is a CLSID.

Searching the Registry for {1D643CD4-4DD6-11D7-A4E0-000874180BB3} finds...

HKEY_CLASSES_ROOT\Installer\Products\4DC346D16DD47D114A0E00804781B03B
Value Name: ProductIcon
Data Type: REG_SZ
Value Data:
C:\WINDOWS\Installer\{1D643CD4-4DD6-11D7-A4E0-000874180BB3}\MnyIco.exe

Value Name: ProductName
Data Type: REG_SZ
Value Data: Microsoft Money 2004

So the C:\WINDOWS\Installer\{1D643CD4-4DD6-11D7-A4E0-000874180BB3} folder is
for Microsoft Money 2004.

QUESTION 2
..msi = Windows Installer File
Associates components with features and contains installation control
information.

..msp = Windows Installer Patch (Windows or Office Updates, Hotfixes)

..mst = beats me.
Look here...
http://www.filext.com/detaillist.php?extdetail=mst

QUESTION 3
Right clck an .msi file | Properties | Summary tab

Additional info...

Universally Unique Identifier (UUI)
A Universally Unique Identifier is an identifier standard used in software
construction, standardized by the Open Software Foundation (OSF) as part of
the Distributed Computing Environment (DCE). The most widespread use of this
standard is in Microsoft's Globally Unique Identifiers (GUIDs) which
implement this standard.

A UUID is essentially a 16-byte number and in its canonical form a UUID may
look like this:

550E8400-E29B-11D4-A716-446655440000
http://encyclopedia.thefreedictionary.com/Universally Unique Identifier

GUID
Short for Globally Unique Identifier, a unique 128-bit number that is
produced by the Windows OS or by some Windows applications to identify a
particular component, application, file, database entry, and/or user. For
instance, a Web site may generate a GUID and assign it to a user's browser
to record and track the session. A GUID is also used in a Windows registry
to identify COM DLLs. Knowing where to look in the registry and having the
correct GUID yields a lot information about a COM object (i.e., information
in the type library, its physical location, etc.). Windows also identifies
user accounts by a username (computer/domain and username) and assigns it a
GUID. Some database administrators even will use GUIDs as primary key values
in databases.

GUIDs can be created in a number of ways, but usually they are a combination
of a few unique settings based on specific point in time (e.g., an IP
address, network MAC address, clock date/time, etc.).
http://www.webopedia.com/TERM/G/GUID.html

Globally Unique Identifier
A Globally Unique Identifier or GUID is a pseudo-random number used in
software applications. Each generated GUID is supposed to be unique.

The GUID is an implementation by Microsoft of a standard called Universally
Unique Identifier or UUID, specified by the Open Software Foundation (OSF).
It is essentially a 16-byte number, written in hexadecimal form, such as:

3F2504E0 4f89 11D3 9A 0C 03 05 E8 2C 33 01

GUIDs are written using a four-byte word, 3 two-byte words, and 6 one-byte
words, such as:

{3F2504E0-4F89-11D3-9A0C-0305E82C3301}
http://en.wikipedia.org/wiki/GUID

Class ID (CLSID)
A universally unique identifier (UUID) that identifies a COM component. Each
COM component has its CLSID in the Windows Registry so that it can be loaded
by other applications.
http://www.microsoft.com/resources/...0/all/proddocs/en-us/appint/asdefclassid.mspx

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 
W

Wesley Vogel

He's using Microsoft Outlook Express 6.00.2800.1506.

Apparently he doesn't know about Include message with reply

OE | Tools | Options | Send tab | Select Include message with reply |
Apply | OK

Include message with reply
[[Specifies whether to include the text of the original message when you
reply to a message. You can edit or cut any of the text. If you clear this
check box, the body of your message contains only the text you type or
paste.]]

So people know WTF you're replying to...

When replying to a message, include enough original material to be
understood.

Because...

It is possible to see a response to a message before seeing the original.

It is possible to see a response to a message without seeing the
original.

Giving context helps everyone.

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 
D

D. Spencer Hines

No...

Not True.

People want to see what you are thanking him for -- because now they know
that it WORKS.

THINK!!!

It's called USEFUL FEEDBACK.

DSH
 
W

Wesley Vogel

I am Wesley and I use Outlook Express.

I save headers for seven days, after that they are deleted.

So, I see the post that I am replying to and none of the earlier posts in
this thread.

So, I have no idea what the hell DdJ is replying to.

I was involved in this thread and I don't know what's been happening. Just
imagine someone that has not been involved trying to read this.

I had to go to Google Groups and read the whole thread there to refresh my
memory.

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 
S

Stan Brown

Fri, 17 Mar 2006 22:15:39 +0100 from Dario de Judicibus
I disagree. I avoid quoting when not necessary. In the specific case I was
simply thank Wesley. My reply was of no interest to anybody else, but just a
matter of politeness.

If it was of no interest to anyone else, it should have been e-
mailed.

If it was posted publicly, then you knew many people would read it
and it should have carried context for their benefit.
 
D

D. Spencer Hines

D'accord.

It constitutes useful feedback -- if linked to some Good Advice that
worked -- from Wesley.

DSH
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top