PDA

View Full Version : execute uninstaller



ramalaks
06-10-2008, 03:00 PM
can i pass param/input to the uninstaller when calling from execute uninstaller action? i have to do diff. set of uninstalls based on the input

TheTraveler
06-10-2008, 04:58 PM
If I understand you correctly, you want to have a program launch the uninstall based on the user's input. Is this correct?

Assuming that that is your question, I believe the answer is yes. When you install something to windows, the installation puts a registry entry for uninstalling it. Here is the location:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{Your product GUID or Product Name}]
UninstallString

ramalaks
06-11-2008, 12:51 PM
no that is not what I want. i will to execute uninstaller or execute command to execute the uninstall exe. the uninstaller asks for user input. but when i call from another installer, i want to pass the user input when executing uninstaller..is that possible

TheTraveler
06-11-2008, 01:08 PM
I believe so. My earlier post was to get the command line of the uninstall string of what should be there already. If that uninstall string isn't there, then that product isn't installed on the system. In the case that it is installed, then you need to know if it is using Windows Installer, install shield, or some other authoring tool to get the uninstall executable and the current uninstall parameters. I don't thing there one executable that uninstalls everything. I could be mistaken about this. I any case, you would have to create a custom dialog for the user to put in the information you are asking them to put in so that you pass on the parameters to running the uninstall and then use LaunchAppAndWait to run the uninstall with your parameters.

ramalaks
06-11-2008, 01:41 PM
can we use launchAppandWait in IA 8.0 enterprise? if so how?

TheTraveler
06-11-2008, 02:04 PM
LaunchAppAndWait is an Install Shield script function that has been there for several version of install shield. Here is a page from the Install Shield 12 Help.

LaunchAppAndWait Example
InstallShield 12 ยป InstallScript Language Reference

NOTE

To call this function in a Basic MSI setup, you must first create a custom action for the entry-point function, execute the custom action in a sequence or as the result of a dialog's control event, and then build the release.


/*--------------------------------------------------------------*\
*
* InstallShield Example Script
*
* Demonstrates the LaunchAppAndWait function.
*
* This script presents the user with three options:
*
* -- Launch Notepad; after it closes, continue setup
* -- Launch Notepad and continue setup immediately
* -- Exit installation
*
* If the user selects the first option, the installation
* launches Notepad and then waits for it to close before
* continuing. If the user selects the second option, the
* installation launches Notepad and then continues immediately
* to execute the script. If the user selects the third option,
* the installation exits.
*
\*--------------------------------------------------------------*/

#define PROGRAM WINDIR^"NotePAD.EXE"
#define LAUNCH_WAIT_TEXT "Launch Notepad; after it closes, continue setup"
#define LAUNCH_GO_TEXT "Launch Notepad and continue setup immediately"
#define EXIT_TEXT "Exit installation"

// Include Ifx.h for built-in InstallScript function prototypes.
#include "Ifx.h"

export prototype ExFn_LaunchAppAndWait(HWND);

function ExFn_LaunchAppAndWait(hMSI)
STRING szProgram, szCmdLine, szMsg;
BOOL bLaunchAndGo, bLaunchAndWait, bExit;
NUMBER nWait;
begin
// Run the installation in a normal Window;
Enable (BACKGROUND);
Enable (DEFWINDOWMODE);

// Disable the Back button in installation dialog boxes.
Disable (BACKBUTTON);

// Get an option from the user.
AskOptions (EXCLUSIVE, "Test",
LAUNCH_WAIT_TEXT, bLaunchAndWait,
LAUNCH_GO_TEXT, bLaunchAndGo,
EXIT_TEXT, bExit);

if !bExit then
// Set variable to pass to LaunchAppAndWait
// to indicate whether or not to wait.
if bLaunchAndWait then
nWait = WAIT;
else
nWait = NOWAIT;
endif;

// Launch Notepad; the value of nWait determines
// when execution of the installation continues.
if (LaunchAppAndWait (PROGRAM, "", nWait) < 0) then
MessageBox ("Unable to launch "+ PROGRAM +".",SEVERE);
endif;

MessageBox ("Setup will now exit.", INFORMATION);
endif;
end;

ramalaks
06-30-2008, 12:46 PM
I know about LaunchAppAndWait in IS. can i use it in installAnywhere. if so how?