Lably
Skip to content

Side-by-side assembly

  • 6 min read
  • 6 chapters

Related on Lably

Through Microsoft Windows

Microsoft Visual C++ 2005 and 2008 employ SxS with all C runtime libraries. However, runtime libraries in Visual C++ 2010 no longer use this technology; instead, they include the version number of a DLL in its file name, which means that different versions of one DLL will technically be completely different DLLs now.

SxS is also the technological basis for registration-free COM activation. Only in-process COM servers may be activated this way.

Operation

An application that employs SxS must have a manifest. Manifests are typically a section embedded in the application's executable file but may also be an external file. When the operating system loads the application and detects the presence of a manifest, the operating system DLL loader is directed to the version of the DLL corresponding to that listed in the manifest. If there is no manifest, the DLL loader loads a default version of all DLL dependencies. If the DLL is a COM server, it must have a manifest of its own for registration-free activation to succeed.

On Windows Vista and later, sxstrace.exe can help to diagnose failures in the starting of applications due to SxS misconfiguration.

If a user wishes to override manifest-specified assemblies (for example, in the case of security patches applied to a library), a publisher configuration file can globally redirect assemblies. Digital signatures can ensure the legitimacy of such redirection.

Sign in to keep reading

5 more chapters are free with a Lably account.

More in Computing and communication