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

8

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

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

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

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

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

Есть ли способ сделать это, или мне нужно сохранить две установки 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>
Я думаю, что для небольших обновлений это будет хорошо.
Ваш пример относится к DebugCRT. Это не распространяется.
@ Nicol & # xE1; s: это образец. Вы можете ссылаться на любую сборку таким образом.
Это подразумевает, что вы будете использовать новые заголовочные файлы и библиотеки-заглушки во время сборки, а более старую DLL - только во время выполнения. Это поддерживается Microsoft?

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