AppX has no custom actions.

I didn't plan to start my discussion about the new installation technology in Windows 8, AppX, with this topic. However, a quick scan through this morning's email from wix-users prompted me to start here.

Someone was having a problem getting their registry keys written during a patch. Someone else gave the advice that it's easiest to just use a custom action in the patch to change the values. That proposed solution goes against several best practices (that are probably not written down or not written down well).  Two off the top of my head:

  • Avoid custom actions at all cost, they decrease the stability of your installer.
  • Do not duplicate functionality provided by the installation engine with a custom action.

In the "reimagined" world of Windows 8 and Metro-style apps, Windows took the hard line and said:

...there are no custom actions during the install.

This basically removes any chance to insert failure from the outside of the AppX installation engine. It also means your application's setup requirements must be fully declarative. We'll talk about that more in the future.

Ultimately, custom actions are still an admission of failure and they don't exist in Window 8's Metro-style applications.

 

1 Comment

Comment by Matt Poland on Tuesday, February 07, 2012 11:55 AM

That was interesting. I wonder what life would be like without custom actions. Normally you might do an elevated install but expect non-privileged users to launch the app. Now if you have extra custom work to finalize the install, you have to do that as the app first launches. That means if those activities need to be privileged then you will need your first launch to be elevated but all subsequent launches won’t need to be. I’d love to hear Paul Harvey finish that story.

Leave a comment
optional