Question

I've created a .NET assembly for COM interop and it is working well on my development machine. I'm currently trying to figure out how to deploy the DLL to a target machine using Visual Studio's "Setup Project." How can I use the VIsual Studio setup project to do the following things:

  • Register the assembly (currently using regasm).
    • The assembly needs to be registered successfully and the type library (.tlb) needs to be registered successfully.
    • This answer suggests scrapping regasm in favor of custom code. I this is a good idea? If so, how does this code get included in the setup project?
    • This answer suggests using the /regfile command of regasm and then using the import tool on the Registry in the Setup Project. Will this work?
  • Install the assembly in the GAC (currently using gacutil)
    • I'm aware of the "Global Assembly Cache Folder" in the "File System on Target Machine." Is there anything special I need to do in including the assembly in the setup project?

Any other advice or concerns would be much appreciated.

Was it helpful?

Solution

Gacutil.exe won't be available on the target machine. Not a problem, MSI can get the job done. Right-click "File System on Target Machine", Add, GAC. Right-click that added folder, Add, Project Output. That ensures the assembly is gac-ed.

It can also register the assembly like Regasm.exe does. Set the Register property of the project output reference to vsdrpCOM.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top