by CandiceJones » Wed Feb 11, 2009 2:09 pm
Good questions, Peter.
Think of MSI tables as assembly language (indeed, they are that difficult).
Think of InstallShield as an MSI editor (an IDE for assembly programming) with a few bells and whistles on top (such as the ability to run custom InstallScript, and visually render part of assembly code).
Now enter InstallAware.
Think of InstallAware as a high level programming language (such as C++), featuring a script called MSIcode which automatically gets compiled into assembly code at build time (MSI tables).
This is exactly what happens - your MSIcode script is parsed and built into an MSI database at build time.
So there you have it. The difference is like night and day. InstallAware is both more powerful and easier than InstallShield in real world usage.
As for MSI sequences...since InstallAware is an MSI compiler, naturally, MSI packages created by InstallAware also have sequences, just like those generated by InstallShield. The difference is in the abstraction.
The MSIcode script (or anywhere else in the InstallAware IDE) never exposes MSI sequences, because as far as we are concerned, they are too low level and the developer should never have to worry about them. You just author your MSIcode script, your high level language, and let us worry about the details.
Whereas with InstallShield, no such abstraction exists.
Also, InstallShield has two separate notions: the MSI tables (and their visual editors for things like files, etc.) and the InstallScript. As you know, the script is totally divorced from the tables - since InstallShield is an assembly language compiler with a script patched on top, they cannot really integrate the two.
Contrast this with the InstallAware approach. The visual editors emit and update MSIcode script directly in the background. The script is not separate from the remainder of the setup, because the script IS the setup. Everything you spell out in the script happens line by line at runtime. The "how" (tables, sequences, etc.) is handled by the InstallAware MSI compiler, which is exactly as it should be.
So in InstallAware, you can rapidly prototype your setup in the GUI, and then swap to the script editor and customize everything as you need to, scaling up in complexity as your requirements dictate - while still retaining quick, visual access to all your MSIcode script when you go back to the visual editors to get a big picture perspective. No such possibility exists in InstallShield - since they are a low-level only tool with scripting patched on top, they cannot provide this level of integration and ease of use.