2009-08-06 7 views
8

Come forse sapete, Microsoft ha recentemente distribuito un aggiornamento per la protezione di Visual Studio: KB971090.VC++: KB971090 e selezione delle dipendenze DLL di Visual C Runtime

Tra le altre cose, questo ha aggiornato la DLL di Visual C Runtime dalla versione 8.0.50727.762 alla 8.0.50727.4053.

Quindi, dopo questo aggiornamento, tutto ciò che compilo che utilizza il runtime collegato dinamicamente, porta le loro dipendenze aggiornate al nuovo runtime.

Ovviamente, per le nuove applicazioni è opportuno aggiornare la nuova versione, presumibilmente più sicura.

Ma vorrei anche essere in grado di mantenere la vecchia dipendenza - ad esempio, mi piacerebbe creare un fixpack che richiede solo una singola DLL da sostituire (se provo a farlo dopo l'aggiornamento, lo farò ottenere il temuto "Questa applicazione non è stata avviata perché la configurazione dell'applicazione non è corretta." a meno che non distribuisca anche il runtime aggiornato).

C'è un modo per farlo, o dovrò conservare due installazioni di Visual Studio: una aggiornata e una non aggiornata?

+0

See: http://netscantools.blogspot.com/2009/08/security-update-for -compiler-broke-our.html –

+0

Ho una domanda molto simile, ma sono più preoccupato di utilizzare diverse versioni della libreria di runtime c in un singolo file eseguibile. vedi http://stackoverflow.com/questions/1238741/does-the-latest-visual-studio-2005-security-update-cause-c-runtime-library-issues – iain

+0

Cool. Questo è ora il terzo successo su Google per KB971090. – JesperE

risposta

6

È possibile specificare la versione utilizzando la soluzione trovata anche here

3

È possibile disattivare manifest manifest generati automaticamente e includerne uno con la versione della libreria necessaria.

Ad esempio:

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

Ciò implica che si utilizzeranno le nuove intestazioni e le librerie stub al momento della compilazione e la DLL meno recente solo in fase di esecuzione. È supportato da Microsoft? – pauldoo

+0

Penso che per gli aggiornamenti minori sarà ok. –

+0

L'esempio si riferisce a DebugCRT. Quello NON è ridistribuibile. –

Problemi correlati