Category Archives: documentation

Aero.Wizard and Aero.Controls code pack released

I’m pleased to announce the first stage of my roadmap to fully open Default Programs Editor with the release of Aero.Wizard and Aero.Controls.

What are Aero.Wizard and Aero.Controls?

Aero.Wizard is an WinForms implementation of an Aero Wizard Dialog. Aero.Controls is a package of a half dozen WinForms controls, intended for use with an Aero Wizard Dialog. These are some of the components I wrote for the creation of Default Programs Editor 2.0 with the revised user interface, and I’m now freely releasing them to the public.


Aero Wizard Info Screenshot

Aero.Wizard Info Screenshot

Aero.Wizard Features:

  • History/Navigation handled automatically
  • Page contents are children of separate container controls, which can be created in design time like a regular Windows form
  • Glass title area degrades gracefully when running a theme without glass, or on XP
  • Blank Wizard Page template included
  • Use with Aero.Controls pack to make Windows UX Guidelines compatible user interfaces


Aero.Controls Info Screenshot

Aero.Controls Info Screenshot

Aero.Controls Includes:

Both of these projects strive to adhere to the Windows User Experience Guidelines, freely available documentation from Microsoft which provided the basis for the DPE 2.0 restructuring.


I debated for some time on this issue, trying to figure out a permissive license where I could retain some amount of ownership without being overbearing. I settled on BSD, which in my opinion is very permissive and seems to be low-friction for other developers to use this code in their projects.


Both projects are hosted on Bitbucket (Mercurial) and you can either clone the repositories, or download the latest revision as a zip file. I encourage anyone to contribute bug fixes or report issues on each project’s public issue ticketing system.

Aero.Wizard on Bitbucket

Aero.Controls on Bitbucket

What’s next?

With the release of this code pack, my plan for fully releasing Default Programs Editor is underway. It is now possible to fully replicate the UI with this release. The next step is for me to continue refining and documenting the base file association library the project is built on, then release that as well as the UI logic for the program itself. Be looking for that in the next few months.

Feature Focus: How to disable the “Windows cannot open this file” dialog box

If you’ve ever clicked on some file in Windows and seen this dialog box, you know what I’m talking about:


The web service is completely useless, and most of the time you already know what program you want to use to open the file. Luckily, it is easy to disable this dialog box with Default Programs Editor (download). Simply launch the program, and click on the Options button:


Options button

Then, click the button that says

Disable 'Search web for unknown extension' Dialog Box
Disable 'Search web for unknown extension' Dialog Box

Disable 'Search web for unknown extension' Dialog Box

And that’s it!

Now, when you try to open a file with an unknown extension, Windows will skip the unknown extension dialog and display the “Open With…” window to choose a program.

Default Programs Editor 1.2 update

Version 1.2

  • Fixed a critical bug that caused an immediate crash on Vista x64.
  • Added automatic online error reporting (can be disabled in Advanced Configuration).
  • Added a friendly error dialog when the program crashes, replacing the generic .Net one.
  • A couple of minor UI adjustments.
Default Programs Editor- Error Dialog

Default Programs Editor- Error Dialog

What information does the crash report have?
OS version, last executed method from a logging functions, and a stack trace. No personal identifying information. Each crash dump is saved to C:\Users\<user>\AppData\Local\\Default Programs Editor\<version>\ , which is also where the advanced.config file is saved.

64 bit

The x64 bug was quite odd. I was initially debugging on a vanialla rtm install, and the program worked fine. It wasn’t until I installed hotfix KB932471, an update for .Net 3.0, that it successfully crashed. I’m not sure exactly what changed in the framework to make it start crashing, but the bug was a relatively simple fix.