Our product is repairing itself at runtime when its not meant to be.
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
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.
Repair And Event Log - Stefan ????
Started by
Dave I
, Oct 30 2003 16:34
5 replies to this topic
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
thx again
Edited by Dave I, 30 October 2003 - 17:27.
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
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
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.
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.
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
-Stein Åsmul
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.
Stefan Krüger
InstallSite.org twitter facebook