views:

846

answers:

1

In your opinion, are MSDeploy packages a good option for giving to an end user to install a webapplication on their system. How does it compare with, say, the experience of using an MSI file to install a web app?

Has anybody tried wrapping up an MSDeploy package inside an MSI package? Would it work?

+3  A: 

MSDeploy was described to me as a tool that helps synchronize web sites between machines, much in the way that AppCenter used to replicate a well configured master to many machines. The Windows Installer (MSI + WiX CustomActions for IIS and SQL config) is about applying packages to a machine that modify state in a transaction. It follows the more traditional packaged software model.

Those are two different approaches to the problem of configuring machines. Each is optimized around a different set of requirements. MSDeploy = replicating machine state. MSI = apply changes in transaction.

Could you throw MSDeploy into an MSI? Probably. Would it work well? Maybe, if you ignore the part about transaction. That in my mind is the key difference. In environments where you want to declare the configuration you want distributed and have it either apply fully or not apply at all (i.e. don't end up in an intermediate/busted state) then package based installation seems appropriate.

If you have a machine that you configured just right and want to make a bunch of machines look like it (and are willing to take a failed machine out of rotation and repeat the process until it is beaten into submission) then MSDeploy seems appropriate.

There isn't enough information in your question to suggest which works better... but I don't think they go together. <smile/>

Rob Mensching
Rob, Nice to have an answer from Mr WiX himself! WiX would be my primary choice for deploying websites at the moment, but we're going to need to support IIS7. And I believe you're on record as saying that's going to take several months work, with no one having started it yet. What would you do?
Samuel Jack
I would turn on the "Legacy Metabase SomethingOrOther" feature in the IIS7 install and use the WiX toolset. <smile/> also, I hear there is working going on for native IIS7 support but haven't confirmed it nor what timeline it is on (if it is real).
Rob Mensching