problem with system(@args)

N

npritchard

i'm using using Win32::GuiTest to programmatically uninstall an
application. for that, i need to launch the uninstaller (setup.exe) as
a separate process *and* return back to the script so i can use the
sendkeys fucntion. this works great for the compressed installer where
i issue a simple:

system ("start c:\\guitest\\test\\myapp.exe");
Win32::GuiTest::SendKeys("{ENTER}");

however, i'm running into problems while uninstalling.

=======================
@args = ("C:\\Program Files\\InstallShield Installation
Information\\{71A2182D-A59E-4560-80BD-71E3D21A13F3}\\setup.exe",
"-forced_uninstall");
#system(@args) == 0 or die "crap";

system(@args);
===============================
this doesn't work because the uninstaller is launched in the same
process, so the next command is never executed

also, the following does nothing. no error but the uninstaller is never
launched
==============================
system("start /D \"C:\\Program Files\\InstallShield Installation
Information\\\{71A2182D-A59E-4560-80BD-71E3D21A13F3\}\\\" setup.exe
-forced_uninstall");
=============================

i can chdir to the installshield root directory and:
=============================
system("start $installShieldGUID/setup.exe -forced_uninstall");
=============================
this works but doesn't seem like the best solution. it also forces me
to reboot my machine which is normally unneccessary.

any hints/ideas are appreciated.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,901
Latest member
Noble71S45

Latest Threads

Top