VMware Horizon Community

view 4.5 administrator: "Pending Uninstall"

On VMware View 4.5 I try to remove a ThinApp Application with the View Administrator.

This is not possible because of folloging error: Application is associated with a desktop and can not be removed.

If I show on Desktops I will see this Application with the status: "Pending Uninstall".

I can mark this line but "Retry Uninstall" or "Force Clear Assignment" are greyed out so I have no chance to clear the assignment.

On the corresponding desktop, the application is no longer installed. I have also rebooted the desktop.

What else can I do to remove this ThinApp Application?

0 Kudos
3 Replies

From my understand once you use View Admin to remove an application from a desktop it will not be removed until a user logs in.

If you found this or any other post helpful please consider the use of the Helpful/Correct buttons to award points

Twitter: http://twitter.com/mittim12

0 Kudos


Not sure if you resolved this or not but I came across the same problem and figured out how to get this resolved. Basically I deleted a Thinapp'd package from our repository before a VM had a chance to uninstall it. So I had a VM stuck in the "pending uninstall" state and I couldn't get rid of the package even through it didn't exist anymore and it was manually uninstalled off the VM.

My environment is View 4.5 on 2008 R2 so I'm using the AD Lightweight Directory Services role for all the View info. (I think it's still ADAM if you're using 2003)

Please note that if you aren't sure what you are doing this could hurt your environment. I would recommend a good backup before proceeding.

Step 1 - Open ldp.exe and bind to directory

From your view server, go to a run line and get in to ldp.exe. From the connection menu, hit connect, type in your view servername and hit ok. Go to connection menu again and go to bind, you can bind with currently logged on user if logged into the machine with a View admin account or specify credentials.

Step 2 - Find the application

One you are in ldp.exe, go to the view menu and select tree, from the base DN dropdown select DC=vdi,DC=vmware,DC=int and click OK. You'll now be able to expand the tree on the left and see your directory. First thing I had to do was get the CN for my application. Right click the OU=Applications and select search. In the search box, your base DN should be OU=Applications,DC=vdi,DC=vmware,DC=int. In the filter, type in (pae-DisplayName=Name of your Application), scope should be set to One Level and then hit run. So my search was for (pae-DisplayName=Mozilla Firefox 3) and I got a return of:

ldap_search_s(ld, "OU=Applications,DC=vdi,DC=vmware,DC=int", 1, "(pae-DisplayName=Mozilla Firefox 3)", attrList,  0, &msg)
Getting 1 entries:
Dn: CN=9edf939c-bf6a-4304-81e4-6e4812b7d220,OU=Applications,DC=vdi,DC=vmware,DC=int
canonicalName: vdi.vmware.int/Applications/6f1b7b1b-839a-4b85-ab21-b7ecb23f9318;
name: 6f1b7b1b-839a-4b85-ab21-b7ecb23f9318;
objectClass (4): top; pae-Entity; pae-App; pae-ThinAppApplication;

So make note the CN of that application because you'll need it in the next steps.

Step 3 - Find the VM

Now we need to find the machine that has that application assigned and manually delete the application. I only had one machine that needed cleaned up so not sure if there would be a better way to do this if you had hundreds of machines messed up.

Back on the left tree view, right click OU=Servers and select search. The base DN should be OU=Servers,DC=vdi,DC=vmware,DC=int and for the filter, type in (pae-DisplayName=(Name of the VM). So my search was for (pae-DisplayName=ITVM100) and I got a return of:

ldap_search_s(ld, "OU=Servers,DC=vdi,DC=vmware,DC=int", 1, "(pae-DisplayName=ITVM100)", attrList,  0, &msg)
Getting 1 entries:
Dn: CN=eff5eb04-a03f-4e08-8893-a81fd7dd468f,OU=Servers,DC=vdi,DC=vmware,DC=int
canonicalName: vdi.vmware.int/Servers/eff5eb04-a03f-4e08-8893-a81fd7dd468f;
description: VM=(ITVM100) DNS Name=(ITVM100.company.com);
name: eff5eb04-a03f-4e08-8893-a81fd7dd468f;
objectClass (5): top; pae-Server; pae-WinServer; pae-ThinWinServer; pae-VM;

Again make note of the CN of that computer because we need to find it in the servers OU.

Step 4 - Look at the attributes on that VM

From here you can expand the OU=Servers tree and locate that CN so we can look at the properties first. Once you find that CN, double click it and you'll get all the attributes assigned to that object output on the right. If you look down through those attributes you should get to a section that looks like the output below when I searched for my VM.

pae-ThinAppInstallTypes (2): 32f59d5b-c07c-4ef9-812b-7f4f5ff4263a=STREAM; 9edf939c-bf6a-4304-81e4-6e4812b7d220=FULL;
pae-ThinAppMSIPackageDN (2): CN=32f59d5b-c07c-4ef9-812b-7f4f5ff4263a,OU=Applications,DC=vdi,DC=vmware,DC=int; CN=9edf939c-bf6a-4304-81e4-6e4812b7d220,OU=Applications,DC=vdi,DC=vmware,DC=int;
pae-ThinAppMSIPackagePendingUninstallDN: CN=9edf939c-bf6a-4304-81e4-6e4812b7d220,OU=Applications,DC=vdi,DC=vmware,DC=int;
pae-ThinAppMSIPackageUninstallError: CN=9edf939c-bf6a-4304-81e4-6e4812b7d220,OU=Applications,DC=vdi,DC=vmware,DC=int;

I underlined the attribute name to make it easier to read and also bolded the values that match the CN of the application we need to get rid of. As you can see I have 2 packages assigned to the VM, one of them matches the CN of the package I need to get rid of. You can also see it's assigned as an MSI so this might not be the case for you. And lastly you can see that the package is pending uninstall and it has an uninstall error. So I have 4 things I need to get rid of.

Step 5 - Modify the VM object to get rid of the application

Now we can get rid of it. From the tree on the left, right click the CN of the machine you're working with and click "modify". If you didn't go through the last step to locate the VM in the large list, just go to the browse > modify menu or hit ctrl+M.

On the modify window, the DN should be the full DN to the machine you are modifying, in my case it is: CN=eecfc1eb-75ae-4179-abe4-af75de69984c,OU=Servers,DC=vdi,DC=vmware,DC=int

In the edit entry we are going to remove all the stuff we found in the previous step from that object.

To do that: in the attribute text box type "pae-ThinAppInstallTypes" (no quotes) and for the values type the value we found in the previous step which is "9edf939c-bf6a-4304-81e4-6e4812b7d220=FULL" (no quotes), for the operations select Delete, then click the Enter button. This will add that delete command to the entry list of commands we are about to do. Repeat this for each attribute and its value. Note that the values for the pae-ThinAppInstallTypes was different than the other 3. In my case when I was done, my entry list had 4 deletes ready to go. Now just click Run and look at the output on the right window. If all goes well you should see a ***Call Modify line and that it modified the attribute, if you see any errors, check your attributes and values and try again.

Now if we go back to the to the tree view and double click the VM CN as we did in step 4, I see all my stuff is gone and the only thing left is the 1 application that I did not get rid of:

pae-ThinAppInstallTypes: 32f59d5b-c07c-4ef9-812b-7f4f5ff4263a=STREAM;
pae-ThinAppMSIPackageDN: CN=32f59d5b-c07c-4ef9-812b-7f4f5ff4263a,OU=Applications,DC=vdi,DC=vmware,DC=int;

If you go back to the View Manager you should now see that the VM no longer has that package assigned and you're able to now remove it from View or do whatever you need to with it.

Hope that helps!

0 Kudos

This is also applicable to View 5. Thanks,

0 Kudos