Registering dll with codebase

Hi,

currently I am evaluating wyBuild. I found "Register COM dll" checkbox - does it just call's regasm with codebase switch or also with tlb switch?

I need an installer bulder that can register a dll with /codebase and /tlb on both x86 and x64 systems - can I do this just with "register COM dll" or I need do the workarounds with scripts or some custom actions?

Using the "Register COM dll" checkbox uses regsvr32, which calls DllRegisterServer in your dll. This works on both x86 and x64 systems, however only on "native" dlls. That is, you have to use RegAsm for .NET dlls.

We plan on integrating RegAsm support within wyBuild in the near future, but in the meantime you have to execute a simple batch file that uses RegAsm.

Does this help?

Yes, thanks for the reply.

The solution with the custom action is what we use now in Visual Studio Setup cause it cannot register .NET assemblies correctly on 64 bit platforms. It even cannot call custom actions from dll on 64 bit system without tampering with msi using Orca.

If You integrate the registartion of .NET assemblies with the /codebase and /tlb options on both x86 and x64 I am sure I will easily convince my managers to buy some licenses.

RegardsKS

We'll see if we can squeeze it in for our next release coming in a couple of weeks. But you can do it now by executing a batch file from the "Temporary folder":

  1. Create an empty text file on your computer, rename it to "RegDll.bat"
  2. Open the bat file in notepad and add the following line:
    %SystemRoot%\Microsoft.NET\Framework64\v2.0.50727\regasm /tlb:%1.tlb %1.dll /codebase
  3. Add "RegDll.bat" to the "Temporary folder" in wyBuild.
  4. Click the "Execute file" checkbox.
  5. In the "Command line switches" textbox, enter the following line (Replace "MyDll" with the name of your dll (without the extension):
    %basedir%\MyDll

This will register 64-bit dlls using Regasm. Does this make sense?

Was this ever squeezed in?

We also have .net 4 dll(s) and would like to register/unregister them but are forced to do it in code behind but is problematic because of security (we do GAC Install and assembly register if assembly isn't found on application startup, bad I know but we don't want to do hacky batch files and things if possible)... our bosses boss wants to lose local admin rights so I am afraid this will start causing issues the way we are doing it today.

We don't support GAC installation yet. You can do this stuff from batch files though.