问题
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.
回答1:
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.
来源:https://stackoverflow.com/questions/3087063/use-visual-studio-setup-project-to-automatically-register-and-gac-a-com-interop