1
votes

Trying to understand the differences between these development tools for windows C# development. Can anybody clarify the confusions?

Strong Name tool (sn.exe), does this tool copy the assembly into the GAC or only sign the assembly? Global Assembly Cache tool (gacutil.exe) to add the assembly to the GAC. What are the differences Windows Installer 2.0 and gacutil.exe ?

1
They are quite unrelated. Before you can put an assembly in the GAC it first needs a strong name. Sn.exe can do that job, much easier to use the Project > Properties > Signing tab instead. Gacutil.exe is a programmer's tool, it will not be available on the user's machine. So you need an installer to get the job done. - Hans Passant

1 Answers

3
votes

Strong Name tool (sn.exe), does this tool copy the assembly into the GAC or only sign the assembly?

It only signs the assembly with a strong name.

What are the differences Windows Installer 2.0 and gacutil.exe ?

Windows Installer is not limited only to .NET. Windows Installer enables the efficient installation and configuration of your products and applications running on Windows.

gacutil on the other hand is limited to .NET assemblies which are deployed to the GAC. Contrary to Windows Installer the GAC is not designed to package entire applications but rather some reusable .NET components between applications. In order to be able to install a .NET assembly in the GAC it needs to first be signed with a strong name using the sn.exe tool.