cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
gale_wang
Level 3

Uninstall while the Programs & Features control panel is open.

A InstallScript project.
I'm puzzlling the issue"An error occurred while trying to uninstall... It may have already been uninstalled".
Searching from google, I see" I don't know what to tell you here as Microsoft kb2002473 states - Quote:No additional action is necessary. You can safely ignore this error message. "
And Microsoft says"Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the Applies To section".
I don't see what can be done outside of accepting the "solution" in kb2002473 - Quote:No additional action is necessary. You can safely ignore this error message .
I have repeatedly observed the entire details of the uninstall process, and trying to find what causes. Finally, I find the details the Programs & Features control panel is open.
So, close the control pannel is my key way. However, in win7/vista, the process of the control panel different from xp. I end the process of the explorer at OnEnd(). Successful, that's right. It have proved my inference.
Now, Do you have better ways to solve the issue except Ending the explorer process.
Looking forward to your reply.
Labels (1)
0 Kudos
3 Replies
reshmi_patro
Level 3

Is there any batch file/vbscript available to close the "Programs & Features" window?
How to end the process of the explorer at OnEnd().
0 Kudos
reshmi_patro
Level 3

Is there any batch file/vbscript available to close the "Programs & Features" window?
How to end the process of the explorer at OnEnd().
0 Kudos
manomatt
Level 8

Programs & Features is basically a process called explorer.exe so closing it might cause you to lose other explorer windows. You might want to re-consider.

sample code to terminate a process in vb:


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'explorer.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()
Next
0 Kudos