14   App-V Deployment

Enterprise IT is increasingly turning to virtualized applications to streamline application deployment and management. Microsoft’s App-V technology allows unlimited users to access their applications from any desktop. The applications are delivered on demand but run as if they were installed locally. A single application install radically simplifies IT’s desktop management tasks.

Reader 11.0 introduces support for App-V via an Adobe Reader Deployment Kit for App-V as well as a Package Accelerator for those admins who don’t want to create their own package.

The following is available:

Note

Microsoft’s App-V documentation and resources reside at http://technet.microsoft.com/en-us/appvirtualization/bb508934.

14.1   Overview

14.1.1   What’s supported

  • All standalone Reader features.
  • Support for setting PDF ownership when both Acrobat and Reader are installed.
  • Shell extensions.
  • Browser plug-in support in Protected Mode only. This enables viewing PDFs in the browser with the virtualized Reader.
  • Customizing Reader installers via any supported method. For example, if you use the Customization Wizard, deploy the Reader MSI along with the MST:
msiexec.exe /i <Path to MSI> TRANSFORM=<any name>.mst

14.1.2   What’s not supported

  • Acrobat.
  • Automatic updates or manual end user updates: App-V updates are pushed by enterprise IT.
  • On-the-fly switching of the default PDF handler (viewer) from within the application. Handler selection can occur at install time or be configured by IT prior to deployment.
  • Browser plug-in support in non-sandbox mode.

14.1.3   System requirements

The Adobe Reader XI Deployment Kit for App-V requires the following:

  • Microsoft Application Virtualization version 4.6 SP2.
  • A full Reader 11.x installer for all languages. The Package Accelerator is only available for the MUI installer.
  • The product system requirements.

14.2   Creating an App-V package

Administrators can create their own App-V Reader package from scratch. Alternatively, use the Pkg Accelerator as described in Using the Pkg Accelerator.

14.2.1   Sequencing Adobe Reader XI

Prepare the sequencing machine following the guidelines provided in Microsoft’s http://technet.microsoft.com/en-us/library/dd351420.aspx.

Note

Failure to adhere to the best practices and following guidelines can cause errors in functionality. You may find it worthwhile to follow the MS example in Microsoft’s http://download.microsoft.com/download/F/7/8/F784A197-73BE-48FF-83DA-4102C05A6D44/App-V/App-V%204.6%20Service%20Pack%201%20Sequencing%20Guide.docx.

To prepare a reference machine for sequencing:

  1. Install the App-V Sequencer.

  2. Configure the registry:

    1. Go to HKLM\Software\Microsoft\SoftGrid\4.5\SystemGuard\Overrides.
    2. Create a DWORD EnableVFSPassthrough.
    3. Set the value to 1.
  1. Start the Microsoft Sequencer.

  2. Select Create a new Virtual Application Package > Create Package.

  3. Choose Next.

  4. If there are any warnings on the Prepare Computer screen, take the needed actions to correct them.

  5. Choose Next.

  6. On the Type of Application screen, select Standard Application as the default type.

  7. Choose Next.

  8. On the Select Installer screen, enter the path to your product installation files.

  9. Choose Next.

  10. In the Package Name screen, enter an application name (such as Adobe Reader XI) in the Virtual Application field.

  11. In the Installation screen, change INSTALLDIR to Q:\<Package Name> (such as Adobe Reader XI), and follow the installation steps.

  12. After the installation completes, check I am finished installing.

  13. Choose Next.

  14. After the application collects the system changes, choose Next.

  15. In the Configure screen, run Adobe Reader XI to complete first run tasks such as accepting the EULA.

  16. Review the Installation Report which detects common sequencing issues during sequencing.

  17. On the Customize screen choose Customize:

    1. Choose Edit Shortcuts.
    2. On the Edit Shortcuts screen, choose Add.
    3. Browse to each the following (change the path as needed) and choose Save:
    • Q:\<Package Name>\Reader\Reader\AdobeCollabSync.exe
    • Q:\<Package Name>\Reader\Reader \AcroRd32Info.exe
    • Q:\<Package Name>\Reader\Reader\PDFPrevHndlrShim.exe
    1. Edit the versions of all the four exes from 11.0.0.379 to 11.0.0.
    2. Choose Next without further customizations.
  18. In the Prepare for Streaming screen, run the application to create the primary feature block. Feature block 1 and Feature block 2 are required:

    • Feature Block 1: The minimum necessary block of data required for successful launch
    • Feature Block 2: Streamed to the client PC as the user starts using the application
  19. As each application shuts down, choose Next.

  20. On Restrict Operating Systems for this package screen, select the operating systems on which this package should work.

  21. Choose Next.

  22. Save the package by clicking on Create button.

  23. Close the package.

  24. Open all of the OSD files in a text editor and do the following:

    1. For each OSD, change the value of LOCAL_INTERACTION_ALLOWED tag from FALSE to TRUE under the <POLICIES> tag.
    2. Add the following policies in all of the OSD files under the <POLICIES> tag:
<VIRTUAL_FILE_SYSTEM_PASS_THROUGH>TRUE</VIRTUAL_FILE_SYSTEM_PASS_THROUGH>
<VIRTUAL_REGISTRY_PASS_THROUGH>TRUE</VIRTUAL_REGISTRY_PASS_THROUGH>
<ENFORCE_ACLS_ON_VREG_MODIFY>TRUE</ENFORCE_ACLS_ON_VREG_MODIFY>
  1. Optional (This step is only needed when there will be both a local Acrobat and App-V Reader on the system): Remove the following lines from the Reader XI OSD:
<FILEEXTENSION EXT="pdf" PROGID="AcroExch.Document.11" PERCEIVEDTYPE="" CONTENTTYPE="application/pdf" OVERRIDDEN="FALSE">
<SHELLNEW ENABLED="FALSE"/>
</FILEEXTENSION>
  1. Save the OSD files.

  2. Launch the Sequencer and Reopen the package in Edit Mode.

  3. Choose the OSD tab.

  4. From all the OSDs except Adobe Reader XI, remove all the shortcuts under MGMT_SHORTCUTLIST element.

  5. Disable updates:

    1. Go to the Virtual Registry System.
    2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\Adobe Acrobat\11.0\FeatureLockDown.
    3. Create a new DWORD called bUpdater.
    4. Set the value to 0.
  1. Save the package so that the changes are saved in the manifest file.

14.3   Using the Pkg Accelerator

If you do not use your own package with the Reader MSI, you can use Reader’s Package Accelerator to create a package, install the Reader App-V MSI, and perform the steps below.

To create the App-V Package with the Reader Package Accelerator and the Reader installer:

  1. Start the App-V Sequencer.

  2. Configure the registry:

    1. Go to HKLM\Software\Microsoft\SoftGrid\4.5\SystemGuard\Overrides.
    2. Create a DWORD EnableVFSPassthrough.
    3. Set the value to 1.
  1. Start the Microsoft Sequencer.
  2. Choose Create a New Virtual Application Package.
  3. Choose Create Package Using a Package Accelerator.
  4. Choose Next.
  5. Browse to the location of the PA (package Accelerator) and open the PA.
  6. Choose Next.
  7. Review the deployment guide.
  8. Choose Next.
  9. In the Select Installation Files window, browse to the directory containing setup files of Adobe Reader XI.
  10. Choose Next.
  11. In the Name the package window, Adobe Reader XI will appear by default. Do not change it (recommended).
  12. Choose Next.
  13. Choose Create.
  14. After the package is created, choose Next.
  15. In the Run each program to manage first-run task window, choose Configure Software.
  16. Choose Next.
  17. After the package is completely loaded, choose Adobe Reader XI.
  18. Choose Run Selected. This will launch Adobe Reader and will create Feature Blocks of the application. Administrators can customize Adobe Reader as per their organization’s requirements and policies.
  19. Close the Reader window.
  20. Choose Next. This will create and save the package.
  21. Choose Close.
  22. In the launched sequencer window, choose Modify an Existing Virtual Application Package.
  23. Choose Edit Package.
  24. Choose Next.
  25. Browse to the SPRJ file of the above created package and select it.
  26. Choose Edit.
  27. After the sequencer is done loading the package, the Edit window will appear.
  28. Go to the OSD tab.
  29. For all the OSDs except Acrobat Reader XI(under Select Application dropdown list), remove all the Shortcuts under MGMT_SHORTCUTLIST element by right clicking Shortcut > Element > Delete.
  30. Patching the virtual package with the 11.0.01 update.

14.4   Selecting the language

To specify the product language, use the VIRTUALIZED_LOCALE property on the command line while installing the App-V MSI provided along with the PA for deployment. For example, VIRTUALIZED_LOCALE=fr_FR, results in all locale-specific keys to be written in French. In the absence of this property, preferences are written in the OS’s default language.

In case admin installed all the languages at the time of sequencing and user/admin wants to change the application language after the deployment, following are the steps to be followed:

  1. Launch Adobe Reader XI.
  2. Go to Edit > Preferences > Security (Enhanced).
  3. Uncheck Enable Protected Mode at startup.
  4. Restart Adobe Reader.
  5. Go to Edit > Preferences > Language.
  6. In the Application Language dropdown, choose Choose at application launch.
  7. Restart Adobe Reader.
  8. A dropdown will appear asking for the application language. Select the desired language and choose OK.
  9. Adobe Reader will be launched in the selected language.
  10. Reenable Protected Mode (Step 3) for better security.

14.5   Updating App-V clients

Administrators apply Reader patches on top of the package out of the released package accelerator. The process is known as Active Upgrade. Reader supports the same Active Upgrade Mechanism that Microsoft supports for its Office products.

14.5.1   Patching a virtual package

  1. Start the sequencer machine.
  2. Copy the already created virtual package that needs to be patched, patch file, and the original installer files of the product to the sequencer machine.
  3. Delete this preference if it exists: HKLM\Software\Microsoft\SoftGrid\4.5\SystemGuard\Overrides\EnableVFSPassthrough.
  4. Start the sequencer.
  5. Choose Modify an Existing Virtual Application Package.
  6. Choose the radio button Update Application in existing package.
  7. Choose Next.
  8. Browse to the SPRJ file of the virtual application package that needs to be patched.
  9. Choose Next.
  10. After the sequencer is done loading the package, it will display the issues if anything is wrong with the machine. If there are no serious issues, choose Next. If there are issues address those issues and repeat all the above mentioned steps.
  11. Choose Select the installer for the application and browse to the MSP patch file that needs to be applied to the virtual package.
  12. Choose Next. The patch is invoked automatically.
  13. When the Windows installer asks for the location of the MSI file of the application that was copied in step 2, provide the location.
  14. Choose OK. Proceed normally while patching.

Note

If you get error 1321 while patching, it means that the registry preference EnableVFSPassthrough is still present on the machine. Delete it and redo all the steps.

  1. After patching is done, choose Finish in the Updater window. If you get a prompt to restart the machine, choose YES. This reboot will be suppressed automatically by the Microsoft Application Virtualization Sequencer.
  2. Check I am finished installing.
  3. Choose Next.
  4. After the sequencer is done collecting system changes, Choose Next.
  5. Choose Next.
  6. In the Prepare For Streaming window DO NOT run any program and choose Next.
  7. Select the Continue to modify.
  8. Choose Next.
  9. Choose Close. A new window to edit the package will appear.
  10. Go to the OSD tab.
  11. From all the OSDs except Adobe Reader XI, remove all the shortcuts under MGMT_SHORTCUTLIST element.
  12. Save the package from File menu.

14.5.2   Creating feature blocks

Use these recommended steps to create Feature Blocks after patching:

  1. Start the sequencer machine.

  2. Copy the already patched virtual package to the sequencer machine.

  3. Re-create the following registry setting:

    1. Go to HKLM\Software\Microsoft\SoftGrid\4.5\SystemGuard\Overrides.
    2. Create a DWORD EnableVFSPassthrough.
    3. Set the value to 1.

Note

Failure to do so will result in crashes if preferences are modified.

  1. Start the sequencer.
  2. Choose Modify an Existing Virtual Application Package.
  3. Choose Update Application in existing package.
  4. Choose Next.
  5. Browse to the SPRJ file of the virtual application package that needs to be patched.
  6. Choose Next.
  7. After the sequencer is done loading the package, it displays the issues if anything is wrong with the machine. If there are no serious issues, choose Next. If there are issues, address those issues and repeat all the above mentioned steps.
  8. Choose Perform Custom Installation.
  9. Choose Next.
  10. Check I am finished installing.
  11. Choose Next.
  12. After the sequencer is done collecting system changes, choose Next.
  13. Choose Next.
  14. In the “Prepare For Streaming” window, select Adobe Reader XI.
  15. Choose Run Selected. This launches Adobe Reader and creates the Feature Blocks. Admins can customize the application settings as per their requirements.
  16. Close the Adobe Reader window.
  17. Choose Next.
  18. Select Continue to modify
  19. Choose Next.
  20. Choose Close. A new window to edit the package will appear.
  21. Go to OSD tab.
  22. From all the OSDs except Adobe Reader XI, remove all the shortcuts under the MGMT_SHORTCUTLIST element.
  23. Save the package from File menu.

14.5.3   Update policy

  • App-V Reader MSI: This App-V MSI may require updates at the time of Reader dot releases. If so, full MSI rather than an MSP will be published. These MSIs are released when there is a need to enhance features and/or fix critical bugs. These are relatively uncommon and are always associated with a version number where the second dot is incremented (e.g. 11.0.1 > 11.1.0).
  • Package accelerator: Updates are not anticipated but will be available if a bug or security issue warrants one.

14.6   Unpublishing

To unpublish-uninstall the Virtual Reader:

  1. Unpublish Virtual Reader.
  2. Uninstall the App-V MSI.

The above sequence assures that PDF ownership by the appropriate application is maintained during the uninstall.

14.7   Known issues

Many of the following known issues are scheduled for fixes in future releases.

Updating OSD policies must be followed up with opening and saving the package again.

While manually sequencing Reader, after the OSD files have been edited to incorporate the three new policies (and to set LOCAL_INTERACTION_ALLOWED to true), the package must be reopened in the sequencer, and saved. Otherwise, the policy change is not reflected in the published package.

Workaround: None needed. The act of saving is a workaround in itself.

Dictionary-related functions do not work.

In a manually sequenced instance of Reader, dictionary-related functions do not work because of the way side-by-side loading works. Specifically, Hunspell provides two manifests in order to facilitate dynamic loading. The first manifest, loaded by Reader itself, contains a reference to the second manifest, which is loaded by csrss.exe. Since the second manifest resides on the virtualized filesystem, it is not accessible by csrss.exe, and this immediately triggers a STATUS_SXS_CANT_GEN_ACTCTX fault. The minimal solution to this would be to provide a copy of the second manifest in the expected location on the local filesystem.

Workaround:

  1. Create the following directory structure under C:\Program Files (C:\Program Files (x86) for 64-bit computers): Common Files\Adobe\Reader\11.0\Linguistics\Providers\Plugins2\AdobeHunspellPlugin.
  2. Copy Q:\ReaderInstDir\VFS\CSIDL_PROGRAM_FILES_COMMON\Adobe\Reader\11.0\Linguistics\Providers\Plugins2\AdobeHunspellPlugin\comdll.X.manifest to this location.

Or:

  1. Alternatively, install the Reader Deployment Kit.

Any form of editing causes all OSDs to be published to the desktop.

Whenever any editing is made to the package sequenced using the PA, publishing the edited package causes all OSDs to publish shortcuts to the desktop. This includes both implicit edits such as FB2 creation, and more explicit ones such as Active Updates or package customization. This is because editing causes the App-V manifest to be regenerated, and this regenerated manifest includes shortcuts for all the OSDs.

Workaround: Manually edit the package and delete the shortcuts from the OSDs after any edits have been made.

Changing launch language preferences in Protected Mode Reader doesn’t work.

If Protected Mode is on and the launch language preferences (Preferences, Language section) are modified, no changes are saved.

Workaround:

  1. Disable Protected Mode.
  2. Launch Reader.
  3. Set launch language preferences.
  4. Reenable Protected Mode. Subsequently, if any changes to the launch language preferences need to be made, Protected Mode needn’t be disabled.

ReadOutLoud functionality doesn’t work when Protected Mode is enabled.

Enabling and using ReadOutLoud functionality does not work if Protected Mode is enabled by default.

Workaround:

  1. Disable Protected Mode.
  2. Use ReadOutLoud functionality
  3. Renable Protected Mode. ReadOutLoud will continue to be usable.

App-V Reader fails to open PDF files in browser if Reader Protected Mode is disabled.

If Reader Protected Mode has been disabled, App-V Reader fails to open PDF files in browser. An error message is displayed, and the PDF download is not initiated.

Workaround: Disabling the Reader plug-in causes the PDF download option to become available.

Online help can’t be displayed in Windows XP 64-bit when Protected Mode is on.

Workaround: Disable Protected Mode.

When Protected Mode is enabled, FB2 creation without the EnableVFSPassthrough key will result in incorrect functionality and crashes.

If Feature Block 2 is being created through the “Prepare for Streaming” step in sequencing, and the EnableVFSPassthrough key under HKLM\Software\Microsoft\SoftGrid\4.5\SystemGuard\Overrides hasn’t been created and set to 1, crashes may result if Reader Protected Mode is turned on.

Workaround: Ensure that the EnableVFSPassthrough key is on when FB2 creation needs to be performed.

EULA temporarily appears if a PDF is on the desktop when installing Reader Deployment Kit.

If a PDF file is on the desktop when the Reader Deployment Kit is being installed, once the installation finishes, the EULA appears and lasts for 30 seconds, after which it vanishes.

Workaround: None needed. The EULA may be accepted in the brief 30-second window, or later.

Virtual Reader sequenced through the PA has interoperability issues with Acrobat.

Virtual Reader installed sequenced through the package accelerator has not been optimized for Acrobat interoperability, and there are issues related to ownership at install/uninstall time.

Workaround: Sequence the Virtual Reader package using the Acrobat interoperability guidelines. This is the options step having to do with FILEEXTENSION in Sequencing Adobe Reader XI.

Preview view doesn’t work with PDF files; displays error.

Preview pane will not display the preview for PDF files because the necessary technology (preview handler) doesn’t work with App-V. An error displays an “access denied” error. This is a limitation of the App-V platform, since an App-V package cannot launch processes in the low-rights sandbox that is used by the PDF preview handler.

Workaround: Disable the preview view.

Patching with EnableVFSPassthrough key doesn’t work.

If patching is done while the EnableVFSPassthrough key is enabled, files residing on the VFS will not get updated (presenting an Abort/Retry/Ignore box).

Workaround: Just before the sequencer is launched for patching, ensure that EnableVFSPassthrough is deleted or set to 0. If FB2 creation needs to be done on the patched package, save the package first, close the sequencer, re-enable the key, and proceed with FB2 creation.