More extensibilty on WIX targets is appreciated

Topics: General Questions
Apr 5, 2011 at 5:58 PM

First, Thanks for your time in making a nice framework. I was able to successfully implement this framework at my client. Everyone kind of liked it. For that I made few over-riddens to framework's targets (in project file not framework targets file), And few compromises, particularly in adding custom links in Menu. I couldn't add few extra menu items that my client wanted, so we left that idea for now.

Are you considering to update the framework to provide extensibility to WIX targets? Here are few things I am looking at right now...

 - I am against to change the framework files for custom menu items as we have one build server for several applications. Changing framework files screws up other applications. Also, any future updates to framework will loose the customization. If you can provide more extensibility to WIX ( i know right now this is in .js file) ie, moving wix xml-composition to targets with extensibility, we will have lot of flexibility in customizing the MSI.

 - Use of a property (something like InstallerFileName) for MSI name.

 - Setting File/Product Versions for assemblies (Alternatively I am changing the each project file before compile the solution)

 - Ability to set custom properties (like Version, Source, BuildServer) on MSI file. I don't know if that is possible with WIX. Right now I am using 'PackageComments' with concatenating all properties I need.

Apr 21, 2011 at 4:38 AM


Glad to hear that it's working for you!  I can certainly consider enhancements to the WiX build step for a future release.

I've looked at replacing the JavaScript WiX file generator a couple of times, but it has turned out to be quite a bit of effort.  I can get close with one of the built-in WiX tools, but discovered that I'd still need a separate post-processing step to get all the way there.  At that point it went on hold again.

A property for the output file name wouldn't be too difficult to add.  I haven't prioritized it because there are ways to work around it by renaming the generated file.

As for the file/product versions for the assemblies themselves, I don't see that as a Deployment Framework feature.  You need to do that by updating AssemblyInfo.cs before your build.  By the time the Deployment Framework comes into the picture, the assemblies are already complete and the versions set.  I have used MSBuild tasks to automatically update AssemblyInfo.cs on the fly during a build.

I'm sure it's possible to set all of those properties through WiX, it's just a matter of exposing them back to MSBuild properties in the project file.

Thanks for the suggestions!

Apr 21, 2011 at 4:38 AM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.