This is fairly typical with exe uninstallers. Essentially, the exe is just a 
bootstrapper that launches another process to perform the actual uninstallation 
and then exits right away. ConfigMgr does not know (or really have any way to 
know) that this is what is happening so when the bootstrapper exits, it thinks 
the uninstallation is done and it performs the detection. Of course the actual 
uninstallation is still going on so your detection method will probably still 
show the app as installed meaning that the uninstallation failed.

The best way to handle this is to add a script to your package that first calls 
the uninstaller and then pauses for a handful of seconds to account for the 
spawned process that actually performs the uninstallation (the uninstallation 
is usually pretty quick so 5 seconds should suffice but ymmv so test). Then, 
run this script as your uninstaller. You could potentially get fancy and try to 
detect the process and wait for it to exit in your script but that's a lot of 
work for no real gain in functionality and where a simple pause works well 
enough (ConfigMgr could try to do this also for that matter but they never will 
as it's a lot of work for a minority use case).

J

From: [email protected] [mailto:[email protected]] On 
Behalf Of Johns, Damon (DoJ)
Sent: Tuesday, August 27, 2013 7:16 PM
To: [email protected]
Subject: [mssms] Application Uninstall Issue

Hi Everyone,

Hoping someone has come across a solution to this. I have an application that 
is installing correctly however when I go to uninstall it using the Software 
Center it uninstalls correctly but the Software Center reports that it has 
failed.

It's using its own uninstall .exe to remove the software and my detection rule 
is using the presence of the applications .exe to determine if its installed. 
(It doesn't use MSI technology, looks like install shield or something similar)

When the uninstall.exe runs it kicks off the uninstall process however it 
returns an exit code 0 (success) straight away in the AppEnforce.log. Then App 
deployment detection runs immediately after this exit code is registered and 
because the application's exe is still present it thinks it hasn't uninstalled. 
It eventually fixes itself up after an Application Deployment Evaluation cycle 
is run which then picks up that the exe is no longer present.

The problem really lies in my detection rule however I'm not sure what options 
I have. If anyone has encountered this sort of issue before and has a possible 
solution I would be interested in their thoughts. I'm thinking I need a script 
maybe that will loop until the uninstall.exe has finished removing the 
application??

Cheers
Damon



________________________________

CONFIDENTIALITY NOTICE AND DISCLAIMER
The information in this transmission may be confidential and/or protected by 
legal professional privilege, and is intended only for the person or persons to 
whom it is addressed. If you are not such a person, you are warned that any 
disclosure, copying or dissemination of the information is unauthorised. If you 
have received the transmission in error, please immediately contact this office 
by telephone, fax or email, to inform us of the error and to enable 
arrangements to be made for the destruction of the transmission, or its return 
at our cost. No liability is accepted for any unauthorised use of the 
information contained in this transmission.




Reply via email to