title: Installing a .NET COM+ dll
body: <p>I have the following COM object installed on one of our servers that I need to rewrite...some legacy code uses the object as follows: </p>
  
  <pre><code>Set oEmail = CreateObject("SSDSCommunicator.EmailClass")
  oEmail.Send(szFrom, szRecipients, szSubject, szEmailBody, SMTPServer, szErr, "", , , , True)
  </code></pre>
  
  <p>I have followed the example in <a href="https://stackoverflow.com/questions/3360160/how-do-i-create-an-activex-com-in-c">this</a> answer but I'm struggling to register the COM component. </p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Text;
  using System.Web.Mail;
  using System.Runtime.InteropServices;
  
  
  namespace SSDSCommunicator
  {
  
      [InterfaceType(ComInterfaceType.InterfaceIsDual), Guid("DB38A91C-9EB6-4472-9A49-40722431E096")]
      public interface IEmailClass
      {
          void launch();
          bool Send(string szFrom, string szTo, string szSubject, string szMessage, string szSMTPServer, ref object szError, string szAttachments = "", string szReplyTo = "", string szCC = "", string szBCC = "", bool bHTMLBody = false);
      }
  
      [ClassInterface(ClassInterfaceType.None), Guid("A00C16DA-1791-4A3A-8D16-4765A9FAD060"), ProgId("SSDSCommunicator.EmailClass")]
      public class EmailClass : IEmailClass
      {
          private string path = null;
  
          public void launch()
          {
              Console.WriteLine("I launch scripts for a living.");
  
          }
  
          public bool Send(string szFrom, string szTo, string szSubject, string szMessage, string szSMTPServer, ref object szError, string szAttachments = "", string szReplyTo = "", string szCC = "", string szBCC = "",    bool bHTMLBody = false)
          {
      ...
          }
  
      }
  }
  </code></pre>
  
  <p>The project builds successfully. How do I register the dll as a COM object so that the the old VB6 code will work?</p>
  
  <p>I have ticked the register for COM interop and Make the assembly COM visible in the project settings. </p>
  
  <p>I've had no luck with regsvr32 (no entry point found) or regasm...</p>
  
  <p>The COM object looks like this on the old server:</p>
  
  <p><img src="https://i.stack.imgur.com/4LGe4.png" alt="enter image description here"></p>
  
  <p><strong>Edit</strong></p>
  
  <p>Should I be able to see the COM object in component services after running the regasm command?</p>
  
  <pre><code>regasm C:\...\SSDSCommunicator.dll /CodeBase
  </code></pre>