PDA

View Full Version : Disable "Existing Intalled Instances Detected" Dialog (IS2009 InstallScript)



mpa109
06-19-2008, 04:03 PM
Is it possible to disable the "Existing Intalled Instances Detected" dialog in an InstallScript project? There used to be a setting (IS2008, IS12) in Project Properties for Maintenance Experience that you set to "Multi-Instance" and combine that with a setting Update Mode Supported set "No" and this dialog would not appear, allowing you to run the same installer over and over again.

Now, that Update Mode Supported setting has been removed, and changing the corresponding value in the Direct Editor does nothing.

There is a solution in the Release Notes, but I can't get it to work since the dialog displays before the OnSetUpdateMode event is called, and modifying OnUpdateUIAfter does me no good since the installer will be run on machines with the software already installed without that setting.

Any suggestions would be greatly appreciated.

--------------------------------------------------------------------------
IOC-000058816 (InstallScript)
All InstallScript projects now support showing the update user interface (UI). Previously, the General Information view and the Project Settings dialog box had a confusing option that enabled the update UI to be disabled. If the update UI was disabled, the MEDIA_FLAG_UPDATEMODE_SUPPORTED flag was not set for MEDIA_FIELD_MEDIA_FLAGS, and the OnSetUpdateMode event handler did not set the UPDATEMODE variable when appropriate. As a result, the update UI was not shown.

Note that changing the value of ISShowUpdateUI in the InstallShield table (which the previous option updated) no longer has any effect.

It is possible to duplicate the previous functionality through the following methods:

+ Override the OnSetUpdateMode event and update the function to return before setting the UPDATEMODE variable. The installation never shows the update UI.

+ Override the OnUpdateUIAfter event and change the call for FeatureRemoveAllInMediaAndLog to FeatureRemoveAllInMedia.

DevinEllingson
06-20-2008, 07:05 AM
The setup.exe flag '/hide_usd' is provided to supress this dialog.

The fact that this dialog was suppressed when update support was turned off was a bug, since multi-instance and support for update mode are not related.

Devin Ellingson
Software Developer
Acresso Software

mpa109
06-20-2008, 10:22 AM
Yup, that works. Thanks.

I do find it amazing that "bugs" in previous versions seemed to have worked to my company's advantage. Keep up the, uh, "good" work?

vigorski
10-06-2008, 05:48 PM
I ran into the same situation.
I am working with InstallShield/InstallScript project that handles multi-instance logic using custom code, and this project also suppressed the "Existing Intalled Instances Detected" dialog through "Update Mode Supported" set "No in the previous versions of InstallShield (12, 11.5,...,6)

After upgrading to InstallShield Professional 2009 I discovered that InstallShield decided to take away this ability to programmatically suppress this dialog.

IMO, the need to use '/hide_usd' command-line argument is confusing to the non-technical users, who usually just double-click setup.exe to run installation.

To "shield" the "install" users from this command-line option I plan to rename setup.exe to something else (norun.exe), and then create a script setup.bat, which just calls the real setup.exe with /hide_usd option.

Harald Schwegel
11-05-2008, 02:36 PM
IMO, the need to use '/hide_usd' command-line argument is confusing to the non-technical users, who usually just double-click setup.exe to run installation.

Just another example of how IS developers spend their time making ridiculous changes while failing to fix the real problems.

DLee65
11-06-2008, 03:01 PM
I ran into the same situation.
I am working with InstallShield/InstallScript project that handles multi-instance logic using custom code, and this project also suppressed the "Existing Intalled Instances Detected" dialog through "Update Mode Supported" set "No in the previous versions of InstallShield (12, 11.5,...,6)

After upgrading to InstallShield Professional 2009 I discovered that InstallShield decided to take away this ability to programmatically suppress this dialog.

IMO, the need to use '/hide_usd' command-line argument is confusing to the non-technical users, who usually just double-click setup.exe to run installation.

To "shield" the "install" users from this command-line option I plan to rename setup.exe to something else (norun.exe), and then create a script setup.bat, which just calls the real setup.exe with /hide_usd option.

Can't you just modify the Setup.ini to include this value for CmdLine=/hide_usd? It seems to me that this would be more efficient and still shield the user from the command line option.

walleye
01-15-2009, 03:00 PM
Is there a way to set CmdLine= in the setup.ini from the IDE so you don't have to edit that file everytime you do a build?

walleye
01-15-2009, 04:32 PM
Is it possible to add an extra option to the "Maintence Experince" Project Property such as Uninstall/Install that uninstalls the current version of myproduct and then Installs the new version. Of course this prevent the OnUpdateUIBefore and OnUpdateUIAfter event handlers from being called.

UNeverNo
03-09-2010, 12:07 PM
Is there a way to set CmdLine= in the setup.ini from the IDE so you don't have to edit that file everytime you do a build?
Yes. Go to Releases, select your Build, select Setup.exe and look there for setup commandline (or something similar, sorry got the german version). Enter "/hide_usd" without " - et voilĂ  :)