Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Från och med Windows XP kan du skapa en privat sammansättning och göra den tillgänglig för ett visst program. Den här funktionen kan användas för att åtgärda ett program som blir inkompatibelt med en uppdatering. Ett exempel är ett program som blir inkompatibelt med den senaste versionen av MSVCRT.DLL efter uppgradering av operativsystemet. I det här fallet har du inte möjlighet att ersätta systemversionen eftersom MSVCRT.DLL är en Windows-skyddad fil. I stället för att behöva skriva om applikationen för att arbeta med den nya programversionen av MSVCRT kan du skapa en privat komponent för MSVCRT och installera den i din applikationsmapp. Observera att inte alla delade komponenter är lämpliga för en privat sida vid sida-sammansättning, och vissa komponenter har licensbegränsningar för var deras komponenter kan installeras. Komponenten måste uppfylla kriterierna för en komponent sida vid sida. Fråga utgivaren av komponenten om de kan tillhandahålla en lämplig sammansättning.
Den privata sammansättningens manifest och programmets manifest bör båda installeras i samma mapp som programmets körbara. När programmet körs läser det programmanifestet och läser in den version av MSVCRT som är privat för programmet.
I det här exemplet skulle den privata sammansättningen innehålla både MSVCRT.DLL och MSVCIRT.DLL som i följande sammansättningsmanifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32"
name="Microsoft.Windows.PrivateCPlusPlusRuntime"
version="6.0.0.0"
processorArchitecture="x86"/>
<file name="msvcrt.dll"/>
<file name="msvcirt.dll"/>
</assembly>
Följande är ett exempel på ett möjligt programmanifest.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="x86"
name="APPLICATION"
type="win32"
/>
<description>Description of Application</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.PrivateCPlusPlusRuntime"
version="6.0.0.0"
processorArchitecture="x86"/>
</dependentAssembly>
</dependency>
</assembly>