Why is my MSI overwriting XPe system files?
Here's another question/answer from the newsgroup that has cropped up from time to time, I think we've also discussed this in the last 2 mobile embedded developer conferences as part of the 'Componentization Best Practices and How Tos'
Issue:
"We are installing a 3rd party app which has "a core redistributable Merge Module (.msm) from Microsoft to ensure that core files are up to date." (quote from 3rd party)
This module is clobbering system DLLs with old versions and the 3rd party is saying it's a problem with XPe. They state that on XP Pro SP2 this module does not run and clobber, but that it fails to detect XPe SP2."
Response:
This sounds like the classic scenario where the package was created to redistribute a particular version of some system files like comctl32, msvcrt, etc... If that's the case, then this should help explain why it's only being seen on XPe and how to get around this.
The reason it appears to not be a problem on XP Pro is because system file protection (SFP) prevents those files from being overwritten. XPe however has file protection turned off to provide you with more control over the system but it can be protected by the more developer friendly features called Enhanced Write Filter and File Based Write Filter. With SFP turned off, those system files get replaced and if you reboot now in that state before undoing that work, then your runtime may be unstable or fail to complete booting. I see 3rd party XP packages trying to redistribute Win2k system files all the time, that's just unsat and unneeded since even XP-Gold back in 2001 included the SxS versions of those files.
If the MSI/msm/msp is being componentized, as opposed to simply installing the app from the desktop, then the developer could ignore these system files in the MSI when they create the component. If you decide not to componentize and instead need to run the installer from the desktop, all you have to do is identify the system files you don't want and *recopy* the original system files from your runtime as a post-install action of the MSI package.
- Andy
Technorati Tags: Componentization, XPe
Comments
- Anonymous
September 12, 2007
PingBack from http://msdnrss.thecoderblogs.com/2007/09/12/why-is-my-msi-overwriting-xpe-system-files/