Side-by-side Assemblies
Side-by-side assemblies allow multiple versions of the same DLL to be loaded and available to the same application at the same time.
The SxS Manager is responsible for using the manifests of the application and the Side-by-side (SxS) assemblies.
Overview link: http://msdn.microsoft.com/en-us/library/aa376307.aspx
Isolated Applications
SxS is a part of an overall strategy to implement Isolated Applications.
Isolated Applications are important because they enable stable and reliable installations that are unaffected by installation or removal of other applications.
Isolated and SxS applications can also be reconfigured after deployment without re-installing.
Overview of Isolated Applications: http://msdn.microsoft.com/en-us/library/aa375190(VS.85).aspx
Manifests are the XML files that ship with SxS, Isolated, and other assemblies. They describe the assembly, and contain information for binding and activation.
Manifests: http://msdn.microsoft.com/en-us/library/aa375365(VS.85).aspx
To create a manifest you can include it in an actual DLL or .EXE, or you can include a standalone PE file that contains the assembly manifest information.
http://msdn.microsoft.com/en-us/library/1w45z383.aspx
How the runtime locates assemblies: http://msdn.microsoft.com/en-us/library/yx7xezcf.aspx
And related best practices for assembly loading: http://msdn.microsoft.com/en-us/library/dd153782.aspx
Tuesday, November 18, 2008
Installing multiple versions of the same ClickOnce application
While researching Side-by-side (SxS) assemblies and ClickOnce I found this article by Brian Noyes that addresses the problem with attempting to install two versions of a ClickOnce application.
http://briannoyes.net/CommentView,guid,fe63caf8-a84e-4cb4-a784-703835ac327e.aspx
Essentially he says that the Application Identity is the actual discriminator that allows two versions of the same ClickOnce application to be installed on the same machine. Visual Studio set's the application id when publishing, but you can use the mageui.exe, or some other manifest manager tool, to change the application id.
http://briannoyes.net/CommentView,guid,fe63caf8-a84e-4cb4-a784-703835ac327e.aspx
Essentially he says that the Application Identity is the actual discriminator that allows two versions of the same ClickOnce application to be installed on the same machine. Visual Studio set's the application id when publishing, but you can use the mageui.exe, or some other manifest manager tool, to change the application id.
Subscribe to:
Posts (Atom)