Hello !

I would like to remove the "SetupCompleteSucess" Dialog from the sequence when I uninstall the package. I don't want a Silent Uninstall (I need to tell some important things to the user).

I just want that the uninstall process ends just after the SetupProgress dialog.

I tried to localize when the "SetupCompleteSuccess" Dialog is called, but it seems to be a special dialog (sequence = -1). Then I tried to set a condition for this dialog (NOT REMOVE="ALL"). Failed.

First question : Is it possible to remove this dialog ?
Yes ? How can I do that ? :-)

Thanks !
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Check your "InstallUISequence" table... Is there a row with a sequence of -1? Mine is called "Exit_Dialog".

If it's there, delete it.

Try that.[;)]

Edit: I just noticed that you only want to do this on uninstall? Why?
Answered 08/18/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
Care ! I don't want to remove it during the Installation sequence ! Just during the Uninstall sequence !
So I think that your idea won't work...

EDIT : Because when the user uninstall the product, he is warned that the PC will automatically reboot. But After the Progress Dialog (the one with the progress bar), the computer doesn't reboot automatically, because of the "End Dialog". And as long as the user doesn't have clicked on the "Finish" Buton, he could do some things, and that is not good for us :-)
Answered 08/18/2005 by: babric
Senior Purple Belt

Please log in to comment
0
OK... Don't delete the row.

Insert a condition instead.

REMOVE~<>"ALL"

How's that??
Answered 08/18/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
I tried " NOT REMOVE="ALL" ".
It is not the same thing ?
Answered 08/18/2005 by: babric
Senior Purple Belt

Please log in to comment
0
Similar.

Did you remove by double clicking the MSI? Or did you remove using the control panel remove button?
Answered 08/18/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
I double click the MSI, in order to have the UIsequence.
BTW, I modify the regsitry during the installation in order to have a unique button in the Add or Remove panel : Change/Remove.
So, excepting when I run a silent uninstall using a command (/q, etc...) or when I right click on the package > uninstall, there is always an UIsequence.

Why ? Because we need to warn the user about many things when he uninstalls the product :-)
Answered 08/18/2005 by: babric
Senior Purple Belt

Please log in to comment
2
And I thought this would be an easy one!!!

You owe me for this one Babric![:D]

MaintenanceMode~<>"Remove"

Edit: Actually, that might be a Property that Wise set with their maintenance dialog. And you use Installshield! Why???

Which property does your install set when someone selects an option from the "Modify/Repair/Remove" maintenance dialog that you see when you double-click an already installed MSI?
Answered 08/18/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
I'm an Installshield user and proud to be ! (hum, not really but this software was bought before I joined)

So, in Installshield, I think that it is : _IsMaintenance~<>"Remove"

http://img386.imageshack.us/img386/3283/maintenance1eh.gif

I'm going to try it...
Answered 08/19/2005 by: babric
Senior Purple Belt

Please log in to comment
0
And... it works fine !

Thank you WiseUser ! 2 pts for you !

But I don't understand why it works whereas REMOVE~<>"ALL" doesn't... ??????

EDIT : I tried NOT REMOVE="ALL" and REMOVE~<>"ALL". Doesn't work at all, maybe because it is not a valid condition in the InstallUISequence ?
Answered 08/19/2005 by: babric
Senior Purple Belt

Please log in to comment
0
Merci mon pote![;)]


But I don't understand why it works whereas REMOVE~<>"ALL" doesn't... ??????


That makes two of us![:D]

The "REMOVE" property doesn't appear to be available or have a value at that stage of the installation. I'd have to check a log file to figure it out - I'm not sure I'm that bothered though!?!
Answered 08/19/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
Taken from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/conditioning_actions_to_run_during_removal.asp
"If the action is sequenced after the InstallValidate action in the InstallExecuteSequence table, the package author may specify a condition of REMOVE="ALL" for the action in the Condition column. Note that the REMOVE property is not guaranteed to be set to ALL during an uninstall before the installer executes the InstallValidate action. Note that the quote marks around the value ALL are required in this case."
Answered 08/19/2005 by: AngelD
Red Belt

Please log in to comment
0
I'm perfectly aware of this fact. In case I hadn't been Babric himself posted it only last week...

http://www.appdeploy.com/messageboards/fb.asp?m=10316

The fact is that this action is the very last action (after every other action).

Besides it would be set to the "top feature" ("Complete" or whatever) before the "InstallValidate" action - we are experiencing an empty/unset "REMOVE" property.
Answered 08/19/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
I believe the execution order of an MSI during a standard installation looks something like this:

InstallUISequence (LaunchConditions -> ExecuteAction) -> Immediate "InstallExecuteSequence" (LauchConditions -> InstallFinalize) -> Deferred "InstallExecuteSequence" (InstallInitialize -> InstallFinalize) -> Immediate "InstallExecuteSequence" (InstallFinalize -> End) -> InstallUISequence (ExecuteAction -> End)

It would seem that properties set during "InstallExecuteSequence" are not available in the final (post-"ExecuteAction") part of the "InstallUISequence".
Answered 08/19/2005 by: WiseUser
Fourth Degree Brown Belt

Please log in to comment
0
ORIGINAL: Zweitze on www.InstallSite.org

At the end of the InstallExecuteSequence, the new property values are indeed not transferred to the UI sequence.
However, if your setup is run in the UI sequence, you can be sure that the user passed the Maintenance dialog. So using the [_IsMaintenance] property (which is the last value of the radiobutton choice) is a valid alternative.


topic closed ! :-)
Answered 08/22/2005 by: babric
Senior Purple Belt

Please log in to comment
Answer this question or Comment on this question for clarity