Alek Davis
Alek Davis

Reputation: 10752

What are limitations of WiX and WiX Toolset?

I have been unsuccessfully trying to find an article or post listing functional limitations of WiX (Windows Installer XML)/WiX Toolset. After using WiX for a couple of weeks, I can think of at least two limitations in the most recent RTM version (v3.0):

Can you think of other limitations? Something you ran into while working on a deployment project? I think this info could be handy for people who learn WiX.

Upvotes: 19

Views: 5385

Answers (3)

js2010
js2010

Reputation: 27516

If this is the python installer:

  1. The "all users" install doesn't register the main program in the HKLM or machine uninstall part of the registry. This would be less seemless for VS Code.

  2. It's an unmanaged application, so windows server will report error "0x080070659 - This installation is forbidden by system policy. Contact your system administrator." if a regular user tries to run it (DisableMSI is 1 by default)

  3. Since the installer is "current user" in all cases and 32-bit, the uninstaller ends up under the 32-bit System user profile, "C:\Windows\syswow64\config\systemprofile\AppData\Local".

Upvotes: 0

Christopher Painter
Christopher Painter

Reputation: 55601

It's easiest for me to answer this question in terms of what is WiX missing that InstallShield has ( feature gap ).

  • Bootstrapper/Chainer - WiX has a bootstrapper called Burn which is now included in WiX v3.6.
  • XML Read - WiX only has CA's for writing not reading ( AppSearch ) XML files
  • Text Search / Replace - InstallShield has patterns for reading/writing non INI/XML files
  • MSSQL Only - No support for Oracle and MySQL
  • Automation Interface - No DOM for programatically updating/generating projects. Have to do it all with raw XML.
  • No Native IIS 7 support - Native IIS7 support is present from WiX v3.5
  • Mostly Text Only toolset. No GUI Designers for heavy lifting ( see IsWiX ). XML is concise and has it's place but it's like comparing Notepad to Blend.

I've used heat to extract COM fairly successfully so that's no longer a concern to me.

Upvotes: 21

Yan Sklyarenko
Yan Sklyarenko

Reputation: 32270

I would add several more points, but these can hardly be called serious limitations since they all can be worked around:

  • There's no ready-made tool to embed transforms (MST) into the MSI package; this is where msidb.exe comes to the rescue
  • You have to do extra work to create a single package with a number of localizations, like creating N packages, generate N language transforms against a neutral package, embed those transforms into the package, instruct your bootstrapper to call correct language transform
  • WiX 3.0 has rather limited IIS extension - it supports IIS 7 only in IIS 6 compatibility mode; but fortunately this is no longer true for WiX 3.5
  • Heat can't generate "1 component - N files" by default. Yeah, I know, it's not recommended, but sometimes you need it; fortunately, you can transform the heat output the way you like with XSL
  • PermissionEx of UtilExtension doesn't have a switch to set ACLs on folders only. If you need to set ACLs to your installed files only, this is quite minor. But I had to patch WiX with a quick fix to be able to say "apply these permissions to folders only" on existing file system tree

Again, let me repeat that I don't consider those serious limitations. I'm very happy with what Rob and the team have done so far, and they are on a right track! :)

Upvotes: 12

Related Questions