PDA

View Full Version : InstallShield wizard does not appear for uninstall on xp



flummery
02-10-2004, 02:38 AM
Hello,

We're using InstallShield Express 4.0 with sp1.

Both the installation and uninstallation work fine on a Windows 98se pc.

There is a problem on Windows xp home machines when uninstalling. The InstallShield wizard doesn't run. (The uninstallation has a custom action (exe) that is critical to my program; I can't do without it.)

Why isn't InstallShield wizard running on Windows xp Home upon: Settings / Control Panel / Add Remove Programs / highlight my program / Remove?

Thanks,
Dan Gistenson
develop@gistenson.com

mberterm
02-10-2004, 11:54 AM
Look to this registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

The sub keys will look like GUIDs, look at the ProductName data value to locate the appropriate subkey.

Within the correct subkey, locate the UninstallString data item. Compare the two uninstall strings between the two machines.

flummery
02-10-2004, 03:42 PM
I already compared the values. Both use the /I parm. Also, in General properties of my project, "Use add/remove" is set to Yes, and both the change and remove buttons are enabled, that is, the value for each is "No".

Any other ideas?

Dan



Originally posted by mberterm
Look to this registry key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

The sub keys will look like GUIDs, look at the ProductName data value to locate the appropriate subkey.

Within the correct subkey, locate the UninstallString data item. Compare the two uninstall strings between the two machines.

mberterm
02-10-2004, 03:49 PM
How does the uninstall behave on the Windows 98SE PC when the same command is run from the DOS prompt?

flummery
02-11-2004, 03:37 PM
I don't know whether my response to your last reply made it to this thread, so I'll try again. Sorry if I'm repeating myself.

You asked how the uninstall acted on the W98se pc when setup.exe was run from the dos prompt.

First, I can't use dos because I have a vision problem, and my adaptive software doesn't work in dos.

The uninstall acts the same way on the w98se pc, whether I start it with "start/run" to execute setup.exe or "Settings/Control Panel/Add-Remove Programs...". In either case, my program's InstallShield wizard appears and walks me through the uninstallation, including my "exe" custom action in the middle of the wizard. In both cases, my program is successfully uninstalled.

If I use "Start/Run" on the xp machine to execute setup.exe, the wizard appears, and uninstallation works successfully, including my "exe" custom action.

However, if I use "Settings/Control Panel/Add-Remove Programs/highlight my program in the list/Remove" on the xp, the wizard does not appear, but my program gets uninstalled.

The registry value for the uninstall string on the 98 and xp machines are the same; both use the /i parm, not the /x parm. (The latter, I believe, would be used to do a "silent" uninstall.)

Sorry if you already saw this reply; I'm still getting used to posting using this site.
Dan


Originally posted by mberterm
How does the uninstall behave on the Windows 98SE PC when the same command is run from the DOS prompt?

TsungH
02-11-2004, 03:52 PM
On 2000/XP machines, Remove button on Add/Remove Programs (ARP) will uninstallation MSI packages silently. The behavior can't be modified. What you can do is to disable (hide) the button, and only allow Modify button in ARP. You can do that easily from Express IDE. Please refer to General Information Properties (http://documentation.installshield.com/Robo/BIN/Robo.dll?tpc=/robo/projects/isxhelp/GeneralInfoProperties.htm) in InstallShield HelpNet (http://documentation.installshield.com/).

flummery
02-11-2004, 06:42 PM
Originally posted by TsungH
On 2000/XP machines, Remove button on Add/Remove Programs (ARP) will uninstallation MSI packages silently. The behavior can't be modified. What you can do is to disable (hide) the button, and only allow Modify button in ARP. You can do that easily from Express IDE. Please refer to General Information Properties (http://documentation.installshield.com/Robo/BIN/Robo.dll?tpc=/robo/projects/isxhelp/GeneralInfoProperties.htm) in InstallShield HelpNetIs there some way for my exe custom action to be run during uninstallation, even though the uninstall is running silently? (If I understand your reply, 2000 and xp uninstall silently and can't be made to do otherwise.)

Disabling the "Remove" button in the arp isn't an option.

Thanks
(http://documentation.installshield.com/).

TsungH
02-11-2004, 07:45 PM
In ARP, Remove button will uninstall application silently, while Change button will bring up UI Sequence and give users options to Modify, Repair, or Remove. With Remove button disabled, your users can still choose to uninstall by clicking Change button.

Alternatively, the custom action should be scheduled in Execute Sequence, instead of UI Sequence, so that it will get executed regardless of UILevel (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/uilevel_property.asp).

flummery
02-12-2004, 03:35 AM
How do I specify "Execute Sequence" for the custom action? (I couldn't find this answer in Help.)

I still need the custom action's properties, in particular:
Invoke: After ready to remove dialog (Not applicable point since running silently?)
Wait for action: Yes
Ignore exit code: No

The latter property, Ignore..., is important because if the user fails the custom action's purpose, I don't want unistallation to be done.

Dan

Originally posted by TsungH
In ARP, Remove button will uninstall application silently, while Change button will bring up UI Sequence and give users options to Modify, Repair, or Remove. With Remove button disabled, your users can still choose to uninstall by clicking Change button.

Alternatively, the custom action should be scheduled in Execute Sequence, instead of UI Sequence, so that it will get executed regardless of UILevel (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/uilevel_property.asp).

TsungH
02-12-2004, 03:04 PM
Express does not expose every aspect of an installation to shield users from the complexity of MSI . You should invoke the custom action Before System Changes, so that it will be scheduled in Execute Sequence.

flummery
02-13-2004, 12:48 AM
Originally posted by TsungH
Express does not expose every aspect of an installation to shield users from the complexity of MSI . You should invoke the The custom action is invoked: after Ready To Remove dialog,

General properties:
add/remove property: yes
change button and repair button enabled
remove button disabled

Causes:

1) On w98se pc:
My program doesn't appear in the arp program list
No uninstall key or value in the registry

2) On the xp pc:
Upon clicking the change button, the wizard starts and runs as expected.

>>> So, how do I uninstall my program on the w98se pc?

(I haven't tried enabling the Remove button and invoking the custom action "Before System Changes". I'll try it after I find out how to uninstall the currently installed copy of my program. I'm particularly concerned with the existing subkey and its key/value pairs for the gid key under the Uninstall subkey in the registry.)

Dan

custom action Before System Changes, so that it will be
scheduled in Execute Sequence.

flummery
02-13-2004, 01:13 AM
Well, I answered part of my previous post. I asked how to uninstall my app since it didn't appear in the arp list. I ran setup.exe. (Seems obvious when not vlustered.)

The "disable Remove button" approach worked on the xp machine, but, on the w98se machine, it caused my program not to appear in the arp list. Running setup.exe to uninstall may be okay for some of my customers but not for most of them.

So now, in response to your post regarding execution sequence, I'll invoke my custom action "Before System Changes", instead of the original position; "after Ready To Remove dialog". And you think, according to an earlier reply by you, this should cause my uninstall wizard to run on the xp machine?

Dan

P.S. Keep in mind that the whole point is to have my exe custom action, which includes a dialog box requiring the user to click a button, run during uninstallation of my program.


Originally posted by flummery

TsungH
02-16-2004, 02:42 PM
Your custom action will be run in Execute Sequence when invoked "Before System Changes".

flummery
02-18-2004, 01:52 AM
Originally posted by TsungH
Thanks for all the help. I'll try it.

Your custom action will be run in Execute Sequence when invoked "Before System Changes".