/build/static/layout/Breadcrumb_cap_w.png

Problems Removing Our App.

Hi There,

I hope someone can help. We have a customer that installed our software by deploying system images. The application was installed by a certain user on the images and that user is no longer with the end user's company.

We are trying to find a way to force uninstallation of our product for the customer. Currently, they log in as an Admin (Vista or Win 7 machine I believe) then rt click the original .msi and click Run As Administrator. They choose remove, but the uninstall croaks on a .ico file that was in the users profile (that is no longer with the company) then rolls back.

Do I have to run msiexec as Admin with a runas utility?

I thought there was a way to force an uninstall, maybe using the System Account. ???

Any help would be greatly appreciated!!

0 Comments   [ + ] Show comments

Answers (8)

Posted by: jmcfadyen 13 years ago
5th Degree Black Belt
0
if you are saying this was installed per user then an admin can remove using the API.

windowsinstaller.installer and msiEnumProductsEx will get you the SID of the user who did the installation as PER user.

From there you can use the InstallProduct Method to remove the product using the GUID and SID of the named user found previously.
Posted by: anonymous_9363 13 years ago
Red Belt
0
It might be quicker to be delete the registry keys which flag its status as per-user. Off the top of my head:.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Managed\[UserSID]
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[UserSID]

Group policy installs feature here:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\AppMgmt\[ProductCode]

There may be a HKCU equivalent of the above.

Once you've deleted this junk, the engine believes it to be a vanilla, per-machine install and you can uninstall it in the usual way.

Another useful dodge, if you know exactly what gets installed by your product (!), is to remove the files and registry data manually then run MSIZap to clean out the installer data.
Posted by: Superfreak3 13 years ago
2nd Degree Black Belt
0
I forgot to add what we see in the logged uninstall attempt...

Action start 15:20:56: InstallFinalize.
DEBUG: Error 2330: Error getting file attributes: \\COMPNAME\Users1\MSmfld\Home\My App WorkArea. GetLastError: 4350
MSI (s) (D8:C0) [15:21:02:097]: Product: Our 8.0 Client -- Internal Error 2330. 4350, \\COMPNAME\Users1\MSmfld\Home\My App WorkArea

Internal Error 2330. 4350, \\COMPNAME\Users1\MSmfld\Home\My App WorkArea
Action ended 15:21:02: InstallFinalize. Return value 3.
Action ended 15:21:04: INSTALL. Return value 3.


I don't know if this gives any valuable information based on your responses or not.
Posted by: anonymous_9363 13 years ago
Red Belt
0
Does your MSI contain a property COMPNAME, by any chance? If it does, I think you can probably work out how to proceed.
Posted by: Superfreak3 13 years ago
2nd Degree Black Belt
0
No that was just a generic term I put in there for the actual computer name noted in the uninstall log.
Posted by: Superfreak3 13 years ago
2nd Degree Black Belt
0
We're trying the registry deletions right now, but coding widget to use what you suggested sounds interesting. You wouldn't happen to have some sample code would you?
Posted by: anonymous_9363 13 years ago
Red Belt
0
The WI object model is described in full on MSDN. The SDK also contains some code samples.
Posted by: jmcfadyen 13 years ago
5th Degree Black Belt
0
take a look here there is plenty of examples on how to use the automation interface to enum products.

http://blogs.technet.com/b/alexshev/archive/2008/06/30/from-msi-to-wix-part-17-windows-installer-automation-interface-part-2.aspx
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ