Why does windows side by side (winSxS) set a policy to automatically update when there are known issues between versions?

We have an application compiled using MSVC 2K5, SP1 (version 762 msvcrt80)

All is well, right until someone installs .Net3.0SP1 on the same machine and installs msvcrt80 version 1433 and automatic update policy along with it.

We now have random crashes all over the place and unfortunate clients.

I understand that we can tweak our manifest files to force a specific version, but I only found an ugly way to copy the details that are automatically generated and manually modified. This is especially frustrating when a large number of applications fix

Is it possible to get rid of the silly "update" policy in the winSxS directory? Is there an option / flag to compile for a specific version only and still generate the manifests automatically?

+1


source to share


1 answer


Find the generated manifest for your specific CRT version. Then add the pragma to the main application file:



#pragma comment(linker,"/manifestdependency:\"type='win32' "            \
        "name='" __LIBRARIES_ASSEMBLY_NAME_PREFIX ".CRT' "              \
        "version='" _CRT_ASSEMBLY_VERSION "' "                          \
        "processorArchitecture='x86' "                                  \
        "publicKeyToken='" _VC_ASSEMBLY_PUBLICKEYTOKEN "'\"")

      

+1


source







All Articles