WiX in Visual Studio

In my previous blog entry, I mentioned that Visual Studio was adopting the WiX toolset. Despite the fact that Derek was leaving, that post generated a bit of excitement. I even had a couple people contact me directly about the prospect that Visual Studio would be shipping WiX v3.

Unfortunately, when I said "the Visual Studio team approached the core WiX development team about replacing their custom MSI build system with the WiX toolset" I meant that Visual Studio would be using WiX to create the MSI file for Visual Studio. As far as I know, there are currently no plans to replace the "Setup Projects" (.vdproj) in Orcas with the WiX toolset. If they are, Visual Studio certainly haven't told me about it.

However, since a few people found the idea of replacing the .vdproj with WiX v3 so enticing, I'd like to do an informal poll. Please, leave a comment below if you have an opinion on whether Visual Studio should replace the current "Setup Projects" (.vdproj) with WiX v3. I'll be sure to point the guys I know on the Visual Studio team to the results.

Comments

  • Anonymous
    September 18, 2006
    Rip an replace. Do it.

  • Anonymous
    September 18, 2006
    Yes please - the current "Setup Projects" does not produce MSIs that are very easy to work with (speaking from a "deployers" point of view)

  • Anonymous
    September 18, 2006
    I would be very happy if a VS Setup project was a simple designer (like today) for a subset of the WiX functionality, just like C#/VB projects take advantage of a subset of MSBUILD. The big big problem with today's Setup project is that once you hit the limit of its capabilities, you must start from scratch with some other tool.
    I'm not interested in more features in VS Setup projects primarily, but the ability to tap into the full potential of the Installer platform by maybe editing some XML by hand when needed.
    Thanks for listening.

  • Anonymous
    September 18, 2006
    The comment has been removed

  • Anonymous
    September 18, 2006
    That is a great idea! I second that!

  • Anonymous
    September 18, 2006
    Absolutely.

  • Anonymous
    September 18, 2006
    Absolutely! the current setup projects cannot be automated  using MSBuild and are very hard to understand when something special is needed.

  • Anonymous
    September 18, 2006
    I agree with the folks above, WiX is more robust and produces more maintainable MSI files.

  • Anonymous
    September 18, 2006
    The comment has been removed

  • Anonymous
    September 18, 2006
    I think setups should be 'fixed' by changing them from vdproj to wixes... think of CI, setup debugging, etc.

  • Anonymous
    September 19, 2006
    I'm gonna be the first person to disagree with everyone.

    Just kidding. Wouldn't that be funny? Definitely add Wix support to Visual Studio. You could still keep the same type of basic setup project for quick and dirty setups, but maybe have it produce Wix under the covers. But the option to directly edit the scripts would be great.

    I would also like to see Wix integrated into msbuild with the .NET SDK too.

    Seems unanimous so far.

  • Anonymous
    September 19, 2006
    I'm in.

  • Anonymous
    September 19, 2006
    The comment has been removed

  • Anonymous
    September 19, 2006
    Yes, please!

  • Anonymous
    September 19, 2006
    Please replace it!

  • Anonymous
    September 19, 2006
    I would be very happy to see some sort of wix generation in VS, but I'm betting there are some people who are very happy to have setup projects. I think a combination would be better instead of ripping out one and adding another. Wix is kinda complex when you first look at it.

    So why not have both in there (you could even go from one to the other with some Guidance Automation...)

  • Anonymous
    September 19, 2006
    YES!
    Anyone who has to deal with creating large complex installations will find WiX a much better solution over other tools.

  • Anonymous
    September 19, 2006
    Yea.

    Considering the "X", WiX fits much more natural into the Visual Studio Environment, just like configuration files, schemas, or typed datasets which are all being "compiled", one way or the other.

    Just like here:
    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=114409

    Something along these lines would greatly help us reduce build process non-linearities.

  • Anonymous
    September 19, 2006
    I think it would be a great idea - then we could extend the Wix files generated by the setup designer when we got to the end of its capabilities.

  • Anonymous
    September 19, 2006
    The comment has been removed

  • Anonymous
    September 19, 2006
    The comment has been removed

  • Anonymous
    September 19, 2006
    You’ve got me vote!

  • Anonymous
    September 19, 2006
    +1 for replacing VDPROJ with WiX.

  • Anonymous
    September 19, 2006
    Hello,

    You may remember me as the disgruntled NAnt developer who co-authored the MSI task on that project that was frustrated when WiX was announced :).

    Since then I've used WiX on 2 projects, it's a great project - you guys have done a nice job.

    Yes, you have my vote - VS's project files for setup are horrid to extend and don't harness the full power of MSI. Making this be WiX files instead would be great!

  • Anonymous
    September 19, 2006
    Please, please add this to Visual Studio.  The setup project is very difficult to figure out.  WIX I love!

  • Anonymous
    September 19, 2006
    WiX has far more capability than the current Setup Projects.  I would whole heartedly welcome the replacement.  Even just having Votive pre-install with VS and leaving the deployment projects (for backwards compatibility) would be cool.

    BTW - I am working on a pseudo editor for WiX on Google Code entitled WiXed that I would have no problems with MS stealing as a "designer" for WiX in VS. (caveat - still in very early production)

  • Anonymous
    September 19, 2006
    do it!

  • Anonymous
    September 19, 2006
    The comment has been removed

  • Anonymous
    September 19, 2006
    I also agree.  WiX is much more maintainable once its up and going.  Please include WiX as the standard install authoring tool in Visual Studio.

  • Anonymous
    September 19, 2006
    Yes - please replace it.  

  • Anonymous
    September 19, 2006
    Yes

  • Anonymous
    September 19, 2006
    Do it!

    .msi is the future, and it should already have been the present. There's no reason not to.

  • Anonymous
    September 19, 2006
    Certainly. From an SE perspective, .vdproj outputs are difficult to service. You also can't do anything more advanced with them without modifying the reusltant MSI.

  • Anonymous
    September 19, 2006
    My vote is to replace it. WiX all the way!

  • Anonymous
    September 19, 2006
    Yes! Absolutely.

    This is a total non-brainer on VS team. I am sure there's plenty 'o work to be done and backwards compatibility issues.

    The current installer is so limited beyond just dumping an exe and some regs onto a system. However, you'll need to keep some kind of graphical/wizard for the text-impaired. WiX is scary initially. ;-)

  • Anonymous
    September 19, 2006
    Yes

  • Anonymous
    September 19, 2006
    Oh good lord yes.  Please.  

  • Anonymous
    September 19, 2006
    Yes, replace.. NOW! :)

  • Anonymous
    September 19, 2006
    Please please please replace it with WiX.  

  • Anonymous
    September 19, 2006
    I was once asked to look at a problem in the .vdproj because people knew that I did a lot of work with builds using WiX and NAnt.  Needless to say, the .vdproj did not make any sense to me ... it was needlessly complicated.

    Please replace it.

    +1 for WiX

  • Anonymous
    September 19, 2006
    vdproj projects produce MSIs that fail ICE validation. The minimum going forwards should be to resolve these sorts of issues.

    Personally in the Orcas timeframe I'd like to see vdproj's to be implemented using WiX with the opportunity to extend the WiX content at your own risk. Going forwards having UI support in Visual Studio for wider WiX functionality seems sensible.

  • Anonymous
    September 19, 2006
    +1 from me!

  • Anonymous
    September 19, 2006
    Given that in VS2005 you have to modify the merge modules just to get files to install to the correct location, I think it is time for the vdproj to go away.

  • Anonymous
    September 19, 2006
    Yes, please. Wix it...

  • Anonymous
    September 19, 2006
    This would be great but seldom dreams come true ;-)

  • Anonymous
    September 19, 2006
    The comment has been removed

  • Anonymous
    September 19, 2006
    Yeah, I'd like to see them using WiX too!

  • Anonymous
    September 19, 2006
    +1 Good idea.

  • Anonymous
    September 19, 2006
    That building .NET 2.0 applications is now opened up and accessible via MSBuild, it only makes sense to do the same with building installers for those applications in an open and accessible way, namely with the WiX toolkit. The Setup Projects (vdproj files), while text, are proprietary and not very accessible: either use them as-is, or use a different tool to create installers.

    Visual Studio Team, please consider using WiX for building installers rather than the old Setup Projects. Development resources will need to be expended on a Visual Studio feature to create installers anyway, so why not devote those resources to a noble and mature project like WiX. Doing so may even reduce the development resources needed for such a feature in future versions of Visual Studio.

  • Anonymous
    September 19, 2006
    It makes absolute sense to use the WiX xml format for the
    files that VS generates. VS can still provide the same limited capablility - or even less if you like - since this would create an easy migration path.

    As an interim solution, what about a program to generate WiX xml out of the vdproj file? Of course we already have dark, but a solution aimed at VS-generated projects directly would be able to make a number of assumptions that a more general solution could not make.

    Charlie

  • Anonymous
    September 19, 2006
    The comment has been removed

  • Anonymous
    September 19, 2006
    Yes! Wixify.

  • Anonymous
    September 19, 2006
    I'm actually alot closer to being an InstallShield fan-boy that a WiX supporter.  I like the concept of Wix fragments over merge modules.  The closest InstallShield has to this is DIM ( Developer Installation Manifests ) but they are platform agnostic and suffer the same lack of functionality that VDPROJ MSMs do.  

    What WiX lacks ( IMHO ) is a very mature IDE.  If WiX was to replace VDPROJ on the back end, and the front end was to contain alot more functionality like InstallShield, I could see myself going in this direction instead of InstallShield.

    And of course since my world mainly revolves around managed code, a very mature .NET MC CA support would be wonderful.

  • Anonymous
    September 19, 2006
    Chris,
    Check out wixedit. wixedit.sourceforge.net

  • Anonymous
    September 19, 2006
    VS is a tool for programmers, and from that perspective, current tool does not match well. It's graphical, but does not have much extensibility.
    Consider Windows Forms. VS allows me to use GUI, but once GUI is done, I can edit its source code to extend the functionalities.
    If VS uses WiX as its MSI generation engine, that'd give us the great flexibilities to us. I think someone in Borland said in public that he creates first MSI using VS, and then de-compile to WiX. That makes perfect sense.
    I assume that'd also give us the ability to build the SLN from msbuild, which is a big plus.

  • Anonymous
    September 19, 2006
    Yes, that would be wonderful.

  • Anonymous
    September 19, 2006
    The comment has been removed

  • Anonymous
    September 19, 2006
    Replace it!

  • Anonymous
    September 19, 2006
    Yes, use it.

  • Anonymous
    September 19, 2006
    Yes. VDPROJ has too many limitations and known, unfixed bugs.

  • Anonymous
    September 20, 2006
    Many users are not quite happy with Setup & Deployment projects in Visual Studio today. And indeed

  • Anonymous
    September 20, 2006
    Yes, please integrate WiX into Visual Studio as an MSBuild-friendly replacement for the existing installation projects.

  • Anonymous
    September 20, 2006
    Please, please, please YES!

  • Anonymous
    September 20, 2006
    The comment has been removed

  • Anonymous
    September 20, 2006
    The comment has been removed

  • Anonymous
    September 20, 2006
    Yes, replace it, vdproj >> WiX v3

  • Anonymous
    September 20, 2006
    Yes, replace the setup deployment projects with the wix project.

  • Anonymous
    September 20, 2006
    It would make a lot of sense to replace the setup project files in visual studio with a WiX based solution.

  • Anonymous
    September 20, 2006
    Y

  • Anonymous
    September 21, 2006

    I'd be very happy to see WiX replace the current vdpro.  Having used it in all versions of VS.Net I find it not suitable for larger projects.  Single projects are ok.  Multi-layer projects are not creatable/maintainable with this tool.  I have many issues but here’s a most limiting list:

    1) More on #2 listed by Colby,  I found this harsh.  Change the version and all your excludes vanish in your automated build causing it to halt due to an include for an OS file even though it knows enough to tell you it should be excluded, and it put it in the first place.
    2) No feature support.
    3) Not an enterprise product level installer (IMHO), If your designing a multi-layer system it’s not easy to design the deployment stage.  The support for multi-layer development in VS supports all but the last step in the process, deployment.
    4) No preset ability for Branding.  While it may be minor to some, designing installers for a team and making sure each time marketing rebrands something all installers change means a lot of IDE work or a 3rd party/External (ORCA)  tool.
    5) Multiple web app installers, again limitations in doing this in a user friendly clean manner.

  • Anonymous
    September 21, 2006
    Another ++ for replacing VDPROJ's with WiX

  • Anonymous
    September 21, 2006
    Replacing VDPROJ files with WiX makes sense on so many levels.... do it, do it!

  • Anonymous
    September 22, 2006
    IMHO, the problem with VDPROJ isn't simply what it can't do, but the fact that it feeds a setup is xcopy, configuration is roll your own everything philosphy to .Net developers.  All over the web you'll see VB/C# developers expound the virtues of Installer Class custom actions and the use of managed code to do everything from set an environment variable to create a service.   Things that are built into WindowsInstaller but not exposed to them in their world of VDPROJ.

  • Anonymous
    September 22, 2006
    Yes, please! Replace that horrible beast with WiX...

  • Anonymous
    September 23, 2006
    Definitely.  The vdproj projects I've worked on have been very  difficult to work with.

    I converted one to WiX and I could do so much more with it.

  • Anonymous
    September 23, 2006
    Just in case you aren't sure what the results of your "informal poll" are, count me as yet another vote for wix.

    I think visual studio has done an excellent job simplifying complicated code or XML with a variety of designers.  We are told that Orcas will have a lot more designers for WCF, WPF, and WWF.  It seems that by now you ought to have the "designer over xml" story pretty well cookeed.  How about a designer over Wix!!  

  • Anonymous
    September 24, 2006
    Is there anybody who loves Visual Studio Setup projects?

    Nope!

    I start wondering what customer scenario gave us the vdproj projects, and if that customer is still doing any business.

    I was surprised that nothing changed for setup/deployment in vs2005, do not surprise me again!

  • Anonymous
    September 24, 2006
    +1 fir WiX

  • Anonymous
    September 24, 2006
    Given that you probably have a loyal following of WiX users reading your blog, I doubt you'll find a lot of vdproj fans to balance out the WiX cheering section, but I still think this is a good idea.

    It does force the issue of a good GUI for WiX though (although perhaps the current GUI could be adopted).  That is the one compelling feature of vbproj now (although I'm not sure I'd call that GUI compelling...).

    Having something that was capable of authoring "real" setup projects without running out of runway and having a reasonable format that can be integrated into a build process are the two big wins here.

  • Anonymous
    September 24, 2006
    A replacement for the setup projects would be great! As

    a) I wish to be able to do a COMPETE build without having MSDEV installed on the build server.

    b) I with to be able to diff versions of a “setup project” and ONLY see what I have changed, e.g. check that I have not made a change I did not want.

    c) I wish to be able to use the full power of MSI without having to start again if a “setup project” proves not to be powerful enough.

    A new “setup project” system based on WiX that gave me the above would make me very happy.  I do not expect the new “setup project” system to give me the full power of WiX, after all I want it to be easy to use.

  • Anonymous
    September 25, 2006
    You have my vote too.

  • Anonymous
    September 26, 2006
    The comment has been removed

  • Anonymous
    September 26, 2006
    Yes, please. I think the ability to create .msi files using MSBuild would be very valuable in a continuous integration scenario.

  • Anonymous
    September 27, 2006
    Yes!! vdproj are too basic and can't be build using msbuild - why make half-steps and make everything but deployment work with msbuild??

  • Anonymous
    September 27, 2006
    Rob:

    I think that either a move to WiX as a basis for the setup projects or an option would be a -great- enhancement to the Visual Studio suite.  We discontinued use of the standard VDPROJ project for our releases when we started encountering the limitations of the project.  

    Unfortunately, today, there was not a very good path to move from the standard VDPROJ to the WiX model.  We did what most would do using DARK to reverse engineer the output of the VDPROJ as the starting point for our WXS.  

    I agree that doing this would highlight a more GUI-based extension for the toolset than exists today.  

    If the responses are a real measure, it sounds like Justin should have alot of volunteers helping with the WiX - VS integration efforts.  8)

    David

  • Anonymous
    October 01, 2006
    Yes, by all means replace the .vdproj with WiX v3.

  • Anonymous
    October 01, 2006
    Yes, please try to persuade the VS team to change vdproj to WiX

  • Anonymous
    October 01, 2006
    Most definitely. The current .vdproj format is ghastly to work with and - as other posters have commented - once you run up against its limits you have no choice other than to start from scratch with another too.That's precisely the situation we're in right now. Ugh.

  • Anonymous
    October 02, 2006
    Replacing vdproj with wix would be a big step forward.The vdproj project is most definitely not a professional level tool.

  • Anonymous
    October 03, 2006
    Yes, please change VS setup project to something more flexible.

  • Anonymous
    October 04, 2006
    It would be also be really nice if the vdproj replacement WiX authoring tool for Visual Studio was released as open source and backwards compatible as an add-in for VS2003 and VS2005.

  • Anonymous
    October 04, 2006
    Christopher, that Open Source backwards compatible add-in for VS2003 and VS2005 is called Votive 2.

  • Anonymous
    October 04, 2006
    While it meets part of the definition of what I said ( an open source add-in for 2003/2005 ) it certainly meet the definition of a replacement for vdproj....

  • Anonymous
    October 04, 2006
    The comment has been removed

  • Anonymous
    October 04, 2006
    +1000000 for replacing vdproj. Even MSBuild doesn't support it. Replace vdproj!

  • Anonymous
    October 05, 2006
    The comment has been removed

  • Anonymous
    October 05, 2006
    Hesheng, the correct place to ask general WiX questions is on wix-users@lists.sourceforge.net.

  • Anonymous
    October 05, 2006
    Tonight I traveled to Anthony's Beach Cafe in Edmonds, WA to have dinner with Charlie Poole . Charlie

  • Anonymous
    October 05, 2006
    Yes please. The vdproj stuff is far below par.

  • Anonymous
    October 09, 2006
    Two words: DOG FOOD.+1 for WiX in VS.NET.

  • Anonymous
    October 19, 2006
    replaceVdproj += 1 Please, please... :-)

  • Anonymous
    October 23, 2006
    WiX editor in Visual Studio, please!

  • Anonymous
    October 24, 2006
    Rob Mensching discusses replacing the Deployment Projects in Visual Studio with WiX. If you like the

  • Anonymous
    October 24, 2006
    Please, anything openly configurable and extensible like WIX would be an improvement over the currrent toolset.

  • Anonymous
    October 26, 2006
    rip it, burn the ground and replace everything with wix.

  • Anonymous
    October 31, 2006
    Let's toss Vdproj to the dogs, and get wix into the house

  • Anonymous
    November 01, 2006
    Yes please replace it or at least fix some of its shortcomings.  The fact that you have to use devenv.com to build vdproj files is annoying to say the very least and an unreasonable requirement for a build machine.  I would expect to use msbuild or something else IN THE SDK to build a vdproj file.  Furthermore, the way that vdproj creates its shortcuts truly needs fixing.  A shortcut created by the vdproj should be the SAME as one that I create by hand.  It should NOT be tied to the setup project itself so that the setup project gets launched.  I've seen this behavior many times and the files that the shortcuts are pointed at have NOT been tampered with.  This behavior has confused our installers so much that I stopped creating shortcuts with vdproj and now create them programmatically.

  • Anonymous
    November 04, 2006
    The comment has been removed

  • Anonymous
    November 10, 2006
    My vote also goes to turfing vdproj and folding Wix into VS.Net

  • Anonymous
    November 20, 2006
    +1 for WiX replacing Vdproj but please try to do it so that MSBuild can build solutions with these WiX projects.  The two need to play together nicely.

  • Anonymous
    November 20, 2006
    Replace it :) But please leave automatic project output integration and some patterns for UI