Search code examples
.netcomclickoncevstocom-interop

Is it possible to register a .NET assembly for COM interop without adding registry entries?


I am deploying a .NET VSTO application via click once. The application's main assembly needs to be registered for COM interop as part of the installation process. I know that this can be done by writing code to execute "REGASM assembly.dll /tlb", but the problem is that the target workstations that will be installing my application don't have administrative rights, so the regasm fails when trying to register the type library.

My question is, how can I register my .net assembly for com interoperability when I don't have administrative access?


Solution

  • You could use registration-free activation of COM components. I have used this in an application deployed via click-once and it worked well. Here are a few links to get you started:

    Registration-Free Activation of .NET-Based Components

    Walkthrough: Manually Deploying a ClickOnce Application

    How To: ClickOnce deployment for unmanaged app with COM component in managed assembly