Sometime scenarios occur when the target machine does not have GacUtil.exe. GacUtil is included with Visual Studio (as part of the Microsoft SDK). In such scenario you can register Assembly in GAC programmatically using Publish.GacInstall method. First you should sign your Assembly with a Strong Name.
Strong-Naming provides a unique identity to your assembly. It should not be taken as a security method. A Strong-Named Assembly contains the simple text name of the assembly, the version number, optional culture information, a digital signature, and the public key that corresponds to the private key used for signing. Strong naming
Assembly is the smallest unit of deployment of a .Net application. It can be a dll or an exe. When you compile an application, the MSIL(Microsoft Intermediate Language) code created is stored in an assembly. There are two types of program files : Process Assemblies (EXE) and Library Assemblies (DLL). An assembly