Link to home
Start Free TrialLog in
Avatar of theMolando
theMolando

asked on

Interop generated from VB6 dll, installing by Regasm, setting GUID

Hello, Hope you can help. VB6 is not my area. I feel I am missing something simple.

I have a VB6 DLL which I need to place a new version on a machine that will not interfere with the current version.

I can generate the Interop with a new version number which allows me to install it into the GAC.

I also need to Regsvr32 the DLL, and Regasm the Interop.

How do I control the GUIDs that is used for the DLL and Interop?

I have the source for the VB6 component. There is no AssemblyInfo.vb file, I do see that binary compatibility is selected, and it points to a version of the DLL. Is this where it will be pulling the GUID from?

Scanning the code for the VB6 component I see no other references to GUID.

From what I have been reading it appears that RegAsm generates a new GUID on instillation of the interop.

I see parts of the system (an IIS website, that uses java, vb6, vb.net, c#, and DLLs in vb6, vb.net, and c#) that have references to the Interop. The main one is a VB.Net DLL.

How do I make sure that these use the right GUID?

The GAC side is fine, but on my last release it appeared to use the old GUID for regasm/regsvr32 and that caused the old system to pick up the new files which I need to avoid.

I feel I am missing something very simple, if any of my assumptions above are wrong, please tell me.
Also if you could please explain what I am doing wrong or need to do in a very basic way, it would be vastly appreciated.

Jonathan
ASKER CERTIFIED SOLUTION
Avatar of Jacques Bourgeois (James Burger)
Jacques Bourgeois (James Burger)
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of theMolando
theMolando

ASKER

Thank you. Now know a way forward.

Have a feeling that many of the people who wrote the original system did not know that much of what they were doing, every file is being registered in every way.

I will remove the registering with regasm of the interop and see what happens. Have seen Microsoft pages saying that you should not both regasm and gac at the same time.

Will remove the binary compatibility and force a set GUID in with an assembly.info, as that sounds that it will keep it with a fixed value.

If that does not work, will rename the dll, but will save that to last as it will mean many changes in other parts of the system.