I am having some trouble with my software GPO's and can't seem to find any answers using Google. I successfully deployed software using my policy but when I delete another, the uninstallation of the software does not take place. What I did:
- Deployed software using a GPO, used
gpupdate /forceon the workstation to update, reboot, and install the software
- Deleted another software installation by: Right-Click > All Tasks > Remove > 'Immediately uninstall the software from users and computers'
From there, I did another
gpupdate /force to try and get the GPO to refresh and uninstall the software on the workstation. This did not work. I then forced replication between my domain controllers and ran another
gpupdate /force on the workstation and this did not uninstall the software. There are not error logs or indications that the uninstall is being triggered when I go into the event viewer, and I know for a fact that the policy is working in other aspects.
So my questions is: Where do I look next to find the answer as to why GPO software deployments are working but un-installations are not, based off of what I have already tried?
Thank you in advance.
UPDATE: After using
gpresult /z, there is no indication of a pending un-installation or removal of software. Under the section entitled "Software Installations", the software I am trying to uninstall is not listed. There is no other indication that the software I am trying to uninstall even exists. I also turned on RSoP logging and did (yet another)
gpupdate /force to yield no blatant results. There is no indication that an uninstall event was even triggered, let alone incapability or failure.
Although I am sure I marked it to uninstall in case of two events (the falling out of the scope of management, as well as the removal of the entry), I am beginning to think the entry just never triggered something that should have been triggered.
UPDATE #2: After troubleshooting this (frustrating) application assignment, I have chalked it up as a fluke. I have tested with other software to make sure that the uninstall of other application assignments is actually working, so I am assuming it is something related to the package directly. There is the possibility that my problem resides in something related to what @joeqwerty linked in a comment below but because I can't go back in time, I don't think I will be able to prove it. I will probably be running a script via another GPO to guarantee the un-installation of left over package installs. For now, Evan Anderson is getting the answer because of the debugging information I was able to put to good use.
UPDATE #3: After Evan's edit in his answer, I did some more digging. When I deleted the application assignment from my GPO, I actually deleted 2 entries. One was for a previous version and one was for the most updated version (ie: program v1.0 and program v1.1, which updated program v1.0). I checked into the
packageFlag for both of these, and one of them indicated that I in fact did not check "uninstall immediatley" (this is v1.0). The most recent update package (v1.1) was set to uninstall and had the following flag:
-1610350320. I could not find a description for this flag using any of the resources I typically use, but I am assuming this indicates to uninstall the package immediately (vs
-1610612464, which Evan indicated means to leave the package alone). Thank you very much Evan for showing me this resource, I did not know it existed! You were right also, "chalking it up as a fluke" does not sit well with me and I could not stop thinking about what happened.
Thank you to everyone that helped contribute so far!