Обновления безопасности Visual Studio 2005 и версии CRT DLL в манифесте

Последние обновления безопасности для Visual Studio 2005 могут вызывать у нас проблемы.

Мы создаем и распространяем SDK, написанные на C ++. Эти SDK представляют собой коллекцию только заголовочных файлов и статических библиотек. После установки обновлений безопасности наши SDK теперь зависят от более новых версий библиотек MSVC CRT. Эти SDK используются в последующих проектах, которые создают файлы EXE.

Если один из этих EXE-файлов собран из набора SDK (некоторые до обновления безопасности, некоторые после), то полученный EXE-файл ссылается на два набора библиотек времени выполнения MSVC. Например:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.4053" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b">
            </assemblyIdentity>
        </dependentAssembly>
    </dependency>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b">
            </assemblyIdentity>
        </dependentAssembly>
    </dependency>
</assembly>

Означает ли это, что во время выполнения этот EXE будет использовать обе версии DLL? Означает ли это, что мы должны распространять обе версии библиотек времени выполнения MSVC с этим EXE-файлом?

Есть ли простой способ избежать этой проблемы без принудительного создания всех SDK с исправлениями безопасности для Visual Studio 2005? (Это было бы нежелательно для некоторых более старых и достаточно стабильных SDK, которые мы не хотим перестраивать без необходимости)

Можно ли просто переписать файл манифеста либо в SDK, либо в конечном EXE-файле, чтобы была упомянута только одна версия DLL-библиотеки CRT MSVC?

Насколько я понимаю, соответствующие обновления заключаются в следующем:

Обновление безопасности для Microsoft Visual Studio 2005 с пакетом обновления 1 (SP1): KB971090

http://go.microsoft.com/fwlink/?LinkId=155934

Обновление безопасности для Microsoft Visual Studio 2008 с пакетом обновления 1 (SP1): KB971092

http://go.microsoft.com/fwlink/?LinkID=155933

Я обнаружил два других вопроса, которые похожи:

VC ++: KB971090 и выбор зависимостей DLL среды выполнения Visual C

Вызывает ли последнее обновление безопасности для Visual Studio 2005 проблемы с библиотекой времени выполнения C при оперативном исправлении сайтов клиентов

Ответы на вопрос(2)

Ваш ответ на вопрос