In my last post, I listed differences between the Basic MSI and InstallScript project types, so that people would have a reference when they don't know which project to use. However, I forgot something.
Besides Basic MSI and InstallScript, there is also the InstallScript MSI project, and I should have mentioned that one too.
InstallScript MSI projects use both the Windows Installer and InstallScript engines to drive the installation. I have always looked at this as a middle ground between Basic MSI and InstallScript projects. It has characteristics of both of these project types. So, what are the benefits of using InstallScript MSI?
You will want to use the InstallScript MSI project for any of the following reasons:
You want to meet the Certfied for Windows Vista logo requirements.
You have advanced requirements for the user interface elements (dialogs) and want to use InstallScript for these requirements, because you find it easier.
You would rather use InstallScript because it's a procedural language, rather than use Basic MSI which is basically a set of tables.
You want to perform actions before or after the main installation is run. This is easy to do in InstallScript, because you have access to the various event handlers in the installation.
You want to ugprade an exising InstallScript MSI project.
Now, I have been told by people who have attended live InstallShield training classes, that the instructors encouraged them to use either Basic MSI or InstallScript, but not InstallScript MSI. If that's true, it's interesting, since they still provide InstallScript MSI as one of the project types. Personally, I have never used the InstallScript MSI project. In my mind it's sort of a kluge. Either use Basic MSI or InstallScript, why choose the middle one? Well, that is my bias, so don't be discouraged on my account.
Hopefully, this has given you some insight on the the InstallScript MSI project type.