VC ++: KB971090 и выбор зависимостей DLL среды выполнения Visual C - PullRequest
8 голосов
/ 06 августа 2009

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

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

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

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

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

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

Ответы [ 2 ]

6 голосов
/ 15 августа 2009

Вы можете указать версию, используя найденный обходной путь здесь

3 голосов
/ 07 августа 2009

Вы можете отключить автоматически сгенерированный манифест и добавить свой собственный в нужную вам версию библиотеки.

Например:

<dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity></dependentAssembly></dependency>
...