I've not done this in WiX, I used InstallShield. WiX seems to have everything you'd need to do what I described except for chaining prereqs. You'll have to wait for WiX 3.5 and Burn to do that.
For the database stuff, I've done it both ways. At a previous company I wrote 35 micropackage installs for an SOA system. About 10 of those packages deployed a datalayer. Because of SOA / single responsibility prinicipals, each database was somewhat simple rather then trying to manage one huge monolithic database. I abstracted the authoring in such a way that a team of 5 dba's could author the SQL scripts and get them consumed by the installer. At another company the database was done out of process and was considered a prereq to the application layer installer. I had some custom dialogs that got the connection information, a custom action to validate the database and some xml writes to configure the main webservice.config to point to the datalayer. Some would argue that even this shouldn't be in setup. It could have been a configuration page in the website itself. This probably would have been a good thing only development couldn't be bothered to take the time to write it. So I guess what I'm saying is there are many ways to do this and you'll just have to find what works for you and your users. Christopher Painter, Author of Deployment Engineering Blog Have a hot tip, know a secret or read a really good thread that deserves attention? E-Mail Me --- On Tue, 6/16/09, Kai Chung Lui <kaich...@gmail.com> wrote: > From: Kai Chung Lui <kaich...@gmail.com> > Subject: Re: [WiX-users] How much of a web application deployment process > should be packaged in a WiX MSI? > To: chr...@deploymentengineering.com, "General discussion for Windows > Installer XML toolset." <wix-users@lists.sourceforge.net> > Date: Tuesday, June 16, 2009, 12:13 AM > Hi Christopher, > > Thanks a lot for your detailed reply. > > From your experiences with web applications that have > everything contained in a package, do they use WiX to author > the MSI? If so, did you encounter any difficulties with > authoring the database deployment portions? > > > For me, the biggest attraction of building a WiX MSI > for a web app is the possibility of shipping and managing > patches instead of delivering an entire MSI and some SQL > scripts for reinstallation. Another attraction is the nice > experience of an essential one-step deployment. > > > However, from what I've read, it doesn't seem > easy to deploy databases robustly with an MSI and MSPs. In > fact, a reference case I have is Office SharePoint - its > installer only installs the bits, and a separate > configuration wizard is used to set up the databases. > > > Kind regards, > Anthony > > > On Tue, Jun 16, 2009 at 10:25 AM, > Christopher Painter <chr...@deploymentengineering.com> > wrote: > > > > Here are my thoughts. > > Many in the web world seem to think that websites are > "published". I.E. you jump through a bunch of > manual steps to get the base foundation deployed and from > their you just sync out your content. For many in house > enterprise applications, this probably works fine for them > as the ROI might be small when comparing the deployment > development effort vs the number of pain points they are > currently experiencing. > > > I've also worked at places where the web application > needs to be shrinkwrapped as a product. In these cases > I've gone full blown with packages that deploy prereq > packages via a bootstrapper, support multiple instance > installations, build up and upgrade their SQL layers and > manage all of the IIS metabase applications, tweak needed > XML files to point to the datalayer, configure background > windows services and even setup application event log > sources. Basically n-Tier SOA / SaaS. > > > It can be done, but it does take a lot of effort. > Products like Microsoft Team Foundation Server need this > type of story so I guess in the end, it's up to you. > > Eric Hexter recently did an Austin Code Camp session on > this topic but I wasn't able to attend. I'm also > not sure how deep he dives since 1) he's not known to be > a setup expert and 2) his description is somewhat > conflicting in that he says he gets in to where to stop and > yet also says it can all be automated. Maybe you could > contact him and see what his materials and thoughts were. > > > "Session Abstract: Build and Deployment automation are > a cornerstone of enabling other great development practices. > It seems hard to get your head around what to tackle first > and where to stop with your automation. Learn and see > examples of automating everything from deploying your > production applications to setting up new development > servers. It can all be automated and I will show you how. > " > > > > http://www.adnug.org/AustinCodeCamp09/sessions/Project%20Automation%20-%20Learn%20about%20Build%20and%20Deployment%20Automation > > > > --- On Mon, 6/15/09, Kai Chung Lui <kaich...@gmail.com> > wrote: > > > From: Kai Chung Lui <kaich...@gmail.com> > > > Subject: Re: [WiX-users] How much of a web application > deployment process should be packaged in a WiX MSI? > > To: wix-users@lists.sourceforge.net > > > Date: Monday, June 15, 2009, 7:26 PM > > > > > [Reposting to see if I can get some > > response] > > > > Is it good practice to package the following logics in > an > > MSI using WiX? > > (Let's say I can assume that the MSI will always > be > > > installed on a freshly > > set-up server OS and that server environment can be > > controlled.) > > > > Install and configure SQL databases > > > > - I see that there's support in WiX to > > > run SQL scripts. However, for the > > "uninstall" scenario, do I have to > > produce a set of complementary scripts to > > undo the original SQL scripts? > > > > > > - Similarly, if I am to create an MSP for > > > adding a row in a database > > table, I need to make sure the MSP will > > remove this record on uninstall, > > even though it might no longer be there. > > > > Share folders and configure file/folder permissions: > are > > > there native > > support in WiX to do so or do I have to write custom > > actions? > > Configure IIS: is it easy to configure IIS through WiX > MSI, > > such as setting > > up a site/virtual directory, configuring SSL and > Windows > > > authentication, > > etc? > > Deploy Reporting Services reports and report > models. > > It's easy to script > > them via SOAP API, but I know that it's evil to > use script > > custom actions. > > > Thanks, > > Anthony > > > > > > On Sat, Jun 13, 2009 at 1:00 AM, Kai Chung Lui <kaich...@gmail.com> > > wrote: > > > > > Hi all, > > > > > > > I'm reviewing the design of one of my > clients' web > > application. One thing > > > in their system that stood out was a very long > > document that explains every > > > manual step of setting up their web app on a > clean > > > server. They currently > > > have an MSI for the web app built using a VS > > deployment project, plus a lot > > > of other batch scripts for installing SQL > databases, > > creating shared > > > folders, configuring file/folder permissions, > > > etc. I'm thinking if things > > > can become cleaner and more centralized by > building > > one MSI that handles > > > everything. Then later, they can build > > uninstallable MSPs to service their > > > > applications instead of sending their customers > some > > zip archives with > > > updated scripts and DLLs. Since WiX exposes a > > lot of the power in MSI, I'm > > > thinking that WiX might allow such an all-in-one > > > installer to be built. > > > > > > However, the more I think about it, the more I > wonder > > if that's the right > > > approach. Is it really good practices for a > > WiX-authored MSI to do the > > > > following? > > > > > > - Install and configure SQL databases: I > > see that there's support in > > > WiX to run SQL scripts. However, I > > don't fully understand how to handle the > > > > "uninstall" scenario - I have to > produce > > a set of complementary scripts to > > > undo the original SQL scripts, right? > > > Similarly, if I am to create an MSP for > > adding a row in a database > > > > table, I need to make sure the MSP will > > remove this record on uninstall, > > > even though it might no longer be there. > > > - Share folders and configure file/folder > > permissions: are there native > > > > support in WiX to do so or do I have to > > write custom actions? > > > - Configure IIS: is it easy to configure > > IIS through WiX MSI, such as > > > setting up a site/virtual directory, > > > configuring SSL and Windows > > > authentication, etc? > > > - Deploy SQL Server related material such > > as Reporting Services reports > > > and report models. It's easy to > > > script them, but I know that it's evil to > > > use script custom actions. > > > > > > I'm new in WiX so my apology if the questions > above > > sound stupid. I just > > > want to see if there's something I can/should > do to > > > improve my client's > > > set-up story. Thanks a lot for reading my > > message! > > > > > > Kind regards, > > > Anthony > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > Crystal Reports - New Free Runtime and 30 Day Trial > > Check out the new simplified licensing option that > enables > > unlimited > > royalty-free distribution of the report engine for > > externally facing > > > server and web deployment. > > http://p.sf.net/sfu/businessobjects > > _______________________________________________ > > WiX-users mailing list > > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables > unlimited > > royalty-free distribution of the report engine for > externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > _______________________________________________ > > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users