VMware Horizon Community
tradsd
Enthusiast
Enthusiast

Thinreg switches /uninstall vs /unregister

There's no real documentation anywhere that I can find distinguishing the difference between the thinreg switches /uninstall and /unregister.

We have ran up against a situation where we are using one active directory security group for our standard set of several applications.  We have made the decision to remove a thinapped application out of that group and install as a part of our base image.

Previously, I posted and it was suggested that to remove this application out of our basic group that I:

Create a new security group for the application.

Rebuild the application to use the new security group.

Place all users in the standard group in the new group.

Have users logoff so the icon is not locked.

Place the new application icons using the new security group in the iconpool.

Have the new users login so now the application is associated with the new group.

Once all users have logged back in, take users out of the new security group so that the next time they login the icon will disappear and application will be removed.

This seems to be a very tedious process requiring quite a bit of user intervention in essentially having them logoff and log back in twice just to get rid of the application.  What makes it tough is that there are 100 users that would need to do this and this number is expected to grow as me move forward pushing out more virtual desktops so having to do something like this again could become quite a task.  Users would need to be notified that they would forcefully be logged off on a certain date.  Then another date they would need to be logged off again.  This is less than ideal. 

So, what I think I may have figured out is that I can have a group policy using a logoff script pointing to the application that I want remove with the /unregister switch.  When I do this with the group policy in place it removes the application (icon on the desktop), it doesn't remove from add/remove programs which isn't a big deal.

When I use /uninstall at logoff in the script the application returns as thinreg runs our logon script with thinreg that registers our applications.

I'm wondering if anyone else has been in a similar situation and instituted a similar fix or went a different route and if any repercussions can be seen by doing it this way?  Or possibly could someone at vmware confirm that this is one use of the /unregister switch or why the /unregister switch is even included with thinreg.

0 Kudos
2 Replies
pbjork
VMware Employee
VMware Employee

First, there is no differences between /uninstall and /unregister. They are alias to one and the same parameter which is /U and will unregister a package. Simply run thinreg.exe without any parameters and you’ll get the help file.

Unregister a ThinApp package will use a vbscript created during registration of the application. You’ll find the vbscripts in each packages folder located here: %AppData%\Thinstall\UnRegister for a per user registration or here: C:\PathToProfiles\All Users\Application Data\Thinstall\UnRegister for a machine wide registration. If you edit these vbscripts can you reverse engineer what was modified by thinreg.exe while registering the packages. This way can you manually clean up you machine.

You should be able to run these scripts manually, unregistering without using thinreg.exe if that helps you out. Going through the process of adding your users to new groups seems very tedious and I do not really see the point. That said, I have not looked at your original post.

To unregister one package, why do you not simply run thinreg.exe package.exe /u?

0 Kudos
tradsd
Enthusiast
Enthusiast

Thanks for your response.  I did some testing today.  What I found is:

If I run a separate script using the /uninstall and logoff the application returns at logon because thinreg runs at logon.  The same is true for /unregister and  /u.  This is not what I want at all.

However, when I create a group policy to run at logoff and specify \u the application does not return.  The same is true with \unregister.

I'm really not sure what the difference is with running the script from the desktop or at logoff.  Doesn't really make sense.

Also, when I connect to a virtual desktop using the administrative share and try to run the uninstall script from %APPDATA%\Thinstall\Unregister\Applicaton it runs the vbscript on the machine you run the command from so unregistering manually is not an option this way.  Seems like you would a remote solution to run this using psexec or an invoke-command using a pssession.

I think I have settled upon a logoff scriptas the solution.  I'm open to suggestions however.

0 Kudos