Acrobat products support deployment on Citrix Virtual Apps and Desktops (formerly XenApp and XenDesktop) on Windows machines. Since there are many ways to configure Acrobat products as well as Citrix servers, these instructions are intended as basic examples. Administrators may need to tailor these instructions to meet the requirements of their own environment.
Session vs. application virtualization
- After printing from command line, adobe will leave aleast one window open which can hang your script. Open a non related pdf or adobe window. This will keep your script running – Pete Brumm Aug 7 '12 at 12:43.
- AdobeExpiryCheck (v1.0.0.3) is a command-line utility for IT Admins to check whether Adobe products on a computer are using serial numbers that have expired or are expiring.
- The command line tools provided by the BlackBerry Tablet OS SDK for Adobe AIR are a collection of tools used to develop, package, sign and deploy an Adobe AIR application. System requirements. Description Windows requirements Mac requirements Operating system Windows 7 or Windows XP SP3.
The Extension Manager Command Line tool sends the result of extension installation or removal to the other Adobe product by default. Please use disableSendResult to disable the function. Navigate to the Extension Manager application folder. Enter the following command, specifying your own attribute values.
Session virtualization where installed applications are streamed to clients is supported. Application virtualization where a Streamed Profile package is delivered either to the Citrix Server or the end users computer is not. While Citrix supports both session virtualization and application virtualization, only the former where the application is hosted on a server is well tested. While streaming is unsupported, some forum users have figured out how to create a package and stream it to clients.
System requirements¶
Note that while testing occurs with the product listed below, intermediate Citrix versions are supported.
Acrobat release Oct. 2018: Citrix 7.15 and Win Server 2016.
Acrobat release Oct. 2016: Citrix XenDesktop 7.9, XenApp 7.9 and the latest hot fixes with 64-bit Win 7, 8, and 10, (pooled non persistent VMs).
Acrobat release May 2016: Citrix XenDesktop 7.6 and the latest HotFixes with Win 7 64-bit and Win 8 64-bit (pooled non persistent VMs).
October 13, 2015 update: Citrix XenApp 7.6 with Win 2012 Server Standard edition 64-bit.
Tested environments¶
Because there is an unlimited number of possible execution environments, Adobe confines its testing to common scenarios. For Citrix deployments, the environments used for testing were as follows:
A user account was set up using Active Directory domain user group. The Anonymous User profile was not tested.
The user account was set up on the server as non-privileged accounts. The user can operate the computer and save documents, but they cannot install programs or make changes to the system files or settings.
The server machine was running typical enterprise software. For example, testing scenarios often include installing the latest versions of Microsoft Office Professional, Microsoft Internet Explorer, Microsoft Visio Professional Version, Microsoft Office Publisher, Microsoft Office Project Professional, Lotus Notes, and McAfee VirusScan Enterprise.
Citrix tuning¶
How you tune your environment depends on a number of factors such as the number of users, requisite features, PDF content, and so on. It is advisable to use this documentation as well as that provided by Citrix at http://support.citrix.com/search/basic/?searchQuery=Adobe+Acrobat&searchbtn.x=0&searchbtn.y=0.
Note
Admins may want to consider eliminating setup redundancy by using a provisioning server. You can configure the settings on that server and then use it to populate all other Citrix servers with the identical configurations.
Disable Memory Optimization on 64-bit systems. For details, see https://support.citrix.com/article/CTX136287.
Enable CPU Fair Sharing. Certain Acrobat operations can be very CPU hungry. Enabling Fair Sharing ensures that one or two processes do not hog the server’s CPU resources. See http://support.citrix.com/proddocs/topic/xenapp6-w2k8-admin/ps-cpu-utilization-features-v3.html.
Microsoft: Apply all critical and recommended hotfixes and all hotfix rollup packs that Microsoft provides.
Apply all critical and recommended hotfixes and all hotfix rollup packs that Citrix provides. Refer to http://support.citrix.com/article/ctx129229
Tuning for virtual envs¶
Tune the installer prior to imaging and deployment.
Tuning helps mitigate performance issues, simplifies the end user experience, and allows you to disable features and behaviors that should not be accessible to end users in an IT-managed environment.
Install the latest product.
Disable the updater.
Accept the EULA on behalf of all users by setting the appropriate registry key.
Use SUPPRESSLANGSELECTION on the command line at install time to disable user’s ability to change the language.
If the product language should be different than the OS languages, set the language.
Supress registration (there are multiple ways: Wizard, cmd line property, PRTK tool).
Disable push notifications: Set bToggleNotifications to 0.
Disable the Help > Repair Acrobat Installation menu by setting:
32 bit machines:
[HKLMSOFTWAREAdobe(productname)(version)Installer]'Disable_Repair'
64 bit machines:
[HKLMSOFTWAREWow6432NodeAdobe(productname)(version)Installer]'Disable_Repair'
Scrolling performance
If scrolling performance is poor in graphic intensive documents, try the following:
Go to Edit > Preferences > Rendering.
Uncheck Smooth line art and Smooth images. Alternatively, you can set these preferences during pre-deployment configuration:
Distiller performance
In some environments, Distiller performance may suffer if the messages.log file becomes too large after a number of Distiller operations. Delete this file periodically. It is located at
ApplicationDataAdobeAcrobatDistiller<version>messages.log
.Remove unused fonts from the Windows installation.
Folder permissions
Protected Mode will only work when the USERS group has the following permissions on the product installation folder: Read and execute, List folder contents, Read. For a default installation, the path might be C:ProgramFiles(x86)AdobeAcrobatReaderDC
.
Other settings
There are over 500 other registry preferences documented in the Preference Reference . Use the Wizard or manual/scripted methods to customer the product.
Cursors
Citrix does not support scalable cursors. Disable scalable cursors by setting HKLMSOFTWAREWOW6432NodePoliciesAdobe(productname)(version)FeatureLockdownbShouldUseScalableCursor
to 0.
Licensing¶
Only licensed users should have access to the virtual Acrobat instance. For more information, refer to the Software license terms.
Citrix deployments support the following licensing options:
Named user licensing
Serial numbers
Feature restricted licensing
Enabling group access
Citrix offers the option to assign an application to a specific group of users irrespective how the application is deployed and provisioned. This can be done in the Limit Visibility section under Delivery Group in the Studio which lets you configure application users. In this scenario, the application is published globally but is visible only to the users listed in the Delivery Group.
For details, see http://www.virtualizationadmin.com/articles-tutorials/citrix-articles/installing-and-configuring-citrix-xenapp-xendesktop-76-part4.html
Named user licensing¶
Named user licensing (NUL) is the preferred activation method.
DC products support NUL and user management via the Admin Console. The Console supports managing single user and group entitlements for all Adobe products as well as Single Sign-On. It also provides tools for managing software, users, and devices and support multiple ID types. With NUL, end users simply “activate” Acrobat by logging in to any VM or machine. License-related data is saved in the <user>/AppData/Roaming/Adobe/
folder which is synced to the VM on login.
Note
Trial installs and the Classic track do not support named user licensing.
Image-based deployment¶
Set up profile redirection. User profile data in
<user>/AppData/Roaming/Adobe/
as well as the HKCU hive must sync to the VM instance on which the user logs in. Admins should ensure that such data is saved on user logout or disconnect. Some systems provide VM tools; for example, Citrix (Citrix Profile Management) and VMware Horizon (View Personal Management). At a minimum, sync the following:
Folders
C:Users<User>AppDataRoamingAdobeOOBE
C:Users<User>AppDataRoamingAdobeSLData
C:Users<User>AppDataRoamingAdobeAdobe User Info
HKCUSoftware registries:
Adobe
MicrosoftInternet ExplorerToolbarWebBrowser{47833539-D0C5-4125-9FA8-0819E2EAAC93}
MicrosoftInternet ExplorerMenuExt
Wow6432NodeGoogleChromeExtensionsefaidnbmnnnibpcajpcglclefindmkaj
Wow6432NodeGoogleChromeNativeMessagingHostscom.adobe.acrobat.chrome_webcapture
Log in to master image.
(Optional) Customize the installer with the Customization Wizard.
Install Acrobat on the master image by calling the default exe or the one you modified with the Wizard. Use the following command:
Verify the following registry keys are present and the string
(REG_SZ)
values are 1 on the master image. If not, create the key and set the value as 1.
If you are using a Federated ID or connectors (like Dropbox), enable third party cookies:
Choose Internet Explorer > Settings > Internet Options > Privacy > Advanced.
For First-party cookies, choose Accept.
For Third-party cookies, choose Accept.
Shut down the master image.
Take a snapshot of the master image.
Update all VM desktops with the new snapshot.
Note
Unlike serialized deployments, do not launch Acrobat on the master image.
Serialized deployments¶
Note
On November 30, 2019, some customers may see their serial numbers expire. To avoid interruption and to access the latest versions of the apps, migrate to named user licensing or update your serial number.
To image a machine with Acrobat, first generate a prov.xml file on an online machine and then create a permanent offline exception that is not machine specific. Note the following:
Supported for volume licenses only.
Acrobat need not be installed.
The target machine must be online.
Steps:
Download the latest Adobe Provisioning Toolkit Enterprise Edition.
Open an elevated prompt (run as administrator).
Generate a prov.xml file on any machine connected to the internet using the following APTEE tool command line with the following options:
serial
: The serial numberregsuppress=ss
: Optional (but recommended); suppresses registrationeulasuppress
: Optional; suppresses the EULA promptlocales
: Optional; specify from the limited list of locales in the formal xx_XX or ALLprovfile
: Optional; path of the folder where prov.xml is created. If this parameter is not specified, prov.xml is created in the folder in which APTEE resides.LEID
:DC Continuous Track: V7{}AcrobatCont-12-Win-GM
Classic Track 2020: V7{}AcrobatESR-20-Win-GM
Classic Track 2017: V7{}AcrobatESR-17-Win-GM
Classic Track 2015: V7{}AcrobatESR-12-Win-GM
Install Acrobat on the master image.
On the master image, copy the prov.xml file created above. Update for adobe flash player for mac.
Serialize and activate Acrobat using the following APTEE tool command line:
For Acrobat Classic 2020 deployments, create and set
IsAMTEnforced
to 1.
Launch Acrobat once for about a minute and close.
Note
Granting an offline exception using the Customization Wizard for an imaged OS deployment method is not supported. Use the PRTK tool.
Feature Restricted Licensing¶
Acrobat supports Feature Restricted Connected and Offline Licensing (FRL) in most virtual environments, including Citrix, VMWare, RDS/WTS, and App-V. Use this package type for end-users who:
Cannot adopt named user licensing since they are not allowed to use online services.
The users are periodically connected to the Internet (FRL connected).
Restricted environment with no internet (FRL offline).
Support is limited to:
FRL offline
These high level steps do not supersede the details on the FRL page or the deployment steps below, but in general, use the Admin Console to create an FRL-enabled Acrobat package:
Create license-only package from the Admin Console and deploy Acrobat from a standalone installer, OR
Create an FRL package that embeds Acrobat.
Then, deploy as usual:
(Optional) Customize the installer with the Customization Wizard.
Log in to the master image.
Install the package on the master image. If you have created a license-only package, first run the Acrobat installer followed by the license-only package.
Shut down the master image.
Take a snapshot of the master image, and update all VM desktops.
Troubleshooting steps:
Verify that FRL package is applied properly on the master image.
Validate that ASNP, Certificates and Operating Configuration folders are present at
C:ProgramDataAdobe<folder>
on the master image.If present, remove
HKLMSOFTWAREWOW6432NodeAdobeAdobeAcrobatDCActivationIsAMTEnforced
.
Shared Device Licensing¶
Acrobat does not support Shared Device Licensing (SDL) in virtual environments.
However, SDL may prove useful to you in other business contexts. SDL is a licensing model to deploy and manage Adobe applications in labs and shared device setups, where multiple users use the devices and applications. The software license is assigned to a device or computer instead of an individual. SDL is ideal for computers in labs or classrooms, but is not designed for use on machines used by dedicated users. For dedicated users, we recommend you deploy named-user licenses. For more detail, see https://helpx.adobe.com/enterprise/using/sdl-deployment-guide.html
XenDesktop 7.15 installations¶
Adobe Acrobat installation scenarios include both Machine Creation Services and Provisioning Services.
Machine creation services¶
Login to the master image.
Install and update all the applications you want to provide to end users.
Switch off the master machine.
Take a snapshot of the master machine from the farm.
Update the virtual desktop to the latest snapshot:
Log in to the Citrix Studio Server as an administrator.
Open Citrix Studio.
Inside the farm, click on Machine Catalog.
Right click on the catalog you want to update; for example, Win 7 or 10.
Choose Update Machine.
Choose Next.
Select the corresponding Master Image Latest Snapshot.
Select a Rollout Strategy (Immediately. or Next Shutdown).
Choose Next.
Choose Finish.
Provisioning services¶
Login to the golden image server.
Install or update the application.
Go to
HKLMSoftwareWoW6432NodeNetworkAssociateePolicyOrchestratorAgent
.Delete the Agent GUID entry. (It makes the antivirus software independent of the machine until the next reboot thereby allowing it to work on the different servers that are booted by that vDisk.)
Shut down the server.
Log in to the PVS server and open the Provisioning Services console.
Go to Device Collection.
Check which disk is used to boot the main golden image server.
Copy the disk and rename it according to your organization’s naming convention (for recovery purposes).
Return to the Provisioning Services console.
Right click on vDisk Pool.
Click add or import Existing vDisks and add the newly created vDisk.
Recommended Settings:
Go to the newly added vDisk.
Right click and choose Mount.
Open regedit and Click file > load hive.
From the list, select System. A new hive named vDisk should now be present inside HKLM.
Go to HKLM > vDisk > Controlset001 > Services > tcpip > paramaters and make the following changes.
Clear DhcpDomain.
Clear DhcpNameserver.
Clear HostName.
Clear NameServer.
Clear NV HostName.
Make the same changes in all the control sets.
Choose File > Unload Hive.
Open the PVS console again and unmount the vDisk.
Note
These settings help prevent name resolution conflicts on different servers.
Right click the selected vDisk, and choose Load Balancing.
Configure load balancing as desired.
Go to Collection.
Right click on the servers you want to boot the from new vDisk, and select Properties.
Go to the vDisk tab.
Remove the current vDisk.
Add the required vDisk for all the servers individually.
Select each server, and send the restart command. Wait for the servers to restart from the new vDisk.
Go to the Citrix Studio server.
Click on the XenApp server.
From the right-hand menu select Add application.
From the start menu list, select the applications you want to add and choose Next.
Click Finish.
XenDesktop 7.6 installations¶
XenDesktop parent image update process:
Log in to the master image.
Install or update the application.
Take the snapshot.
Virtual desktop update process:
Log in to Citrix Studio.
Open Citrix Studio.
Click on Machine Catalog.
Right click on Catalog.
Choose Update Machines.
Choose Next.
Select the Master Image latest Snapshot.
Select a Rollout Strategy.
Choose Next.
Choose Finish.
Client-side Citrix access¶
This document describes how to use Citrix to access Acrobat via a web interface and the Program Neighborhood Client. Other options are possible. For example, publishing an entire desktop as well as PNA Agent.
Accessing Acrobat via the Citrix Web Interface¶
Install the Citrix web client locally by running XenAppWeb.msi.
Open Internet Explorer and enter the server URL.
Enter your credentials.
Choose Log On.
Double click on any Acrobat or Reader shortcut.
Citrix Maps your local drive with the server. Accessing any local file causes Citrix to open an ICA File Security dialog which asks to allow the server to access your local drive. If you select full access, Citrix maps your both your local drive and printer driver to the server hosted application so that you can seamlessly use the applications.
Accessing Acrobat via the Program Neighborhood Client¶
Install the Citrix hosted client locally by running XenAppHosted.msi. Doing so installs the Web Client, Program Neighborhood Agent, and Program Neighborhood.
Use the installation setup details provided by the Citrix administrator. We know the devil.
Double click the Citrix Program Neighborhood icon to open Custom ICA Connection dialog.
Choose File >Custom Connections Settings.
Verify Network Protocol Connection is set to HTTP/HTTPS on the Connection tab.
Verify Server Group is set to Primary.
Choose ADD.
Enter the server details provided by the Citrix administrator
Choose OK.
Choose Add ICA Connection.
Set Custom ICA connection to Local Area Network.
Choose Next.
Enter a name for the ICA Connection.
Set Network Protocol to TCP/IP+HTTP.
Select the Server radio button.
Enter your server name or select one from drop down list.
Choose the Published Application radio button.
Select Acrobat or Reader from the drop down list.
Select a view for the published application.
Choose Next.
Leave the Encryption Level as default.
Choose Next. In the log-in Window dialog, do not provide any credential information.
Leave Windows color as default.
Choose Next.
Choose Finish.
An ICA connection icon is created with the name you provided. Double click this icon to launch the application.
FAQs¶
Is AppLocker a supported way to restrict access to Acrobat?
No. While it may work, it is untested. Admins have reported Windows Explorer issues when using AppLocker to restrict access to Acrobat on Citrix.
Is Citrix App Layering supported?
No.
Known issues common to virtual installs¶
Push notifications to specific users are unsupported.
If users sign in on both a virtual environment and a physical machine, then they may be randomly signed out from a physical machine. This is because users can activate Acrobat on multiple virtual machines while only two activations are allowed per user. The current implementation provides an over activation workflow for these environments which does not force users to see or interact with any dialogs.
Volume licenses are deleted when multiple users launch the product simultaneously before it is activated.
In the Help menu, signed-in users are not shown as signed-in on subsequent sessions.
Users may appear as signed-in on the Help menu even if they are signed out from the Creative Cloud Desktop application or signed out of the current session.
Signing in with IDs having no subscriptions may result in random failures.
Why do I see an error that my license is expired or not activated?
Users must launch Acrobat prior to using “Print to PDF”, the Microsoft Office Acrobat plugin, or any other PDF Maker features.
Citrix-specific known issues¶
The following are known issues for Acrobat products on Citrix:
All versions: Acrobat Standard and Reader users can run repair from the help menu on Vista and above. If a reboot is required, the Citrix server hosting the application will be restarted. To prevent this problem, create a JavaScript file (.js) containing (
app.hideMenuItem('DetectAndRepair');
) and place it in the<root>Reader<version>ReaderJavascriptsdirectory
.All versions: Acrobat’s PDF generation capabilities embedded in 3rd party products (PDFMaker) and Adobe PDF Printer do not currently check Citrix licensing restrictions. Even users who don’t have access to the Acrobat application may be able to use Acrobat PDFMaker and Adobe PDF Printer.
Before ActionScript and MXML code can be included in an AIR application, it must be compiled. If you use an Integrated Development Environment (IDE), such as Adobe Flash Builder or Adobe Flash Professional, the IDE handles compilation behind the scenes. However, you can also invoke the ActionScript compilers from the command line to create your SWF files when not using an IDE or when using a build script.
About the AIR command-line tools in the Flex SDK
Each of the command-line tools you use to create an Adobe AIR application calls the corresponding tool used to build applications:
amxmlc calls mxmlc to compile application classes
acompc calls compc to compile library and component classes
aasdoc calls asdoc to generate documentation files from source code comments
The only difference between the Flex and the AIR versions of the utilities is that the AIR versions load the configuration options from the air-config.xml file instead of the flex-config.xml file.
The Flex SDK tools and their command-line options are fully described in the Flex documentation. The Flex SDK tools are described here at a basic level to help you get started and to point out the differences between building Flex applications and building AIR applications.
Compiler setup
You typically specify compilation options both on the command line and with one or more configuration files. The global Flex SDK configuration file contains default values that are used whenever the compilers are run. You can edit this file to suit your own development environment. There are two global Flex configuration files located in the frameworks directory of your Flex SDK installation. The air-config.xml file is used when you run the amxmlc compiler. This file configures the compiler for AIR by including the AIR libraries. The flex-config.xml file is used when you run mxmlc.
The default configuration values are suitable for discovering how Flex and AIR work, but when you embark on a full-scale project examine the available options more closely. You can supply project-specific values for the compiler options in a local configuration file that takes precedence over the global values for a given project.
Compiling MXML and ActionScript source files for AIR
You can compile the Adobe® ActionScript® 3.0 and MXML assets of your AIR application with the command-line MXML compiler (amxmlc). (You do not need to compile HTML-based applications. To compile a SWF in Flash Professional, simply publish the movie to a SWF file.)
The basic command-line pattern for using amxmlc is:
where [compiler options] specifies the command-line options used to compile your AIR application.
The amxmlc command invokes the standard Flex mxmlc compiler with an additional parameter, +configname=air. This parameter instructs the compiler to use the air-config.xml file instead of the flex-config.xml file. Using amxmlc is otherwise identical to using mxmlc.
The compiler loads the air-config.xml configuration file specifying the AIR and Flex libraries typically required to compile an AIR application. You can also use a local, project-level configuration file to override or add additional options to the global configuration. Typically, the easiest way to create a local configuration file is to edit a copy of the global version. You can load the local file with the -load-config option:
-load-config=project-config.xml Overrides global options.
-load-config+=project-config.xml Adds additional values to those global options that take more than value, such as the -library-path option. Global options that only take a single value are overridden.
If you use a special naming convention for the local configuration file, the amxmlc compiler loads the local file automatically. For example, if the main MXML file is RunningMan.mxml, then name the local configuration file: RunningMan-config.xml. Now, to compile the application, you only have to type:
RunningMan-config.xml is loaded automatically since its filename matches that of the compiled MXML file.
amxmlc examples
The following examples demonstrate use of the amxmlc compiler. (Only the ActionScript and MXML assets of your application must be compiled.)
Compile an AIR MXML file:
Compile and set the output name:
Compile an AIR ActionScript file:
Specify a compiler configuration file:
Add additional options from another configuration file:
Add libraries on the command line (in addition to the libraries already in the configuration file):
Compile an AIR MXML file without using a configuration file (Win):
Compile an AIR MXML file without using a configuration file (Mac OS X or Linux):
Compile an AIR MXML file to use a runtime-shared library:
Compile an AIR MXML file to use an ANE (be sure to use ‑external‑library‑path for the ANE):
Compiling from Java (with the class path set to include mxmlc.jar):
The flexlib option identifies the location of your Flex SDK frameworks directory, enabling the compiler to locate the flex_config.xml file.
Compiling from Java (without the class path set):
To invoke the compiler using Apache Ant (the example uses a Java task to run mxmlc.jar):
Compiling an AIR component or code library (Flex)
Use the component compiler, acompc, to compile AIR libraries and independent components. The acompc component compiler behaves like the amxmlc compiler, with the following exceptions:
You must specify which classes within the code base to include in the library or component.
acompc does not look for a local configuration file automatically. To use a project configuration file, you must use the –load-config option.
The acompc command invokes the standard Flex compc component compiler, but loads its configuration options from the air-config.xml file instead of the flex-config.xml file.
Component compiler configuration file
Use a local configuration file to avoid typing (and perhaps incorrectly typing) the source path and class names on the command line. Add the -load-config option to the acompc command line to load the local configuration file.
The following example illustrates a configuration for building a library with two classes, ParticleManager and Particle, both in the package: com.adobe.samples.particles. The class files are located in the source/com/adobe/samples/particles folder.
To compile the library using the configuration file, named ParticleLib-config.xml, type:
To run the same command entirely on the command line, type:
(Type the entire command on one line, or use the line continuation character for your command shell.)
acompc examples
Adobe Online Tools
These examples assume that you are using a configuration file named myLib-config.xml.
Compile an AIR component or library:
Compile a runtime-shared library:
Install Adobe Command Line
(Note, the folder lib must exist and be empty before running the command.)
Adobe Command Line Tools Tool
Flex compilers