I want create Wix installer to install, Client, Server or Both based on User selection.
My question is How can I r
Please consider the danger of installing multiple software with the same setup as explained in this stackoverflow answer before pursuing more complex setup logic.
For a product that isn't a "one time delivery" it is almost always better to split the setups for maintainability, quality assurance, localization and several conceptual and technical reasons. Especially server and client products that may have different upgrade schedules outright.
Perhaps also have a look at this question and look at using Wix's Burn launcher to write more intelligent launching logic, or your own EXE launcher.
Though your requirements look reasonably simple, it is almost hopeless to work with MSI's built in GUI if you have advanced requirements in my opinion. It is complicated, but not very flexible. Especially the lack of control with events and dialog updating is very frustrating.