views:

603

answers:

3

I need to deploy a few .net dlls. They need to be put in the GAC and the required entries need to be in the registry. On my machine I have both the SDK and Visual Studio running, so currently I am utilizing .net sdk tools like gacutil and regasm. However, when I need to install these dlls on a customer machine, how should I go about it. Can I accomplish this by just having the .net runtime. I am currently using .net 2.0.

+1  A: 

Well, the easiest way, for the person that's going to be sitting in front of that other machine that is, is of course an installation program.

I believe most VS editions have some sort of installer support where you can create a setup project that ends up as a .exe and .msi file that you can use to install your software with, and then you'll get basically all you need, things like desktop/start menu shortcuts, GAC-support, uninstall, downloading the .NET runtime if needed, etc.

Check the new project dialog box in your Visual Studio and I'm sure you'll find something useful there, if not then I'm pretty sure someone here can point you in the right direction.

On the other hand, if you want to go the manual route, then some of the .NET tools is installed in the .NET directory beneath C:\Windows\Microsoft.NET\Framework\version.

Lasse V. Karlsen
+4  A: 

The 'proper' way to do this is using MSI (via one of the various ways of making MSI files - like WiX)

This might be useful to you:

http://blogs.msdn.com/astebner/archive/2006/11/04/why-to-not-use-gacutil-exe-in-an-application-setup.aspx

Will Dean
A: 

The most robust way would be to use your setup project. Open the File System view for the project, add the special folder "Global Assembly Cache", and add your assemblies to it, then build the setup project and you're good.

If you don't use a setup project, I don't really know...

Mihai Limbășan