I am replacing a VB6 application with a rewritten counterpart in VB.Net.
In the VB6 app there was a 'control' application which presented a form to the user and allowed them to select a 'client' from a drop down list. Selecting a client caused the reading of an ini file which set client-specific parameters, including the program names of several dlls, which were also written in VB6 and registered on the subject machine.
For example, each 'client' had a different letter format, and the letter was written by the selected dll. This made everything late-bound, but there is only one user. Most of all, it made it convenient to continually update individual letters by updating only that dll, and dropping the dll on top of the old one. Thus the (clerical) user had only to be told to save this file to the usual folder. I could have compiled everything together in one exe, making my updates larger and more complex.
In re-doing this in VB.Net, how should I replace this sort of approach?
I could tie everything together in one big project (and compile it to an exe which is the large update I was avoiding). Should I just do that?
If I continue with the approach of having my client-specific (.net) dlls compiled separately, does this make sense in the .Net world? How do I call them? Do they need to be registered as they were before? Pros, cons?
What's the right way to do this and still give me the flexibility I had?