OK, I have a package which puts the following lines into a verbose log file.


[font="courier new"]MSI (c) (C4:B8) [14:09:42:791]: Entering MsiProvideComponentFromDescriptor. Descriptor: [font="courier new"]&?nHVJYxx@]gfdu0g&vz>M5KDYSUnf(HA*L[xeX)y[font="courier new"], PathBuf: 1CBF348, pcchPathBuf: 1CBF344, pcchArgsOffset: 1CBF29C
MSI (c) (C4:B8) [14:09:42:791]: MsiProvideComponentFromDescriptor called for component {997FA962-E067-11D1-9396-00A0C90F27F9}: returning harcoded oleaut32.dll value
MSI (c) (C4:B8) [14:09:42:791]: MsiProvideComponentFromDescriptor is returning: 0
MSI (c) (C4:B8) [14:09:42:791]: Entering MsiProvideComponentFromDescriptor. Descriptor: [font="courier new"]&?nHVJYxx@]gfdu0g&vz>M5KDYSUnf(HA*L[xeX)y[font="courier new"], PathBuf: 1CBF2F4, pcchPathBuf: 1CBF2F0, pcchArgsOffset: 1CBF248
MSI (c) (C4:B8) [14:09:42:791]: MsiProvideComponentFromDescriptor called for component {997FA962-E067-11D1-9396-00A0C90F27F9}: returning harcoded oleaut32.dll value
MSI (c) (C4:B8) [14:09:42:822]: MsiProvideComponentFromDescriptor is returning: 0


and later on in the same log file I can see

[font="courier new"]MSI (s) (A0:48) [14:10:44:093]: Product: <name of my product> -- Error 1719. The Windows Installer Service could not be accessed. This can occur if you are running Windows in safe mode, or if the Windows Installer is not correctly installed. Contact your support personnel for assistance.

Having already Googled for MsiProvideComponentFromDescriptor, I am still uncertain as to what the purpose of MsiProvideComponentFromDescriptor actually is ? Is it for, example, indicative of some form of repair operation taking place ? A lack of related events in the event log would seem to suggest otherwise.

Oleaut32.dll seems to be implicated, but I don't have a clue beyond this.

Any help welcome.

Regards,

Spartacus
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Graham, MsiProvideComponentFromDescriptor is a function call used by the COM loader whenever a Darwin Descriptor is found (in a shortcut, COM registry value etc.) The loader calls the Windows Installer engine to determine if the component's parent feature is installed. If not, WI automatically starts a repair of the product.

Is this a re-packaged MSI, by any chance?
Answered 01/23/2009 by: VBScab
Red Belt

Please log in to comment
0
Thanks Ian,

This is actually a vendor MSI for the Cisco VPN Client (v5.0.3) albeit a rebranded one suitable for our company, so its not a repackaged MSI.

The MSI consumes the following merge modules

DNE (Deterministic Network Enhancer)
DNEOrder
MFC 6.0
Microsoft C Runtime Library 6.0
Microsoft C++ Runtime Library 6.0
Microsoft Component Category Manager Library
Microsoft OLE 2.40 for Windows NT and Windows 95

It is the last of these merge modules that has attracted my interest. It appears to be one of the dependency modules for MFC, but I notice it contains version 2.40.4275.1 of oleaut32.dll which appears to be *way* out of date for our planned target estate of Win2K / WinXP.

As the log file entries I posted before containing the darwin descriptors seem to reference back to the file oleaut32.dll I can't help thinking that maybe this merge module is implicated ?

Regards,

Spartacus
Answered 01/23/2009 by: spartacus
Black Belt

Please log in to comment
0
That would explain the DDs, yes.

Don't worry about OLEAUT32.DLL. The engine won't allow an update of an out-of-date file, plus IIRC it's protected by WFP (or whatever MS is calling it this week).
Answered 01/23/2009 by: VBScab
Red Belt

Please log in to comment
0
The log part combined with oleaut32.dll don't have to be replacement of this file.
You'll often see similar log-snip when a custom action starts to execute so I'm quite sure it's trying to replace the file.
See if you can find a failing custom action, search for "return value 3", then check for errors above that line.
Answered 01/27/2009 by: AngelD
Red Belt

Please log in to comment
0
hmm I seems to have missed a word, it should have been:
I'm quite sure it's not trying to replace the file.
Answered 01/28/2009 by: AngelD
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity