[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