Suite/Advanced UI multiple packages

342 Views Asked by At

I have in my company many MSI installers that I want to unified them into a single MSI.

I understand Suite/Advanced UI project may fit that requirement. I created a project, added 2 different packages and assign them features.

I want to view the features that each MSI has, maybe load it's dialog to the Suite project but I can't find a way to do that but only built a new dialog which will save properties and pass them to the sub MSI's.

If that is the only then what is the purpose of Suite project, I cant do that in a standard MSI or some C# code to run all my MSI's

Am I wrong?

1

There are 1 best solutions below

0
On

There are multiple pieces to this question, so I'm going to answer them at a high level. That should help you figure out what you want more detail on so you can ask it in a new question.

It's possible to associate Suite/Advanced UI features with MSI features, but I don't really recommend it. There are a lot of caveats to the approach in that blog post. We've found that it typically works better to design your MSIs to be feature-level items, so that the entirety of any given MSI that is part of a Suite is either installed or skipped.

You are correct that is is not possible to dynamically explore the features of the MSI package. You can create pages with controls that reference Suite properties or features, but you're still back to the caveats of the above post.

The Suite/Advanced UI project is designed to unify the UI experience of installing multiple packages, whether carried locally or downloaded on demand. If they are all MSI packages, and you are willing to require Windows Installer 4.5, it can install them using transaction processing. You are absolutely correct that you could write your own bootstrap to do this, or to just script installing several MSI packages in a row, but doing so requires the usual trade-offs. (It may give a better fit, but it will likely take a lot more work if you want to replicate all the features already provided.)