Problems Cancelling During Prerequesite and Regular Install

Got a problem you cannot solve? Try here.
stevew
Posts: 78
Joined: Tue Dec 06, 2005 2:01 am

Problems Cancelling During Prerequesite and Regular Install

Postby stevew » Sun Jan 01, 2006 3:51 am

I am working on changing my script to avoid all windows message boxes and do everything in dialogs. this way i keep all the language strings self contained within the setup software.

While doing this is notice some oddness...

The Story:

I am installing a new revision of the same product. The Prerequiste Installation dialog comes up saying the previous version needs to be removed. I say go for it. Right away the progressprereq dialog appears. I wonder in my head if I might lose my previous data files so I press Cancel right away. I get a confirmation box that asks me if I really want to cancel. I sit and think about this question for a minute. Everything appears frozen waiting for me so i don't worry and go get a new cup of coffee. When I return and eventually say Yes to the cancel confirmation I immediately go the next dialog that continues to install as per normal ... and the install doesn't even notice that i wanted to cancel.

So I think. Well this is okay, I guess; the computer couldn't wait for me to make up my mind. The install actually uninstalled the previous version for me after all.

I continue with the remaining portion of the install. Just after I press the final Next button to start the install I worry that I might not have put enough sugar in my coffee. I exercise my option to press Cancel. The confirmation dialog appears again, just like before, just as expected. While I am thinking about the question I notice all the file names still flying by behind the question. The installation appears to be still continuing. I ponder the implications and stir my new coffee. When i finally say Yes to the confirmation dialog I realize that the setup couldn't wait for me and the entire program is likely installed. I say this because i notice files have stopped flying by and i see only one message on the screen saying "Removing applications". I say to myself "what application am I removing?" since i am installing an application. After I say yes to the cancel confirmation dialog i go to the final setup wizard screen telling me that I have cancelled and may re-run setup in the future to install the product. So I say okay and go look around. I notice my entire application is actually installed anyway. All the files are installed as expected. I go to the control panel and see my program listed but with the wrong icon. So I click the change button for my applicaiton in the add/remove programs. I get the standard message "An error occurred while trying to remove [product]. It may have already been uninstalled. Would you like to remove [product] from the Add or Remove programs list?" So i say yes. and my program listing disappears. So I look around more and see all my files are still installed even though there is no entry in the add/remove list. I run my setup again and the whole setup runs as an uninstall. no errors occur with the uninstall and now everything is back to normal.

Note that if I don't cancel in both the prerequisite AND regular progress then the control panel funny stuff does not happen.

I just thought I would let you know this scenario. There isn't a real problem for me since the setup does correct itself when re-running it.

The real issue for me is that i don't know how to replace the confirmation message box with a custom dialog. This is because the modal messagebox confirmation appears on top of a modeless dialog. Where is the correct location in the script to show the custom confirmation dialog? Maybe this is not possible? If not possible I think I will be happy to just disable the Cancel button for my setup.

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Sun Jan 01, 2006 9:15 am

Hi Steve!

This is an interesting report. First off, some clarifications:

1) The Cancel button does not freeze the remainder of the setup. Setup continues executing (in fact, in its own thread, seperately from the main user interface) while Cancel is clicked. So there is nothing to worry about that here - it is all as designed.

2) You can localize the text in the Cancel dialog box - there is no reason to create a special dialog for it. Because this is a global setup string, shared by all setups, it is localized once for all setups and shared by all of them. That is why it does not appear in the Localization Wizard as a localizable string. Click Tools->Edit Global Strings to localize this item. Unfortunately, it is not possible to create a special dialog for cancelling setups while the setup is in the actual install/uninstall phase.

3) When you cancel a running setup, Windows Installer will rollback all actions it undertook. So your report of a partially installed application is very odd (not to discount the report, of course).

I think what happened here might be that you are waiting before clicking Cancel, especially in the case of the pre-reqs, which is possibly creating some confusion. If you Cancel right in the last possible instant (or click Cancel to display the dialog, wait indefinitely, and then approve), what actually happens is that the cancellation request is received after setup already completed (either the pre-req phase, or the main install phase). This is why setup continues normally after you have cancelled the pre-req install, because the install was completed successfully (in this case, the uninstall of your own older version). I am guessing that at this point because the pre-defined variable for cancellation -- ABORT -- is TRUE it might be confusing the remainder of the setup when in the main phase, leading to your report of a partially installed application. It would be easy to account for this extreme case by manually setting ABORT to FALSE in your setup script after the prereq installation phase.

Let me know if this helps!
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/

stevew
Posts: 78
Joined: Tue Dec 06, 2005 2:01 am

Postby stevew » Sun Jan 01, 2006 5:21 pm

1) I agree the design is nice that the setup is running in another thread. I think the designer could have selected to refresh the main dialog status display on the progressprereq dialog so that the behaviour matches the regular progress dialog. Also, the regular dialog allows always tells you that you have cancelled (even though it doesn't know the cancel doesn't work), but the progressprereq does not tell you that you have cancelled. This behaviour could be made the same.

2) This is a normal problem for any application that uses message boxes from windows. I just like to avoid it where possible. For example, i have changed the global string from from English:
Are you sure you want to cancel?
To français
Êtes-vous sûr vous voulez-vous décommander ?

But as you may or may not know, yes means no and no means yes in French (joke-kind-of). When I see this french message box i still see the english Yes and No buttons since they are defined in windows. (I assume this because i can not find any settings in the localization or global strings tables that affect these button texts). If you don't know that the french yes/no buttons are in english you will select the wrong yes.

So my answer to people who ask me why they see two different languages in the same box is I tell them they need to use French windows to see French buttons (sometimes). From a user perspective this is just odd. I like to allow a french user to run my program in french even though the windows is english.

Anyway, that is my reason. If you can help me out, great, if not, then this isn't a real issue with installAWARE since it is the same problem with most software.

(another side note is that Windows MessageBox ansi strings can not be translated to different languages where the font charset is not the same as the one windows is using).

3) I think that the installer only partially installed my program if you consider that the control panel option is also done in the same installation operation. I think it must not be included in this Windows Installer operation otherwise it would not be out of sync. I am pretty sure that this will happen on any test that you might find the time to do. If you don't drink coffee then substitute tea at the various steps.



Regarding the idea to "manually setting ABORT to FALSE in your setup script after the prereq installation phase" does not seem to change any behaviour. I have set ABORT to FALSE just before the normal setup's "wizard loop" normal statement.

stevew
Posts: 78
Joined: Tue Dec 06, 2005 2:01 am

Postby stevew » Sun Jan 01, 2006 6:10 pm

I think I will just disable the cancel button on the two progress dialogs. This way all my issues go away.

InstallAWARE is great that it gives total flixibility for this type of change.

I think that cancelling during a setup is not a feature i want to implement for my program.

Nick
Posts: 30
Joined: Wed Nov 30, 2005 5:18 pm

any progress on this?

Postby Nick » Fri Jan 19, 2007 5:40 pm

We're trying to get our product certified by Trust-e and ran into this exact issue.

This is stopping certification. :(

Has any progress been made on the "Are you sure you want to cancel?" being in a separate thread? We cannot just simply remove the cancel button like stevew as that will stop certification as well.

We really need this fixed.

note, we're on 6.0

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Fri Jan 19, 2007 5:57 pm

What is the exact issue that is stopping certification?
Michael Nesmith

InstallAware

Home of The Next Generation MSI Installer

Get your free copy today - http://www.installaware.com/

Nick
Posts: 30
Joined: Wed Nov 30, 2005 5:18 pm

Postby Nick » Fri Jan 19, 2007 6:00 pm

They feel that the install should stop until the user picks an option.

They noticed that the install continues and can get committed/applied and object to that.

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Fri Jan 19, 2007 7:28 pm

Is there some document they have that explicitly states this as a requirement? Or is this the personal opinion of the reviewer? We can get it worked out for you if this is part of their official guidelines. Otherwise, this is just unreasonable nitpicking.
Michael Nesmith

InstallAware

Home of The Next Generation MSI Installer

Get your free copy today - http://www.installaware.com/

Nick
Posts: 30
Joined: Wed Nov 30, 2005 5:18 pm

Postby Nick » Fri Jan 19, 2007 7:35 pm

I will try to see if this is a requirement in a document of there's.

But, I disagree that this is unreasonable. It makes cancels unpredictable.

From a user's point of view if they press cancel, and happen to wait too long to press yes (really cancel) their action has no effect. They don't know that they have to press it quickly or there is a chance the install will be applied. Once applied any action from the really quit dialog has no effect for the user.

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Fri Jan 19, 2007 7:52 pm

Since the background dialog continues updating, I don't think users will be confused. Clicking the cancel button and having it sit there without doing nothing seems like an extremely contrived test case to me :lol:
Michael Nesmith

InstallAware

Home of The Next Generation MSI Installer

Get your free copy today - http://www.installaware.com/

stevew
Posts: 78
Joined: Tue Dec 06, 2005 2:01 am

Postby stevew » Fri Jan 19, 2007 10:22 pm

Attached is their document I found at their web site. (see schedule A - 1(z) and 12(e)(i).

I don't think that rejecting your installation package is in the spirit of their mission purpose. They are trying to make sure software authors inform users if they are installing spyware or adware or some type of installation deception.

Their information implies that you just need to have one obvious confirmation screen to give the user the chance to install or abort. Plus if a user aborts there can be at most one confirmation screen to ask them if they are sure. It seems to me that this confirmation screen could be a typical "license agreement" confirmation page. Do you not have one of these and go directly into the install without any starting dialog?

I would be interested to hear their official comment or any further comments on this topic.

ps. I believe the software appears to be flawed by not pausing after pressing cancel but before confirming. I just tested the install of "Microsoft Office Visio Professional 2007" and this program pauses the during the cancelling confirmation phase. I haven't looked into any other products so I can't say for sure that this is a "standard" but it just feels like one.

File Attached:

Trusted_Download_Beta_Certification_Agreement.pdf

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Fri Jan 19, 2007 10:39 pm

Their information implies that you just need to have one obvious confirmation screen to give the user the chance to install or abort. Plus if a user aborts there can be at most one confirmation screen to ask them if they are sure. It seems to me that this confirmation screen could be a typical "license agreement" confirmation page. Do you not have one of these and go directly into the install without any starting dialog?


First, none of this has to do with the cancel button issue. I understand your feelings but lets stay focused on what your certification requires for the moment.

Second, InstallAware does provide confirmation screens, at least with the out-of-the-box scripts that you get. You may have taken those out, in which case you will need to put them back in.

Third, there is only one confirmation screen for an abort. Typically this is the "are you sure you want to cancel" message box, unless customized.

Finally, I don't know where you get the idea that we go directly to the install. This doesn't happen with the out-of-the-box scripts at all.

So, I don't see any issues with any of this, let me know if I've missed anything.
Michael Nesmith

InstallAware

Home of The Next Generation MSI Installer

Get your free copy today - http://www.installaware.com/

stevew
Posts: 78
Joined: Tue Dec 06, 2005 2:01 am

Postby stevew » Fri Jan 19, 2007 10:46 pm

Hi Michael, it appears you think i am Nick. I am Stevew.

i was just offering my opinion that i don't think Nick's software should be rejected if (as you say) he uses any of the default templates provided with InstallAWARE. I was just wondering if maybe Nick created a setup from scratch that maybe had no dialogs. Maybe this is why his software was rejected?

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Fri Jan 19, 2007 10:53 pm

Sorry - its been a long day! :roll:
Michael Nesmith

InstallAware

Home of The Next Generation MSI Installer

Get your free copy today - http://www.installaware.com/

Nick
Posts: 30
Joined: Wed Nov 30, 2005 5:18 pm

Postby Nick » Mon Jan 22, 2007 7:31 pm

Hi Michael,

As a fyi, We've heard back from Trust-e and they are making this a pass/fail requirement on us. They're drafting up an official email for us now.

So, unfortunately, we're going to need to work with you to come with up with a resolution to this issue.

btw, we do have a standard "welcome/license" dialog prior to clicking continue/install but Trust-e is still making a stink about this.

At this point, I think we need to take this offline. Once I get the email from them I'll contact you, probably sometime tomorrow.

Thanks


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 225 guests