Using a standard merge module corrupts Windows Embedded so it gives blue screen on reboot.

Carl Olsen's picture

My installer uses these 3 merge modules:

  • MSVCRT
  • COMCAT
  • OLEAUT32

The installer works great on all normal versions of Windows (2000, XP, Vista, etc.).  However, when I install to Windows Embedded, the installer appears to run fine until Windows Embedded is rebooted.  At which point, I get a "Stop" error c000021a and blue screen of death during the reboot.

After a lot of hacking and binary searching, I have narrowed the problem down to the above mentioned Merge Modules.  If I leave the merge modules out of the installer, then the problem disappears.

So, I made sure all my Merge Modules are the latest by choosing "Help / Download Redistributables" from within Wise, then made a new installer using these new updated ones.   Unfortunately these new merge modules still corrupt Windows Embedded.

The idea that using merge modules can corrupt your operating system has be completely spooked!

Any thoughts on what to do?

Thanks,

Carl.

AngelD's picture

Can you get a crash dump from

Can you get a crash dump from the BOD so we could find out which file is the actual bad guy?

Carl Olsen's picture

The problem file turned out

The problem file turned out to be OLEAUT32.dll

It turned out that the merge module was overwriting three mentioned DLL's above with older versions, and the older version of OLEAUT32.dll in particular was causing the crash.

My final solution was to simply not use merge modules at all, and instead copy in the DLL's I need directly into my applications' folder where they are safe from conflicting with others.

Thanks,

Carl.

EdT's picture

Most 'standard' merge modules are hugely out of date

Yes, unless you plan to create your own merge modules, stay well clear of any merge modules that you can download from Wise, as they are hugely out of date compared to current operating system files in most cases.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

AngelD's picture

Sounds stranged that a

Sounds stranged that a downgrade of a file version would occure due to Windows Installer's standard fileversioning.
Could you verify that there are no custom action handling the file copy or that the Version column in the File table has a correct version value.

What does a verbose log say regarding the file?

Search for: Executing op: FileCopy(SourceName=OLEAUT32.dll
Then check (or post) the line below starting with "File:" regarding the file version

Carl Olsen's picture

There are were custom actions

There are were custom actions copying these files.   Unfortunately I have moved on from that installer, and don't have records.  I probably have an old copy of the MSI file itself, if you think it useful for your purposes.  Otherwise, problem solved for me by simply not using Merge Modules at all.

Thanks for your help and consideraion

Carl.