0

I have made a C# class library, which uses other dll's made by others in the company, for COM interop. It is being used with MS Excel 2013 and works fine on my development machine.

To test it on other machines, i have copied the output (dll's and .tlb file) to my system 32 folder. I have then registered the dll's using regasm (using the /codebase argument). Finally, i added the reference to the .tlb in the Excel VBA editor. Allthough it is a little tedious with 6 dll's, the regasm works fine.

The next step is to distribute the Excel sheet to relevant users in the company, where most are located in different parts of the world in different deparments. This means i do not know what programs that are installed that are needed(for example .net 4.5). Also, since most people in the company know little about the command line, using the above procedure is not only a little tedious, but scares people. I therefore would like to make an installer.

Since i use VS2013, i have installed a plug in that allows me to make a setup file.

I have found this question, which is almost the same as mine, but i don't need the GAC part. How do i modify the procedure to my needs? - i have tried to follow the procedure given, but i get an error stating one of the dll's i use in my own, does not have a strong name and cannot be in the GAC. Build therefore fails. How do i rectify the above? - do i need to fix the dll or can i do this without the GAC-part?

How do i automate the installation process of my dll(s)? - The alternative right now is to roll out VS2013 to the users and make them run the project and register that way (Does VS express suffice?).

Thanks in advance - i started this project with little experience, so learning curve is a bit steep.

Community
  • 1
  • 1
Anima
  • 1
  • Using ILSpy, i can see that the dll that failed in the installer build has a publictoken = Null. I assume that is the root of my problem. Maybe i can make it work if i get that fixed and try building an installer again. – Anima Oct 13 '15 at 10:55

1 Answers1

0

It's not clear to me exactly what you want to do, but that link does tell you how to register Dlls - just look at the properties of each Dll and set the register property. You can also add your tlb file to your setup, and mark that to be registered too. If that isn't what you're trying to do then edit the question.

p.s. Don't put tham in the system folder - pout them in your company's/app's common files folder.

PhilDW
  • 20,260
  • 1
  • 18
  • 28
  • Hi Phil In short, i've made a dll and tlb file from a class project in C#. When the project is built in C#, it registers the dll for me. When i need to deploy it, i normally use regasm. I need to make an installer since my boss don't want users to use regasm and thus wants an installer that does the registration for them. – Anima Oct 14 '15 at 10:23