A hosting environment for writing interactive system utilities. #Development environment #Task runner #Run task #Development #Develop #Environment
MEF Utility Runner provides a hosting environment for writing interactive system utilities. When you write small utilities, there’s a certain amount of tedious repetitive work to get it up and going. Creating the main window, the tray icon (including the icon and context menu), and other common tasks just get in the way. In this article, I’ve created a reusable utility framework and will show you how to make use of it.
So what did I actually create for this article? We all know that using base classes is a great way to tie together closely-related objects. As a very practical example, a base window or control class lets you add functionality to something that already exists without reinventing the wheel, so to speak. Windows exposes a number of code execution models such as services, console apps, Sidebar gadgets, Windows forms, WPF, COM, and more. Each of these provides a certain amount of functionality that you don’t need to worry about, such as start/stop hooks for services, or the system message loop for Windows forms and WPF.
Having built a good number of small utilities over the years, I’ve definitely realized that I’m copying or rewriting too much code. What a waste! Since I always create a notification icon (shows up by the system clock), and I like to hide to tray on minimize, and remember window settings, I implement these in each project. I probably should have created a project template in Visual Studio as a shortcut, but this has a disadvantage. If I added a cool new feature to my framework, I’d need to recompile and rework the older apps to take advantage of it
The better solution was to create a “base application.” This would actually be its own application that exposes a notification icon and menu, and a main window. If you move the window, the location is saved. Individual utilities can then be added as plugins. I originally envisioned a framework able to host multiple applications, but that creates some interesting design challenges with visual apps. In the end, I settled on a reusable application which can host a single utility.
System requirements
What's new in MEF Utility Runner 2.0.0.0:
- The MEF Utility Runner has been updated for the second installment of the Coding 4 Fun article. In version 2, you can support multiple addins, there is an addin manager, a .util file extension for ease of installation, and even a Setup MSI file if you aren't interested in opening the source.
MEF Utility Runner 2.0.0.0
add to watchlist add to download basket send us an update REPORT- runs on:
- Windows All
- file size:
- 445 KB
- filename:
- UtilRunner-bin-v2.zip
- main category:
- Programming
- developer:
- visit homepage
IrfanView
Zoom Client
7-Zip
ShareX
Windows Sandbox Launcher
Context Menu Manager
Microsoft Teams
4k Video Downloader
calibre
Bitdefender Antivirus Free
- 4k Video Downloader
- calibre
- Bitdefender Antivirus Free
- IrfanView
- Zoom Client
- 7-Zip
- ShareX
- Windows Sandbox Launcher
- Context Menu Manager
- Microsoft Teams