As part of some testing, I’ve checked out what happens in the scenario where you remove a user from a delivery group while the user has an active session. The current session continues to run normally, but the user won’t have that session available in their Web Interface.


I’ve recently come across the error described in this article: http://support.citrix.com/article/CTX200551, the article isn’t quite clear on the service to restart. The service you want is “Citrix PVS Soap Server”, rather than “the SOAP service”

I’ve recently been dealing with installing and configuring two HP products to work together – HP UFT 12 and HP ALM Platform Loader 12.2. The key challenge was working in a locked down environment which prevented the per user installation of ALM Platform Loader. ALM usually installs an ActiveX control into the user’s profile, but as this wasn’t an option, I modified the ALM-Client.ini file to refer to a location in C:\Program Files (x86) that I copied all of the resultant files to. You still need to make sure the ALM-Platform-Loader.12.ocx file is registered and that your executables are whitelisted. ALM will also want to execute some files in %temp%, so be aware of this.

UFT installs through a more typical local msi install and has some of the same issues of whitelisting in a locked down environment. There are some links from within ALM to UFT, but the key one I was concerned with was connecting to ALM from UFT. In particular, as a regular user, only 1 site could be connected to at a time. This turned out to be due to the WebClient.dll file being registered from the folder related to the site. A regular user couldn’t change the registry value, so could only connect to 1 site. This came up when the test site worked fine, but production didn’t! The registry value you need to change when switching between sites is


Something especially lousy about this is that because this is a file registration, users need to have access to all of HKEY_CLASSES_ROOT, so realistically it CAN’T be changed dynamically. However, if you change permissions on this key and write a script to modify the key at launch, you can switch between sites, even if not within one session. I didn’t need to do this as we were able to just change the key to point to the production server.

I’ve recently been dealing with a problem with Adobe Acrobat Pro where the Adobe PDF Printer won’t install and work correctly. I’ve worked through a number of steps and have gotten the driver and printer to the point where it will install and print to any locally accessible location (not a network location).

Just like a bunch of others, installing Acrobat completed successfully and the program works, but the Adobe PDF printer isn’t available in other programs. I tried some of the standard steps, adding the printer manually, using the printUI.dll command line options, but I’d still get an error like Element not found

Reading the AdobePDF.inf file and finding that it required core printer driver {D20EA372-DD35-4950-9ED8-A6335AFE79F1} and finding that it was missing led me to track down missing or different items on a computer that was working. I gather that the Adobe items listed below would be delivered by the installation if the Core Printer drivers were correctly in place. I should note that some of the files copied in the first step were Adobe files, but some are PS* files. Here is a list of the files copied in that step

Mode LastWriteTime Length Name
—- ————- —— —-
-a— 23/09/2012 5:43 PM 66 ADGELP.INI
-a— 23/09/2012 5:43 PM 55432 AdobePdf.dll
-a— 23/09/2012 5:43 PM 26768 AdobePDFUI.dll
-a— 28/06/2015 9:50 AM 20292 ADPDF9.BPD
-a— 23/09/2012 5:43 PM 28058 ADPDF9.PPD
-a— 23/09/2012 5:43 PM 39048 ADREGP.DLL
-a— 23/09/2012 5:43 PM 1294472 ADUIGP.DLL
-a— 22/08/2013 10:31 PM 2899968 PrintConfig.dll
-a— 5/12/2014 3:01 PM 885248 PS5UI.DLL
-a— 19/06/2013 12:44 AM 26038 PSCRIPT.HLP
-a— 19/06/2013 1:09 AM 1062732 PSCRIPT.NTF
-a— 5/12/2014 3:01 PM 649216 PSCRIPT5.DLL
-a— 19/06/2013 1:09 AM 1293180 PSCRPTFE.NTF
-a— 19/06/2013 1:09 AM 5561 PS_SCHM.GDL

The steps I’ve undertaken to get a functional Adobe PDF printer created are:

1. Copied Adobe files from “C:\Windows\System32\spool\drivers\x64\3” on a working PC
2. Copied adobepdf.inf_amd64_8372a4bb5d1330af.cab from “C:\Windows\System32\spool\drivers\x64\PCC” on a working PC
3. Added registry keys in [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\PackageInstallation\Windows x64\CorePrinterDrivers\{D20EA372-DD35-4950-9ED8-A6335AFE79F1}]
4. Added registry keys in [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\Adobe PDF Converter]
5. I tried restarting the Print Spooler, but could only add the printer manually, not using the rundll32 printui.dll,printUIEntry commands
6. Added the registry keys in [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\Adobe PDF]
7. Restarted print spooler

The two main things I’m not sure about are why the Core Print Drivers weren’t installed and functional and why a command like rundll32 printui.dll,printUIEntry /if /b “Adobe PDF” /f”C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\Xtras\AdobePDF\AdobePDF.inf” /r “Documents/*.pdf” /m “Adobe PDF” didn’t work automatically.

Coming across this error
“The return code from the Adobe Installer Process is (31).Stopping the installation process.”

led me onto this page from Adobe indicating 31 means not enough space:


I’ve been seeing these errors with a range of App-V sequences installed to Windows 7 PCs with App-V 5.0 SP2 installed. Trying both Hotfix 2 and Hotfix 5 didn’t make a difference.

Troubleshooting info on the 0x5 indicated Access Denied and using procmon, this ultimately led back to Access Denied errors when trying to CreateFile in C:\ProgramData. Granting Domain Users special permissions on This folder only to Create files / write data appears to have resolved this.

Citrix Desktop Lock doesn’t natively support an unattended or silent installation as a system account as it sets a different shell for the installing user so that they can manage the computer as normal. In order to get the installation to complete silently, I’d recommend:

  1. Complete an installation as a logged in user and generate a verbose install log. You’ll get some entries in the log generated by a custom action called CtxSetLiveInDesktop. Running as an interactive user will show all the registry keys this reads and sets.
  2. Create a transform of the msi which removes the custom action CtxSetLiveInDesktop from executing.
  3. The install will now complete when run with the transform but won’t set the vital keys to enable the shell functionality.
  4. After the installation, set these values and anyone who logs on will get the Desktop Lock experience

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] “Shell”=”C:\\Program Files\\Citrix\\ICA Client\\pnagent.exe”

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot] “Shell”=”USR:Microsoft\\Windows NT\\CurrentVersion\\Winlogon”

Set these values and anyone who logs on will get the normal Windows experience

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] “Shell”=”explorer.exe”

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot] “Shell”=”SYS:Microsoft\\Windows NT\\CurrentVersion\\Winlogon”

** As a note to this, you can alternatively set the HKEY_CURRENT_USER value HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell=explorer.exe in the Citrix Desktop Lock scenario if you want particular users to see the standard Windows shell. You might set this through Group Policy, logon script etc