Posted by: David | July 9, 2011

Setting Acrobat Reader as default PDF program for all users on Terminal Server / Citrix

I Recently installed Acrobat Professional on some Citrix servers the other day, after completing the installation I found that the installation had reset the default PDF Viewer for all users to Acrobat Professional.

As this application was restricted to specific users this caused a few problems, after some searching on the Net I could only find how to set file associations via group policy on Windows 2008 servers. In this particular environment the Citrix servers were running Windows 2003.

So in order to default the application back to Acrobat Reader for all users I created a REG file with the following content:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdf]
"Application"="AcroRD32.exe"

I then copied the reg file up to a replicated folder (SYSVOL or NETLOGON) and set up a GPO to run REGEDIT with paramaters /S \NETLOGON{NAMEOFREGFILE}.REG and made sure that my lockdown group policy for the Citrix server allowed regedit to run silently.

Then when each user logs in Acrobat reader gets set as the default application for PDF’s.

If you are looking at setting other applications as defaults for a particular extension this can also be done through these REG keys. When changes are made by the administrator account for File extensions this will only affect users who do not have a roaming profile and have not logged in to that particular Server or Workstation before. Invidual user preferences on applications are stored in the HKEY_CURRENT_USER hive which in turns gets written back to the NTUSER.dat file in their profile.

If you wish to change defaults for all users you will need to use a script or reg file to change the appropriate file extension under the following key:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExt

There is then a corrosponding key for each recognised extension, to set the default application for that extension simply create a String Value (REG_SZ) called Application and set the Value to the name of the program executable used to open the file, e.g. AcroRD32.exe for Adobe acrobat reader.

For Windows 2008 R2 environments this is much simple to do and can be done through File Associations in Group Policy (See Microsoft Technet fore more information).

Advertisements

Responses

  1. For those using Server 2003 x64 this VBS script seems to work for us. It looks to see if the user is a member of the Adobe Pro group and if not it defaults to Adobe Reader. It doesn’t work for Server 2008, trying to find a solution.

    ‘VBS script, check Group Membership and add Reg Key

    On Error Resume Next

    Set objSysInfo = CreateObject(“ADSystemInfo”)

    strUserPath = “LDAP://” & objSysInfo.UserName
    Set objUser = GetObject(strUserPath)

    SET WSHShell = CreateObject(“WScript.Shell”)

    WshShell.RegWrite “HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdfApplication”,”AcroRd32.exe”,”REG_SZ”
    WshShell.RegWrite “HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdfOpenWithListMRUList”,”acb”,”REG_SZ”
    WshShell.RegWrite “HKCUSoftwareClassesAcroExch.Document.7shellOpencommand”,”””C:Program Files (x86)AdobeReader 10.0ReaderAcrord32.exe”” “”%1″””,”REG_SZ”
    WshShell.RegWrite “HKCUSoftwareClassesAcroExch.DocumentshellOpencommand”,”””C:Program Files (x86)AdobeReader 10.0ReaderAcrord32.exe”” “”%1″””,”REG_SZ”
    Flag = “Reader”

    For Each strGroup in objUser.MemberOf
    strGroupPath = “LDAP://” & strGroup
    Set objGroup = GetObject(strGroupPath)
    strGroupName = objGroup.CN

    if (strGroupName=”Adobe Pro”)=TRUE then
    Flag = “Full”
    end if

    Next
    if Flag = “Full” then
    WshShell.RegDelete “HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdfApplication”
    WshShell.RegWrite “HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdfApplication”,”Acrobat.exe”,”REG_SZ”
    WshShell.RegWrite “HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.pdfOpenWithListMRUList”,”cab”,”REG_SZ”
    WshShell.RegWrite “HKCUSoftwareClassesAcroExch.Document.7shellOpencommand”,”””C:Program Files (x86)AdobeAcrobat 10.0AcrobatAcrobat.exe”” “”%1″””,”REG_SZ”
    WshShell.RegWrite “HKCUSoftwareClassesAcroExch.DocumentshellOpencommand”,”””C:Program Files (x86)AdobeAcrobat 10.0AcrobatAcrobat.exe”” “”%1″””,”REG_SZ”
    end if

  2. I do not even understand how I stopped up here, but I
    assumed this publish used to be great. I don’t realize who you’re however certainly you are going to a well-known blogger when you aren’t already.
    Cheers!

  3. I’ve used batch files in the past to do reg hacks and launch apps but this is much better! Thanks for the post.

  4. I have tried this on a Windows 8.1 machine, and although it adds the entry as in your screenshot, it still keeps the Windows Reader as the default application.
    Have you had any joy on Windows 8.1?

    I have tried the GPO method (we have server 2012) and this doesnt work either which I have seen others mention (only appears to be issues on Windows 8).

    We have a VM environment so just changing the default application via the windows settings is not an option for us.

    Thanks


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: