June 5, 2015 - Sven Huisman

App Volumes and VMware UEM issue

If you want to use or test VMware App Volumes and VMware UEM you will run into a minor issue. The Applications that are installed in the Appstack(s) will not be visible in the desktop until you refresh the shortcuts with VMware UEM. This will only occur if you check if the application is available with a VMware UEM condition:

Check executable VMware UEM

It seems that the applications that are installed in an Appstack are not yet available when the user logs in. You will also run into this issue when an Appstack is mounted when the user is already logged in.

I discussed this issue with my colleague Rob Beekmans and he already blogged about it.

I found a workaround for this. App Volumes has a feature to run scripts at various times during the mounting process of Appstacks:
  • prestartup.bat : Runs as SYSTEM (if the volume is attached from boot, this will run when svservice starts)
  • startup.bat : Runs as SYSTEM (if the volume is attached from boot, this will run when svservice starts)
  • shellstart.bat: Runs as user (if the volume is attached before the user logs in, this is called just before the Windows shell launches)
  • startup_postsvc.bat: Runs as SYSTEM (but only if there are services/drivers on the volume) logon_postsvc.bat: Runs as user (but only if there are services/drivers on the volume)
  • allvolattached.bat: Runs as user (if multiple volumes are all attached at the same time such as during logon, this is called only once)
In my opinion, the best option is the create an allvolattached.bat and put this in the AppStack that will be assigned to all users. If you don’t have a single Appstack for all users, you can also put it in all the Appstacks, this script will still only run once.

 

How to add the script to an Appstack?
  • Mount the Appstack to a VM that has no App Volumes agent installed.

From the vSphere console or web client, edit settings on the VM, add existing disk, browse to the App Volumes datastore where the Appstack is located you want to edit. It is very important that the VM has no App Volumes agent installed!

  • Assign a drive letter to the disk.

Log in to the VM, go to disk management and add a drive letter to the App Volumes disk.

  • Open Windows Explorer and browse to the Appstack volume.
  • Create a new text-file and rename it to: allvolattached.bat. (in the documentation allvolsattached.bat is mentioned, but it should be allvolattached.bat).

AV volume

  • Edit the batch-file and put the following command to it:
“C:\Program Files\Immidio\Flex Profiles\FlexEngine.exe” -uemrefreshshortcut
AV script
  • Remove the drive-letter from the Appstack volume.

Remove drive letter

  • Shutdown the VM and remove the disk from the VM (don’t delete it :-)).

Remove disk from VM

If a user now logs on, the shortcuts will be refreshed once all Appstacks are loaded. VMware will probably fix this soon, but for now this is a decent workaround.

Update:

An easier way that accomplish a shortcut-refresh at user-login is to put the same command in the startup folder:

Startup-immidio

This will only refresh the shortcuts at login, not when Appstacks are mounted while a user is already logged in.

 

Virtual Desktop App Volumes / VMware UEM /

Comments

  • Ernest says:

    Hello, I found that there is an easier way to resolve the UEM issue. Inside the UEM profiles, go to User Environment. Then, looking at the left hand column, all the way at the bottom is Policy settings. If you highlight this with the right mouse, you will see an option to disable this. Select disable, and the icons are not blocked any further.

    However, you might need to either go to gpedit.msc on the local machine to re-enable this option [It is under Local Computer Policy ->User Configuration -> Administrative Templates -> Start Menu and Taskbar and then select “Remove Common Program groups from Start Menu” and disable it.

    Or, in my testing, the safest is to delete the local profile of the user, AND the UEM profile, and simple start over. Your apps will appear instantly now without any further scripting.