[fdo-internals] FDO 3.3 compatible MrSID and ECW Plugins

Mateusz Loskot mateusz at loskot.net
Mon Nov 26 09:42:34 EST 2007


Jack Lee:
> Hi Frank,
>
> When you build a dll, the embedded manifest in the dll contains the
> version number of the dependent dlls. Since VS 2005 and VS 2005 SP1 uses
> different versions of the crt libraries, the version number in the
> embedded manifest would be different.
> So if someone tries to run an application built with SP1 and SP1 crt is
> not installed on the machine,  the application fails to load.
>
> I am not sure why depends.exe would not show any problems. However, the
> problem is not missing entry points since all the entry point should be
> ok.

It should be possible to fix using dirty hack:

1. Tell the VC++ to not to generate and embedd manifest
2. Use manifest tool in separate step and embed following manifest file,
instead of the newer version generated by SP1

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT'
version='8.0.50608.0' processorArchitecture='x86'
publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

Cheers
-- 
Mateusz Loskot
http://mateusz.loskot.net


More information about the fdo-internals mailing list