Handling new library functions in old applications

We are working on a new version of the library that contains some user interface elements that are used by other applications. Some of these controls have new features that older apps don't know about. We will disable new features by default, but there are special applications for which we would like to enable them. The applications are likely to exist on the same machine.

How would you recommend implementing this?

Update: The best solution I've come up with is using Process.GetCurrentProcess () and using something like proc.MainModule.FileVersionInfo.InternalName to find the registry key that defines the override value. You might also look at the version number to check if it is too old to learn about new features. Are there any problems with this method?

Update: The added functionality is encapsulated inside the control, it just makes sense in some contexts and not others.

0


a source to share


1 answer


I don't think you can. You won't be able to change the interface for old apps, and you won't be able to receive or return any new data. Thus, new controls will have to behave in older applications just like the old controls. Now, if you have behavior in new controls that are completely encapsulated within the control (like pinning or minimizing or something), these functionality will probably work in your old applications. You can handle nuts and bots to force older applications to use new controls, assuming they are heavily named, and in the GAC using Publisher Policies .



0


a source







All Articles