Rob Mensching's Blog - page 33

Setup

Model View Presenter links

Some of you may be wondering why I went MIA for for about 8 weeks. Obviously, I got busy. There were two forces sucking up all my time over the last couple months.

Personal

The first day of the second year.

Yesterday was Jenny and my first wedding anniversary. It was Sunday so no work was needing done. We had few plans for the day. Only thing on the schedule was to exchange "paper" gifts (which we did in the morning) and go to dinner back at the Edgewater (which we did in the early evening). We finished the evening dancing in our living room to our first dance and other selected favorites.

Derek made a guest appearance tonight at the weekly WiX toolset coding night. It was fun having him around again. We all caught up on the things that have happened in the last year or so. At the end of the night (about 1 AM), I dropped him off at his hotel downtown and drove back home.

As I noted a few months ago, the Windows Installer is a declarative installation engine not a procedural installation engine. That means if you are going to extend the installation engine (which is what custom actions essentially do) then you should follow the same principles the engine follows. Namely, your custom action should read data out of a table and act based on those declarative instructions.

If you follow the world of the Windows Installer at all, I'm sure you have noticed that the Windows Installer 4.5 Beta was made available last week.

Jenny is out of town tonight so I've been catching up on my "concept reading". After grilling dinner (teriyaki chicken) and eating while skimming through the Ruby on Rails site I decided it was time to put something "fun" on the Media Center before continuing my MVC vs. MVP conceptual dive.

The title of this blog entry is a concept that I kept trying to sneak into one of my earlier posts on this "Zen and the Art of Custom Actions" thread. I finally gave up trying to make it a bullet point and now here we are. What convinced me that there was a full topic to be covered was when I realized I meant two things when I said "Custom actions are (generally/typically) an admission of failure."

Setup

Zataoca: Classes of Custom Actions

Continuing the Zen and the Art of Custom Actions thread, I thought I'd post a mostly formed thought. When I'm presented with the need to write a custom action I often mentally classify the work into one of three or so different buckets.