Microsoft KB Archive/324168

= How to deploy an assembly to the target computer global assembly cache =

Article ID: 324168

Article Last Modified on 12/3/2007

-

APPLIES TO


 * Microsoft .NET Framework 2.0
 * Microsoft .NET Framework 1.1
 * Microsoft .NET Framework 1.0
 * Microsoft Visual Studio 2005 Professional Edition
 * Microsoft Visual Studio 2005 Standard Edition
 * Microsoft Visual Studio .NET 2003 Academic Edition
 * Microsoft Visual Studio .NET 2003 Enterprise Architect
 * Microsoft Visual Studio .NET 2003 Enterprise Developer
 * Microsoft Visual Studio .NET 2003 Professional Edition
 * Microsoft Visual Studio .NET 2002 Academic Edition
 * Microsoft Visual Studio .NET 2002 Enterprise Architect
 * Microsoft Visual Studio .NET 2002 Enterprise Developer
 * Microsoft Visual Studio .NET 2002 Professional Edition
 * Microsoft Visual Basic .NET 2003 Standard Edition
 * Microsoft Visual Basic .NET 2002 Standard Edition
 * Microsoft Visual C++ .NET 2003 Standard Edition
 * Microsoft Visual C++ .NET 2002 Standard Edition
 * Microsoft Visual C# .NET 2003 Standard Edition
 * Microsoft Visual C# .NET 2002 Standard Edition
 * Microsoft Visual J# .NET 2003 Standard Edition
 * Microsoft Visual J# .NET 2003 Standard Edition

-



This article was previously published under Q324168





SUMMARY
This step-by-step article describes how to deploy an assembly to the global assembly cache of the target computer. This makes the target computer shareable in other applications. When you do this, strong name signatures must be verified only one time. Also, by loading an assembly from the same location on the disk, you take advantage of the code sharing behavior that the operating system provides and the working set improves.

Step by step procedure
Use Visual Studio .NET to create a setup project, and then deploy the assembly to the target computer global assembly cache. To do this, follow these steps:
 * 1) To the Solution that contains the project, add a new Setup Project that references to the assembly.
 * 2) Right-click File System on Target Machine, click Add Special Folder, and then click Global Assembly Cache Folder.
 * 3) By default, the assembly is inserted in the Application Folder (by default, it is a side-by-side installation). Drag the assembly to the Global Assembly Cache Folder.
 * 4) Build the Setup Project.

Remarks
If you rebuild the assembly later, and you change its Version Minor but you do not change its Public Key Token, the relating strong name will be different. Because of this, if you follow steps 1 through 4 to deploy other applications that reference to the rebuilt assembly (which is contained in the package), the target global assembly cache will contain both assemblies.

If the assembly is already strong-named, you can deploy another application in the target global assembly cache. If the assembly is not strong-named, you receive the following message from Task List:

Assembly  must have a shared name to be installed globally

