Why use Windows Installer XML (WiX) over VDPROJ?

It would take me hours to rant about everything I hate about VDPROJ. I won’t because in my (expert) opinion it’s already settled law that VDPROJ sucks. If your install is so simple that you haven’t noticed any problems, then be my guess and stick with it. But if you already find yourself fighting the tool trying to get it to do things it doesn’t do, then take my advice and dump it fast for WiX.

10 things I hate about VDPROJ

  1. No MSBuild Support. Sure, you can call devenv from the command
    line but it’s not as good.
  2. No exposing of the critical concept of
    a component. Every file/reg key is a keyfile of it’s own component.
  3. No effective way to fully exclude automatic dependency scanning.
  4. Shortcuts are always Advertised
  5. No way to describe a service.
  6. No way to describe many things which leads to overuse of custom
    actions.
  7. No way to fine control the scheduling / execution of
    custom actions. Too abstracted.
  8. Abstraction is wrong. Deferred
    CA’s are scheduled with Impersonation which breaks on Vista.
  9. Various limitations lead you down a path of massaging the built MSI
    during postbuild to get around all the limiations. Results in a
    very poor build automation hacks.
  10. Merge Module directory tables
    are authored incorrectly.
  11. 100 other things suck that I’m not
    remembering right now.

Leave a Comment