View Full Version : Reverting to MSI 1.2

12-06-2001, 01:00 AM

The attachment is a HTM page that uses the IS Automation layer to create
media with the MSI 1.2 engines. This became a big issue with some of my
clients and for many I have seen in the forum.

To use it:

- Open the page in IE (no Netscape here)
- Browse to the project you want to build media for
- Click Open Project and wait until the Configurations drop down gets
- Click to select a configuration and wait for the release drop down to be
- Click on Build Release and wait until a message tells you that the media
is ready
- Click Reset to start over

Things that it does

- It changes the database schema to 110 (temporary - can be made permanent
if you do a SaveProject())
- It changes the reg key with the MSI version (temporary - can be made
permanent if you comment out the part that restores the reg key)
- It copies the MSI Engines to the media folder (you need to change the
location in the code -- currently c:\work\msiengines1.2)
- Besides creating the media in the location you specified, it also can copy
it to location you can specify

What it doesn't

- It does not delete the MsiunPublishAssemblies and MsiPublishAssemblies
actions (didn't figure out how to do it, yet)


- Provided as is. No support of any kind. Uses only documented features. I
am not responsible for bugs, crashes and disasters <s>
- Place the page under Program Files\InstallShield\Developer\Program\0409 so
the page can use some of the IS graphs and look cool ;-)
- All I ask is if you make changes that improve functionality and/or fix
bugs, please post it in the forum so others that may be using it can benefit
as well.


Luiz Quintela

12-06-2001, 01:00 AM
If it's sufficient to "condition out" the Msi[Un]PublishAssemblies actions
(I haven't tried it), and not remove them, you might add something like

var ism, action;

ism = new ActiveXObject("ISWiAutomation.ISWiProject");

ism.OpenProject("D:\\MySetups7\\DowngradeMe.ism", false);

action = ism.InstallExecuteSequence("MsiPublishAssemblies");
if (action != null) action.Condition = "0";
action = null;

action = ism.InstallExecuteSequence("MsiUnpublishAssemblies");
if (action != null) action.Condition = "0";
action = null;

action = ism.AdvtExecuteSequence("MsiPublishAssemblies");
if (action != null) action.Condition = "0";
action = null;

ism.SaveProject( );
ism.CloseProject( );

action = null;
ism = null;

Robert Dickau
InstallShield Software Corp.