No pre-JIT For You

Aaron Stebner of Microsoft recently posted an article expounding on the virtues of Wix in regards to preJITing .NET assemblies at install time:

Prior to these WiX custom actions, it was relatively difficult and error prone to add NGEN to an MSI-based setup, but it is simple and straightforward now. I wanted to demonstrate just how easy it is to use the WiX NGEN custom actions to encourage setup developers to use WiX and the NGEN custom actions for managed assemblies.

In InstallShield, you simply select the component that has the assembly and change the “.NET Precompile Assembly” to Yes. I hardly see how it was difficult prior to WiX.

But the real question in my mind is why does WiX and InstallShield have to each roll their own Custom Action pattern to do something as common as pre-JITing assemblies?

The .NET framework has been around a VERY long time and I’m surprised to see that Windows Installer STILL does not have built-in standard action patterns for supporting this installation story. A common installation story that involves `relatively difficult and error prone` steps is the very problem that MSI is supposed to be solving.

For the record, Aaron pointed out this very shortcoming back in 2004 here. Microsoft has inexcusably dropped the ball, but now they get praise because WiX is here to save the day.

I’m sorry, but I call foul on this one.