Вопрос по dependencies, c++, visual-c++, visual-studio, runtime – VC ++: KB971090 и выбор зависимостей DLL среды выполнения Visual C

8

Как вы, возможно, знаете, Microsoft недавно развернула обновление для системы безопасности Visual Studio:KB971090.

Помимо прочего, это обновило библиотеку времени выполнения Visual C с версии 8.0.50727.762 до 8.0.50727.4053.

Поэтому после этого обновления все, что я компилирую, использует динамически связанную среду выполнения, обновляет свои зависимости до новой среды выполнения.

Конечно, для новых приложений можно обновиться до новой, предположительно более безопасной, версии.

Но я также хотел бы иметь возможность сохранить старую зависимость - например, я хотел бы создать пакет исправлений, который требует замены только одной библиотеки DLL (если я попытаюсь сделать это после обновления, я получу страшную "Это приложение не удалось запустить из-за неправильной конфигурации приложения. " если только я не распространю обновленное время выполнения).

Есть ли способ сделать это, или мне нужно сохранить две установки Visual Studio: одну обновленную и одну не обновленную?

Смотрите также:netscantools.blogspot.com/2009/08/... Rasmus Faber
Здорово. Теперь это третий хит в Google для KB971090. JesperE
У меня очень похожий вопрос, но меня больше беспокоит использование разных версий библиотеки времени выполнения c в одном исполняемом файле. увидетьstackoverflow.com/questions/1238741/... iain

Ваш Ответ

2   ответа
6
3

свой в нужную версию библиотеки.

Например:

<dependency><dependentassembly><assemblyidentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorarchitecture="x86" publickeytoken="1fc8b3b9a1e18e3b"></assemblyidentity></dependentassembly></dependency>
@ Nicolas: Это образец. Вы можете ссылаться на любую сборку таким образом. Sergey Podobry
Я думаю, что для небольших обновлений это будет хорошо. Sergey Podobry
Ваш пример относится к DebugCRT. Это не распространяется. Nicolás
Это подразумевает васИспользовать новые заголовочные файлы и библиотеки-заглушки во время сборки, а старые DLL - только во время выполнения. Это поддерживается Microsoft? pauldoo

Похожие вопросы