BASE libraries can't be used on platforms that haven?t been upgraded with the latest MSVCRT libraries.
2 years ago
Originally Published: 2012-01-10
Article Number
000054462
Applies To
MES 3.2.4.4

Issue
BASE libraries can't be used on platforms that haven?t been upgraded with the latest MSVCRT libraries.
These library updates are typically installed by Microsoft on a periodic basis. However, there are use cases (example using embedded windows XP) where the Microsoft updates are not enabled. In those cases the runtime libraries will be old.
3.2.2.3 mes_fips140.lib contains:
/manifestdependency:"type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762'

3.2.4.4 mes_fips140.lib contains:
/manifestdependency:"type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.6195'

Cause

Due to security policy, we applied Microsoft security patches to  all of the computers in our development environment. This was done during December 2011 and we are no longer able to build our products against the unsecured C Runtime version.

Unfortunately the DLL version and Knowledge Base links mentioned in the Release Notes for MES 3.2.4.4 may be incorrect if in fact we are now building using  8.0.50727.6195. If this is the case, we will update the release notes.
Resolution

 To resolve this issue, you can deploy the correct C Runtime redistributable package with your application install, or ship and install the runtime DLLs as private assemblies. Private assemblies are installed in a folder of the application?s directory structure.

 

A start point for more information about redistributing the C Runtime is:

http://msdn.microsoft.com/en-us/library/ms235299(v=vs.80).aspx

 

The Microsoft Knowledge Base article about the C Runtime we have built against is:

http://support.microsoft.com/kb/2538242