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

Disable silent mode?

Is there anyway to disable silent mode? My problem is that I don't want the end-user to be able to uninstall without going through one of my dialog boxes. It's a pain having all these different 'levels' - I just want it to always uninstall the same way. Currently if the end-user runs Installshield's setup.exe - it skips the 'User Interface' section 😞

Thanks for any information,
Dan.
Labels (1)
0 Kudos
(8) Replies
Reureu
Level 10

Hi,

As it name states a "Silent installation/deinstallation" is not supposed to display any dialog.
For that reason, the UI sequence is not executed when running your setup in silent mode.

Displaying a dialog in the execute sequence, when executed in silent mode would break quite a lot of best practices.

Think about a system administrator who wants to install or deinstall your application on a whole domain. He might want to run your setup in silent mode, so that the installation takes place in the background, without the user even noticing it.

So to answer your questions, it is technically possible to display some dialog or message boxes in the execute sequence, even in silent mode, but it does not make sense in practice.
For instance, you can just add a custom action that calls an Installscript function. A custom action can also call a function in a DLL.
This function can display a message box, without taking the UI level into account.

Regards
0 Kudos
Dan_Galender
Level 10

As stated previously, your end-users should be able to run your setup in silent mode.

Since the primary purpose of displaying dialog boxes is to gather user input (and store that input in properties), you should document the names of those properties and the fact that they must have values (either through the user interface, by specifying them as commind-line parameters to the msiexec command or via a transform). What you could then do is author an Error custom action early in the Execute sequence that terminates the installation if the required properties are not set. If the installation fails due to this custom action being trigerred, this fact will appear in the Appication Log and can be seen using the Event Viewer. it would seem to me that this way everyone wins .
0 Kudos
dracan
Level 5

DanGalender wrote:
either through the user interface, by specifying them as commind-line parameters to the msiexec command


Is this for installing or uninstalling? Is there a way I get specifiy what the msiexec command that goes into the 'uninstall' section of the registry is?

Basically, one of my dialog boxes asks the user if they want to remove saved game data (the software is a game). We always want this question to be asked to the user.

If I can change what Installshield puts in the "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\UninstallString" value, that would solve my problem.
0 Kudos
Dan_Galender
Level 10

There may have been some incorrect assumptions made. What project type are you working with?
0 Kudos
dracan
Level 5

It's a Basic MSI project.
0 Kudos
dracan
Level 5

Can anyone help with this? Surely it must be possible to have a non silent uninstall when the user uninstalls via add/remove programs? Other non-Installshield installations do this.
0 Kudos
Dan_Galender
Level 10

Have you tried creating a custom action to modify the UninstallString in the registry after the RegisterProduct action?
0 Kudos
dracan
Level 5

DanGalender wrote:
Have you tried creating a custom action to modify the UninstallString in the registry after the RegisterProduct action?


Just tried it, and unfortunately, it's looking like using 'uninstall' from add/remove programs ignores this registry value and does it's own thing and still silently removed it 😞 I even tried to replace the UninstallString value with "calc.exe" to see if it was being called, but no - still just uninstalled the product silently.
0 Kudos