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

Remove only

hi, if I run the setup after I installed my software it shows me 3 options:

-Modify
-Repair
-Uninstall

how can I disable Modify and Repair when I run second time Setup?

I already used for Add/Remove programs the following option and it works well:
Setting Add/Remove Programs Properties
InstallShield 2008


Task

To specify Add/Remove Programs properties:

Open the General Information view.
Under the General Information heading, click Add/Remove Programs to display the Add/Remove Programs property sheet.
Select the property to edit by clicking its value field in the property sheet.
Enter a new value for the property or edit an existing value.
Click elsewhere in the property sheet to see the changes take effect.

Thank u in advance,
Davide
Labels (1)
0 Kudos
(9) Replies
alegerlotz
Level 7

What project type?

If its Basic MSI,

General -> Add or Remove Programs

Disable Change Button : Yes
Disable Remove Button : No
Disable Repair Button : Yes
0 Kudos
davide77
Level 5

InstallShield 2008 Premier - InstallScript MSI project and I dont see Disable Repair 😞
Davide
0 Kudos
alegerlotz
Level 7

davide77 wrote:
InstallShield 2008 Premier - InstallScript MSI project and I dont see Disable Repair 😞
Davide


Ah, ok.

I've never used an InstallScript MSI project, but I believe that the UI is driven the same was as a pure InstallScript project.

If that's the case, set the type directly to "Remove" in your code and skip the dialog you're talking about all together by commenting out the call to it. In that case, I believe the next dialog that is usually displayed is the "Are you sure you want to uninstall ?" dialog box which makes still makes sense.
0 Kudos
frugal
Level 2

I faced a similar issue few days back, I disabled the Modify/Repair options in the General tab, and that worked!

Would like to disable these options when the user runs setup.exe again on a system that has the s/w installed. So, the only option I wish to present is "Remove". Is there any way to achieve this?
0 Kudos
Not applicable

You'll want to modify what's displayed by either modifying the OnMaintUiBefore or modifying the dialog.

The process for doing either can be somewhat complex, though.
0 Kudos
alegerlotz
Level 7

bryanwolf wrote:
You'll want to modify what's displayed by either modifying the OnMaintUiBefore or modifying the dialog.


I thought that's what I said...

Its what I meant, anyway. 😉
0 Kudos
Not applicable

alegerlotz wrote:
I thought that's what I said...

Its what I meant, anyway. 😉


Sorry, I was just meaning to reinforce what you had suggested more explicitly, but you are correct.

Sorry for the confusion.
0 Kudos
davide77
Level 5

Yes, it's all ok...but how to just show the Remove option?
Davide
0 Kudos
Tharkhaad
Level 3

I work mostly with InstallScript projects, but the InstallScript code should be the same for an MSI project. I typically modify the OnMaintUIBefore() event, as others have mentioned, so that the typical modify/repair/remove dialog does not even appear. Here is an example:

function OnMaintUIBefore()
number nResult;
number nType;
number nMediaFlags;
string szIgnore;
begin

// Only allow a remove all.
nType = REMOVEALL;

// Display uninstall prompt message box
nResult = MessageBox( SdLoadString( IFX_MAINTUI_MSG ), MB_YESNO );
// Check user result
if (nResult != IDYES ) then
// User selected no; do not uninstall
nType = 0;
bMoveData = FALSE;
endif;

if (REMOVEALL = nType) then
// Ensure that all previously installed components are removed
// for media that supports updating.
MediaGetData( MEDIA, MEDIA_FIELD_MEDIA_FLAGS, nMediaFlags, szIgnore );

if( nMediaFlags & MEDIA_FLAG_UPDATEMODE_SUPPORTED ) then
ComponentRemoveAllInMediaAndLog();
else
ComponentRemoveAllInMedia();
endif;
endif;
end;

The result is that a Yes/No message box appear, asking the user if they wish to completely remove the application.
0 Kudos