Windows Installer MSI custom UI question RRS feed

  • Question

  • Not having been able to find the correct forum for Windows Installer questions, I'm posting here. Please redirect me if there is a more appropriate forum.


    A key requirement of my project is that I have a Windows Installer .msi-based installation, with provisions for a silent install. However, there may be prerequisites that need to be installed via other .msi's before my package can be successfully installed. I know I could write a bootstrapper that installs the prerequisite packages, but then my users are forced to run the bootstrapper, and not just install the .msi or manually install the prerequisites (neither is an ideal option).


    From an .msi package, I would like to silently launch the installation of a second .msi package (i.e., "msiexec.exe foo.msi /qn"). Here's the tricky part: I want to have the progress for that child .msi process tracked in the parent .msi installation. I have not been able to determine if any of the commercial tools offer such a feature, and WiX is unclear as well.


    Is this even possible? If so, what are some possible techniques to use?

    Saturday, October 20, 2007 12:35 PM

All replies

  • You shouldn't be running the other msi's from the bootstrap, but you can embed (hide) your msi in the bootstrap. If you want to provide the install for the pre-req's then you should look at using merge modules, that why you don't see the launch external msi progress you're looking for.



    Saturday, October 20, 2007 11:18 PM
  • OK, I think I see your point, but isn't that exactly what a Visual Studio-created setup project does when you add prerequisite packages? As far as I can tell it creates a bootstrap setup.exe, which installs the prerequisite packages, then launches your custom .msi. This is my exact scenario, in that I may need to install redistributable .msi packages before installing my application.


    Rather than forcing my users to run a compiled setup.exe, I'd rather package up all of the setup into a single .msi, calling the prerequisite .msi installs only if necessary. I know I can spawn the prerequisite msi installs using custom actions, but I'd also like to provide the user with feedback that progress is happening during the prerequisite installs. I'm trying to find out if displaying a progress monitor for the prerequisite .msi installs within my custom .msi install is possible.

    Sunday, October 21, 2007 12:23 PM
  • To be honest I don't know the answer to your specific question, only that merge modules seem to provide the functionality you require. Personally I've setups monitor for the completion of another msi but not an embedded step-by-step progress. If you're serious about writing installers then I don't think you should restrict yourself to the Visual Studio tool, I found it fine for simply stuff but as soon as you want to do anything interesting then I'd move to WiX. A quick tip, if you find another setup that seems to do what you want, then use the ORCA tool on it and you maybe able to see how it is done.

    Sunday, October 21, 2007 10:28 PM
  • Hi, jimevan


    I also need the samething what you wanted.Did you get any way to solve? If so please help me.


    Actually ai have some prerequisites softwares(MSI's) to be installed along with my we setup msi. First i am copying all those msi's in to one folder. and then axtracting one by one and running them via process class(Start() method)).But its giving warning that 'Another installation is in progress.You must complete it before continuing this one..'.

    is there anyway to run child msi's along with another msi.?

    please help me in this regard,





    Thursday, November 1, 2007 6:21 AM
  • The answer is that Windows Installer does not currently support natively chaining .msi installations. Version 4.5 of the Windows Installer (currently in beta) is supposed to support that functionality in some way. I think I will be able to do what I want in a future version, but not in the current shipping one. I have put my project on hold until I can investigate the capabilities of the upcoming 4.5 release.

    Thursday, November 1, 2007 12:35 PM