cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Suppressing certain install UI screens

Without the use of the Project wizard (which give you the option of showing 5 various UI screens: Install Welcome, License Agreement, Maintainence mode, Ready to install, Finished), how would I suppress JUST the License agreement and "Ready to install" screens? (I'm not using the Project Wizard).
(6) Replies
CChong
By Level 11 Flexeran
Level 11 Flexeran
AdminStudio comes with a tool "InstallShield Tuner" that allows you to create transform files. Transform stores any changes that you make to your original MSI package without changing the MSI package. You can then apply the transform to your MSI package at installation or distribution time and any changes you have made to your original MSI package will be applied through transform.

The reason why I went into transforms is because "InstallShield Tuner" has a view called "Dialogs". This view displays all the dialogs that will be displayed at runtime in a given order. You can very easily turn on/turn off the display of any dialog. In addition to this you can also view and turn on/off the dialogs that will be displayed during Maintenance, Admin or Patch installs.

You can then save these changes in transform and apply the transform to your MSI package at run time.

You can apply the contents of the transform to the MSI package using the following command line.
msiexec /i TRANSFORMS=

If you want to accomplish this in Developer you might have to use Direct editor and change the underlying tables used by MSI to accomplish this.
Thanks...but a transform is not desired in this situation as the MSI (in addition to being deployed automatically) may also be given to the user to "double-click". Giving them multiple files might confuse them.

Surely there must be a way to do this via Developer (within AdminStudio). The Wizard sets this for the 5 basic UI screens, only I can't find this in the IDE (it's buried somewhere).

Thanks,
--Basim
You can do this in the Dialogs view of Developer; it's a matter of modifying the so-called "control events" attached to the Back and Next buttons of the MSI dialog boxes.

For an overview, please download the sample chapter from the the Developer 8 training materials: visit http://www.installshield.com/ispress/, scroll down to "Learning Basic MSI Projects with InstallShield Developer 8", and select "Sample Chapter"...
CChong
By Level 11 Flexeran
Level 11 Flexeran
Windows Installer SDK has a tool called msitran.exe that can be used to merge the MSI package and transform file. This way you will end up with one MSI package just like the way you want.

Here is the syntax for msitran.exe
msitran -a {transform} {msi package} [{error conditions}]

You can also find more help about msitran.exe at
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/msitran_exe.asp

You can download Windows Installer SDK from
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=4B6140F9-2D36-4977-8FA1-6F8A0F5DCA8F
Thanks for all the help so far... it's been VERY educating and has helped me a lot.

I'm now getting closer. I'm able to install the custom action (it fires correctly) but I am having problems uninstalling. Basically, the uninstall action is different than the install action and I need to run the uninstall action FIRST before file removal or else the MSI uninstall fails and rolls back to the installed state (leaving me no way to uninstall it ever!).

The install command is:
InstallDriver.exe silent install

This is working OK.

But the UNinstall command is
InstallDriver.exe silent uninstall

How would I configure the uninstall command and to also have it be the very first operation the uninstall procedure does before removing the files (because "InstallDriver.exe" is included in [INSTALLDIR]).

:confused:

Thanks,
--Basim
CChong
By Level 11 Flexeran
Level 11 Flexeran
The InstallExecuteSequence table lists actions that are executed when the top-level INSTALL action is executed.

All you have to do is insert your custom action before the RemoveFiles action gets executed. For this to happen the sequence number of your custom action should be less then that of RemoveFiles action.

Another thing that you want is that the custom action should be executed only during uninstallation. So set the condition of your custom action to be "Installed". Condition "Installed" will be true if the product is installed and your custom action gets executed only if the condition is true.