Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Repair And Event Log - Stefan ????


5 replies to this topic

Dave I

Dave I
  • Members
  • 195 posts

Posted 30 October 2003 - 16:34

Our product is repairing itself at runtime when its not meant to be. sad.gif

Now in the Event Viewer I get the following message:

"Detection of product '{xxx}', feature 'MyFeature' failed during request for component '{yyyy}'"

I have located the component in my install its a COM Server.

Now is this message saying that this is the component causing the problem or was the repair simply triggered when this COM Server was being instantiated. I thought the file was to blame and registered it manually with regsvr32 but the now it just specifies another COM server.

With the exception of rooting with RegMon and FileMon any suggestions. Problem is on Win2000 SP3, I have various mergemodules in there as well.

Thanks,
Dave

Dave I

Dave I
  • Members
  • 195 posts

Posted 30 October 2003 - 17:26

Furthermore, one of the dll's Im using is OLEAUT32.msm, 25.40.4275.1. Which apparently could cause the self-repair behaviour. Has anyone experienced problems with this dodgy merge module?

thx again

Edited by Dave I, 30 October 2003 - 17:27.


anieuwland

anieuwland
  • Members
  • 8 posts

Posted 30 October 2003 - 23:02

Yes, I certainly have had bad experiences with the OLEAUT32.MSM, however there is a newer version available:

Oleaut32.msm Triggers Auto Repair or System File Protection Error on Windows 2000
Description:
Installing a packge that includes the new module on Windows 2000 brings up "Error 1931.The Windows Installer service cannot update the system file C:\WINNT\System32\olepro32.dll because the file is protected by Windows. You may need to update your operating system for this program to work correctly."
Another symprom is Windows Installer unexpectedly performing an auto repair when the system is started.
Cause:
Oleaut32.msm installs system files that are under Windows File Protection on Windows 2000 and should not be installed on this operating system.
Some versions of Microsoft's Oleaut32 merge modules do not include any component conditions to prevent installation of these files on Windows 2000, Oleaut32.msm version 2.40.4514.1 as included in the VBA SDK 6.2 includes corrupted conditions:
(Version9X OR (VersionNT < 500)
In this condition, a parenthesis is missing.
Workarounds:
Open the msm and change the condition to:
(Version9X) OR (VersionNT < 500)
Status:
The corrupted conditions has been reported in the newsgroups for oleaut32.msm version 2.40.4514.1 dated March 3, 2000 that came with the English Edition of the VBA SDK 6.2. in March 2000.
In Oleaut32.msm version 2.40.4275.1 that comes with Service Pack 4 for Visual Studio 6 SP4 and SP5, Visual Studio Installer 1.1, and VBA SDK 6.3 there is no operating system condition on the components at all.
Oleaut32.msm version 2.40.4514.1 that comes with the multi-language edition of the VBA SDK 6.2 (July 2000) has the correct conditions.
The problem is documented in Microsoft Knowledge Base article 316911 which states that a fix is availbale from Microsoft.
Created: 2000-05-16 Last update: 2003-07-10

Dave I

Dave I
  • Members
  • 195 posts

Posted 31 October 2003 - 10:22

Cheers anieuwland.

The way the EventViewer error is phrased...

"Detection of product '{xxx}', feature 'MyFeature' failed during request for component '{yyyy}'""

...its easy to interpret as that the error is with the component. When what it actually means is that this component is simply the trigger for the repair which is caused by something else entirely.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 05 November 2003 - 19:53

I had mysterious auto-repairs kick in all the time, and discovered that components with no files pointing to empty or non-existing folders could trigger self-repair. I believe this is beacuse the folder itself becomes the key "file" of the component if nothing else is added to the component.
Regards
-Stein Åsmul

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 05 November 2003 - 21:36

That's correct: if you don't specify a key for the component, it's directory becomes key. And Windows Installer tends to delete empty directories. Therefore it's recommended to add empty directories to the CreateFolder table.