[Last Call] Learn how to a build a cloud-first strategyRegister Now


Better Release / Development Strategies?

Posted on 2011-10-14
Medium Priority
Last Modified: 2012-05-12
Our main application is a VB6 app, which now uses .Net COM components.
I have developed the COM wrappers separate from the core .Net libraries. ALL the code in the COM libaries refers to the .Net library methods of the same name.

eg: EvoDataAccess.RunSQL has the actual code, the COM layerEvoDataAccessCOM.RunSQL references EvoDataAccess.RunSQL

I created an application that copies over to the local machine the latest VB6 exe and all the DLL's (COM and .net)  and registers the COM libraries and any OCX files that the VB6 applciation uses.

This works fine on client machines, but we also have an instance were we have over 20 users connecting to a Terminal Server (TS) via RDP (remote desktop).
On the TS the same "release" application creates a copy of the EXE as AppName<WindowsUserName>.exe....this allows me to update the EXE at anytime without interupting the users.

The COM files are not so easy. Is there any other way to update the COM files without the need for the TS users to exit the application and potentially not able to use the program for 15 minutes? The current method is to get all the user out of the VB6 application...replace the COM and .Net libraries...register the new libraries...if all goes well the users are back in withihn 15 minutes. If everything goes wrong...something goes wrong with the COM files, it is potentially hours for a rollback because every mention of the classes in the registry needs removal...worst case....best case rollback replace the new COM files with the old ones and regsiter.

We cannot go the pure .net route yet and to remove the COM libaries will loose us vital functionality only capable through .net

Does anyone have a better way to release and/or develop VB6 apps with .Net COM components?
Question by:Evolution-Recruitment
LVL 21

Accepted Solution

mastoo earned 1500 total points
ID: 36969080
I'm going to have to be vague on details as my COM days were long ago, but can't you version your vb com app?  For instance, this week you release MyVbApp.5 and then next week you release MyVbApp.6.  The calling app, which you release along with the vb app, needs to reference the specific version it is being released with.  By default, it is likely referencing MyVbApp and just getting the most recent one but you can change it to reference MyVbApp.6.  This lets you release and install the com stuff at your leisure and once it is in place you do the normal release on the calling app.  Along with this you would need to adhere to the rule that interfaces do not change.  If you need to change an interface, you do the microsoft thing and create a new MyInterfaceEx or similar.

Author Closing Comment

ID: 37050533

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This Micro Tutorial will teach you how to add a cinematic look to any film or video out there. There are very few simple steps that you will follow to do so. This will be demonstrated using Adobe Premiere Pro CS6.
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question