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 ofregasm
and then using the import tool on the Registry in the Setup Project. Will this work?
- The assembly needs to be registered successfully
- 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.
Best Answer
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.