uninstall msi from sys context which was previous installed per-user
Hello,
I have an already deployed application (msi package) which was installed with no ALLUSERS property, this means that was a per-user installation, and now I have a newer version of this application and I should first remove the older version (if is installed) from a system context. This removal must be done outside of the newer version msi( so i cant use the upgradetable etc)
Is there anyway I can do this, i am thinking that are some registries that has to be added on sys context also, which are present only on the user account.
Any Ideas. Thanks!
I have an already deployed application (msi package) which was installed with no ALLUSERS property, this means that was a per-user installation, and now I have a newer version of this application and I should first remove the older version (if is installed) from a system context. This removal must be done outside of the newer version msi( so i cant use the upgradetable etc)
Is there anyway I can do this, i am thinking that are some registries that has to be added on sys context also, which are present only on the user account.
Any Ideas. Thanks!
0 Comments
[ + ] Show comments
Answers (6)
Please log in to answer
Posted by:
SorenHJ
10 years ago
I had the same problem with some users that had had our supporters install software for them in user context. Using SCCM I can now uninstall it using this:
In the wanted context just reinstall the product and you can remove it afterwards:
msiexec /i "Programme.msi" REINSTALLMODE=sumo /qn
msiexec /i "Programme.msi" REMOVE=ALL /qn
Posted by:
timmsie
14 years ago
You just need to create a pre-requisite script that checks for the existence of the msi and then runs:
msiexec /x {PRODUCTCODE} /qb
you can use the installer object functions for this http://msdn.microsoft.com/en-us/library/aa369463%28v=VS.85%29.aspx
msiexec /x {PRODUCTCODE} /qb
you can use the installer object functions for this http://msdn.microsoft.com/en-us/library/aa369463%28v=VS.85%29.aspx
Posted by:
dryce
14 years ago
Posted by:
AB
14 years ago
Kid the machine in to thinking the product is installed per-machine
Steal the Installer Product reg from HKCU from a per-user test install and transpose it in to HKCR\Installer\Products\...
Test
And enjoy the weekend...
Al
I've also seen per-machine installs performed 'over the top of' a per-user install - the Product can then be uninstalled... bit of a ball ache...
Steal the Installer Product reg from HKCU from a per-user test install and transpose it in to HKCR\Installer\Products\...
Test
And enjoy the weekend...
Al
I've also seen per-machine installs performed 'over the top of' a per-user install - the Product can then be uninstalled... bit of a ball ache...
Posted by:
anonymous_9363
14 years ago
It's not as simple as that. You need to remove a whole bunch of other stuff, too, like
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\AppMgmt\[GUID]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\[UserSID]\GroupMembership
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\[UserSID]\History\[DomainGUID]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\[UserSID]\History\[GUID]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Managed[UserSID]
Several of the keys in these hives will feature the ProductCode's GUID in what Microsoft calls "packed" format (which saves 6 bytes...wow!). There's a script knocking around on AppDeploy which translates these back and forth, to make it easier to determine which product is involved. I think that's everything but just in case, once you have the packed GUID, search the registry for it and the regular GUID.
Failure to remove the GP junk will bite you at some future point. BTDT, at a client which insisted on per-user installs. The Software Compliance team identified, for example, over 200 instances of an application for which the client had only 30 licenses. They wanted a tool to remove these spuriously installed instances of apps, where users had logged in to machines other than their normal one. An early version of the tool which failed to address the GP registry stuff caused no end of weird behaviour with apps which only a rebuild fixed.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\AppMgmt\[GUID]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\[UserSID]\GroupMembership
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\[UserSID]\History\[DomainGUID]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\[UserSID]\History\[GUID]
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Managed[UserSID]
Several of the keys in these hives will feature the ProductCode's GUID in what Microsoft calls "packed" format (which saves 6 bytes...wow!). There's a script knocking around on AppDeploy which translates these back and forth, to make it easier to determine which product is involved. I think that's everything but just in case, once you have the packed GUID, search the registry for it and the regular GUID.
Failure to remove the GP junk will bite you at some future point. BTDT, at a client which insisted on per-user installs. The Software Compliance team identified, for example, over 200 instances of an application for which the client had only 30 licenses. They wanted a tool to remove these spuriously installed instances of apps, where users had logged in to machines other than their normal one. An early version of the tool which failed to address the GP registry stuff caused no end of weird behaviour with apps which only a rebuild fixed.
Posted by:
dryce
14 years ago
ty all, for your resposes, that trick AB told about, did worked until a point, meaning that system tries to uninstall the package (which is a step forward :) ), but afterwards it gets into another weird errors, related to the package ( its a VMware workstation 4.5 btw) which has many stuff going on under the 'hood', and i have to dig more about those. Also I'll take into consideration what u told me - VBSCAB.
So, ty all and have a nice weekend too :)
So, ty all and have a nice weekend too :)
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.