Application with multiple modules

I have an application that is really four different applications put together (e.g. A,B,C, and D).  I would like to redesign it so that my users can choose which of the four applications they want to use, or which "combinations" they want to use, but I don't want four different applications on their desktop.  In other words, if a user uses all of the apps, then he/she load A,B,C and D. If a user only uses B and D they load those. However, if that same user that only had B and D loaded now wants to upgrade and add C to the suite of applications, I would like for them to be able to pull "C" into the master application with B and D. -- Its kind of like applications that use Add-Ons. I would like any part of my app (A through D) to be able to be an Add-On in one master application.

What is the best way to do this? Would it be to create the master App like a MDI and then use DLLs for A through D?  Or is there a better way?

Thanks for the advice,
Who is Participating?
ToFroConnect With a Mentor Commented:
In that case I definetetly feel that the MDI solution is the best. The solution you described in your original question sounds pretty good. Have you tried making a simple application from that idea(MDI loading A,B,C and D from different dll files)?
If you don't like the concept of MDI, you could always design a "Main menu" application to launch the other applications. Make the Main menu a normal form, or perhaps an icon with a menu in the notification area.

It's really more about preference than good or bad solution. What do you think would work best for the end users, try consulting them.
Éric MoreauSenior .Net ConsultantCommented:
see the section titled "Loading child form from a different assembly" from
Mr_FulanoAuthor Commented:
Thanks for the input. Both solutions are good, but not exactly was I was looking for in my questions. So, allow me to restate the question in a different way.

Assume a client buys application D and uses it for 8 months. Then he decides he also needs the functionality of my "Master Applications Suite", that comes with applications A, B and C, but not D.  Now he has purchased both, the master application (A,B, and C), AND application D.

What I would like to do is have the master application suite bring in the application (D) that he's been using for the past 8 months and incorporate it all into the master application. Again, kind of like an Add-On. So, now once everything is combined, he only uses the master suite application, and has access to application D within that.

I think that "emoreau's" example is closest to what I need, but its quite dated and I would like something more in the VB.NET 2003 to 2005 arena if possible.

Hope that clarified my question.
Éric MoreauConnect With a Mentor Senior .Net ConsultantCommented:
>>I think that "emoreau's" example is closest to what I need, but its quite dated and I would like something more in the VB.NET 2003 to 2005 arena if possible.

it may be outdated (VB.Net 2002) but it is still working with newer release!
All Courses

From novice to tech pro — start learning today.