Temitayo
Temitayo

Reputation: 812

WPF Application Update Best Practices - Architectural Explanation

This question is not only applicable to WPF but other programming language as well but I will for my sake and other ask the experts in the house for professional advice.

I am starting an desktop application in WPF c# and the application modules is subjected to updates practically everyday.

Taking WPF C# as a case study, can anyone just give an architectural explanation on designing such application.

Take for example, the application can perform accounting, auditing and so on. the main window UI and other UI and all application logic in the application is subjected to change based on daily update.

The update task should be performed in the background and will startup when the computer starts. The update must not interfere with the program when the user is making use of it but update installation should be performed when the application is not running or prompt the user about it.

I will appreciate contributions from experts in the house.

Thanks

Upvotes: 0

Views: 1219

Answers (1)

Jammer
Jammer

Reputation: 10208

What you are describing here is a good fit for looking into using MEF.

Manage Extensibility Framework will allow you to make use of non-statically referenced library files that adhere to a standard interface that you define. Since they are not statically referenced you can replace these library files within an installed application without the need for recompiling the rest of the application.

In these terms any "replaceable" logic should be placed within these MEF'd libraries and treated like plugins. That way you can updating them whenever required.

As for handling the detection and download of new version of plugins that will be something you have to roll on your own.

Upvotes: 2

Related Questions