dotnet distributed apps:
I created a new VS 2005 C# application which calls an existing COM component which I had created years ago in VC6. I added a reference in Visual Studio 2005 to the COM component and it generated a Interop.MyCOMApp.DLL. When I run the app in debug mode it calls the COM module just fine. I'm building an InstallShield 12 project to install my new C# EXE (I need to use InstallShield over VS - corporate law). I have a few questions: 1) Where should the Interop DLL be installed? To the application directory? 2) When I try to install it to the app directory, I'm getting a "cannot register COM componenet" error message for the existing COM component. It isn't included in my InstallShield project, I'm assuming its getting the information for the COM module from the Interop DLL? 3) I notice that a copy of the COM DLL is now in my app directory even though I didn't include it in the InstallShield project. How does it get there? 4) What is Microsoft's recommended practice for calling a COM module in VS 2005 and deploying it? Thanks in advance for your help. Tim.
The reason I'm getting the register error when the InstallShield install runs is its copying in the COM DLL to my application directory and trying to register it. The COM DLL depends on a string of other DLL's to be which they are not, hence the error. I have not been able to tell if this is a InstallShield or .NET which copies the COM DLL to the app directory. Is this how .NET typically handles a COM call? Does it always copy in the COM DLL to try and avoid DLL Hell? What is Microsoft's recommended solution for this? Thanks. Tim.
Don't see what you're looking for? Try a search.
|