I am having a strange issue with printer mapping on my horizon clients that use AppVolumes and UEM. Sometimes everything works great and the printers are mapped at login without an issue, the majority of the time the printers do not map and the user has to manually click the UEM Refresh to get the printers to show up. After running the refresh everything works fine. I have read some info and understand that it looks like it could be a struggle with appvolumes installing things such as the adobe printer at the same time as UEM is executing the mapping.
I have tried easy stuff like having UEM refresh run at logon by putting it in the startup folder and have played with other settings trying to fix it. Does anyone have a solution? I am currently working on trying to add a registry entry to run at startup as well but am not convinced it is working, we are currently recomposing.
I am sure others have this error with a good work around.
The problem is that Appvolumes, after it is done merging the enviornment, restarts the Print Spooler. This is indeed done to "create" printers that are installed in the appstack, mostly PDF printers that are part of applications like Adobe Pro. If you wouldn't restart the spooler you wouldn't have these printers.
The thing is that during logon Appvolumes is still merging appstacks (see other topics on this forum) and thus you can never decide or know 100% when Appvolums is done merging. What we did is create a powershell script that wait for a few seconds after logon and then checks to see if the spooler service is running and if Appvolumes is done processing.
Only downside is that there is no 100% failsave option to do this. Appvolumes doesn't write a message in the Event viewer of the svservice.log when it is done.
If you want to be 100% sure that the printers are there just make sure to delay the creation of printers (either by using UEM or a script) or add the printers into the golden image. But to be honest this is only feasible if you only have a follow me printing kinda thing going on.
I have a mess load of scripts to do this but using UEM to schedule them only gives you 2 options logon and logoff...if you use a logon then the same thing happens... I wish it would let you schedule it to run 30 seconds after logon or something. I like using UEM to do this because I can conditionally run a script based upon user group or endpoint name. Not really any good workaround for this. Hard to believe this isn't a bigger issue.
I'd say try and ask for a feature request. We have asked this a few times and let's just keep our fingers crossed .
It should be as simple as adding a condition within UEM that checks to see if all Appvolumes appstacks are attached.
Big positive on 126.96.36.199 is that it does reverse replicate after logon so attaching and merging the appstacks in our case takes up to 15 seconds at max (and then we have either very large appstacks or just a large amount of appstacks). So you could start adding printers a lot earlier.
I would use the below workarounds.
1) use printers to deliver asynchronously, [check this option in UEM under printers]
2) for refresh printers: use Triggered Tasks under UEM, please let me know if you need any more help on step-2
1) tried it and it doesn't work.
2)The triggers are Lock, Unlock, Disconnect or Reconnect and those don't work for this scenario. If there were other options that you could choose from that would be awesome.
Have you checked this KB VMware Knowledge Base ?
You can run the printer refresh ("C:\Program Files\Immidio\Flex Profiles\Engine.exe" -uemrefreshprinter) from Flexengine in the AppVOl Attached Script Cloning AppStacks and Modifying Scripts - VMware Consulting Blog - VMware Blogs that way it would run post login.
I'd say upgrade to UEM 9.3 It seems as if they have listened to us and added a condition that checks to see if Appvolumes is done merging appstacks. This way UEM's printer attachment doesn't interfere with Appvolumes merging of appstacks.