Changing the file extension of WiX extensions from .dll to .wixext (Revisited)
In one of my last blog posts I wrote about how we would be changing the file extension of WiX extensions from .dll to .wixext. Well, it turns out that we won't be doing it for technical reasons.
A WiX extension is really just a .NET assembly with an embedded XSD and wixlib. While it's technically possible to rename a managed assembly from .dll to .wixext, it will add a limitation that we didn't want to enforce. If WixExtensionA.wixext had a runtime reference to WixExtensionB.wixext, then the runtime cannot find the file if it doesn't end in a .dll. I personally think that's a limitation that the .NET Framework did not need to impose, but I also do not know all of the details. I'm sure there was a good reason to impose that limitation. We also had some problems with Visual Studio not letting us add project references to other WixExtensions that didn't end in a .dll.
As a result, we will not be doing this change and the current behavior will remain.
Comments
Anonymous
March 03, 2008
PingBack from http://msdnrss.thecoderblogs.com/2008/03/03/changing-the-file-extension-of-wix-extensions-from-dll-to-wixext-revisited/Anonymous
March 04, 2008
Can't you use a double "dot" extension like "*.wixext.dll" ? DMAnonymous
March 04, 2008
That's a great idea. However, at that point, it's more of a convention than a file extension. The OS just looks at the last part (.dll) and will ignore the .wixext part. We won't get a lot of the benefits that I pointed out in my last blog. Right now we use the convention WixXExtension.dll where X is something like IIs, NetFx, Office, etc. which is essentially what you're proposing. If I'm missing something, though (which is entirely probable), please point it out! Thanks for posting.Anonymous
March 10, 2008
Hi Justin, Your Wix?Extension convention makes extension files look like this: WixIIsExtension.dll WixNetFxExtention.dll What I'm proposing is something like: IIs.wixext.dll NetFx.wixext.dll If I build myself a collection of extensions they could look like: MyDMTools.wixext.dll MyOtherTools.wixext.dll Another example, to search for all Wix Extensions you could use a syntax like this (sorry for my old DOS heritage): dir ?: *.wixext.dll /s A double dot extension may not be as useful as changing the .dll extension completely but it sure looks a lot more dicoverable to me. HTHAnonymous
March 20, 2008
The comment has been removed