Как распространять библиотеки времени выполнения C (CRT)
Я создаю приложение после преобразования рабочего пространства VC ++ 6 в Visual C ++ 2008 express. Сборка сама по себе идет успешно, но реальная проблема у меня заключается в сгенерированных манифестах, которые выглядят так:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.30729.1' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
Мой вопрос:
Как я могу ограничить манифест, чтобы перечислить только одну версию, предпочтительно 9.0.21022.8. чтобы я мог связать необходимые зависимости времени C-Run внутри моего приложения?
Я знаю, что основной причиной этой проблемы является зависимость от некоторой библиотеки, которая использует 9.0.21022.8, а мой VC ++ Express 2008 может использовать 9.0.30729.1. вот почему оба перечислены как зависимость.
Примечание:Я придерживаюсь подхода б) изhttp://www.codeproject.com/Tips/211756/How-to-Distribute-C-run-time-CRT-Libraries-with-Yo?display=Print который говорит о копировании файлов DLL CRT и файла Microsoft.VCXX.CRT.manifest в папке приложения.