Difference between revisions of "Foxit Reader"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(Updated to 4.3, added information about DISPLAYINBROWSER and buggy registration as default reader)
(Typo)
Line 16: Line 16:
 
<check type='file' condition='versiongreaterorequal' path='%PROGRAMFILES%\Foxit Reader\Foxit Reader.exe' value='4.3.0.1110' />
 
<check type='file' condition='versiongreaterorequal' path='%PROGRAMFILES%\Foxit Reader\Foxit Reader.exe' value='4.3.0.1110' />
 
<!-- For information about the transform package see the explanation below -->
 
<!-- For information about the transform package see the explanation below -->
<install cmd='msiexec /i "%SOFTWARE%\foxitreader\FoxitReader42_enu.msi" TRANSFORMS="%SOFTWARE%\foxitreader\foxit-defaultreader.mst" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 DISPLAYINBROWSER=0 /passive /norestart' />
+
<install cmd='msiexec /i "%SOFTWARE%\foxitreader\FoxitReader43_enu.msi" TRANSFORMS="%SOFTWARE%\foxitreader\foxit-defaultreader.mst" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 DISPLAYINBROWSER=0 /passive /norestart' />
  
<upgrade cmd='msiexec /i "%SOFTWARE%\foxitreader\FoxitReader42_enu.msi" TRANSFORMS="%SOFTWARE%\foxitreader\foxit-defaultreader.mst" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 DISPLAYINBROWSER=0 /passive /norestart' />
+
<upgrade cmd='msiexec /i "%SOFTWARE%\foxitreader\FoxitReader43_enu.msi" TRANSFORMS="%SOFTWARE%\foxitreader\foxit-defaultreader.mst" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 DISPLAYINBROWSER=0 /passive /norestart' />
  
 
<remove cmd='msiexec /x{35E93AC6-D7E0-4F32-BEF3-FFBA011B0861} /passive /norestart' />
 
<remove cmd='msiexec /x{35E93AC6-D7E0-4F32-BEF3-FFBA011B0861} /passive /norestart' />

Revision as of 10:29, 17 November 2010

Foxit Reader is a free PDF viewer distinguished from Adobe Reader by being smaller, more secure and easier to update.

The installer here assumes you've downloaded the MSI version of the installer rather than the regular .exe installer, from the Foxit download page. It is strongly encouraged to use the MSI and not the .exe installer, because the latter is aimed at end users and includes addons like the ask.com toolbar, which you generally don't want to rollout in your company.

These installers assume that Windows is localised in English. For Windows localised for other languages you will need to make changes accordingly.

At http://languages.foxitsoftware.com you can download language files for Foxit Reader and copy them in the same directory where Foxit Reader is installed. However the translations are usually in such a bad shape, that even a non-native English speaker is better off with the English version.

Installer

Foxit Reader 4.3 Series (English)

<package id="foxitreader" name="Foxit Reader" revision="4.3.0.1110" reboot="false" priority="0">
	<check type="uninstall" condition="exists" path="Foxit Reader" />
	<check type='file' condition='versiongreaterorequal' path='%PROGRAMFILES%\Foxit Reader\Foxit Reader.exe' value='4.3.0.1110' />
	<!-- For information about the transform package see the explanation below -->
	<install cmd='msiexec /i "%SOFTWARE%\foxitreader\FoxitReader43_enu.msi" TRANSFORMS="%SOFTWARE%\foxitreader\foxit-defaultreader.mst" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 DISPLAYINBROWSER=0 /passive /norestart' />

	<upgrade cmd='msiexec /i "%SOFTWARE%\foxitreader\FoxitReader43_enu.msi" TRANSFORMS="%SOFTWARE%\foxitreader\foxit-defaultreader.mst" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 DISPLAYINBROWSER=0 /passive /norestart' />

	<remove cmd='msiexec /x{35E93AC6-D7E0-4F32-BEF3-FFBA011B0861} /passive /norestart' />
</package>

Please note that VIEWINBROWSER does not affect Internet Explorer integration. To disable that you have to uncheck "Internet -> Display PDF in Browser" through the Foxit Reader GUI or use the script below.

Foxit Reader 4.3 introduced a new feature called "HTML embedded PDF support". It allows webdesigners to embed Foxit Reader into a website like for example Adobe Flash. If you don't want this, set the property DISPLAYINBROWSER to 0.

Foxit Reader automatically makes itself the default PDF reader, hence the '-register' command-line switch used with earlier versions isn't used here. If you don't want this you can set the property MAKEDEFAULT=0 during installation.

Warning: The MSI package of Foxit Reader 4.3.0.1110 fails to set Foxit as the default PDF reader when it is run in silent mode, even when you specify MAKEDEFAULT=1. Version 4.2 and earlier are not affected by this bug. Note that version 4.3 is not a security update, so you can theoretically stay with 4.2.
As a workaround you can do the following: Open FoxitReader43_enu.msi with Orca, create a new transform, go to the table CustomAction and overwrite the information of the SetDefault action with the values from the working version 4.2: Set Type to 3154, Source to Foxit_Reader.exe and Target to -register. Now generate the transform package and save it as "foxit-defaultreader.mst".


Command-line Switches

-register - make Foxit Reader the default PDF reader

Foxit Reader 3.3 Series (English)

<package
        id="foxit-reader"
        name="Foxit Reader"
        revision="3.3"
        reboot="false"
        priority="0">

		<check
			type="uninstall"
			condition="exists"
			path="Foxit Reader" />

		<install cmd='msiexec /i "%SOFTWARE%\foxit-reader\FoxitReader33_enu.msi" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 /qn /norestart' />

		<remove cmd='msiexec /x {576CDB8F-98CA-4B0A-942C-EE60F6147931} /passive /norestart' />

		<upgrade cmd='msiexec /i "%SOFTWARE%\foxit-reader\FoxitReader33_enu" DESKTOP_SHORTCUT=0 VIEWINBROWSER=0 /qn /norestart' />
 
</package>

Please note that VIEWINBROWSER does not affect Internet Explorer integration. To disable that you have to uncheck "Internet -> Display PDF in Browser" through the Foxit Reader GUI or use the script below.

Foxit Reader automatically makes itself the default PDF reader, hence the '-register' command-line switch used with earlier versions isn't used here. If you don't want this you can set the property MAKEDEFAULT=0 during installation.

Command-line Switches

-register - make Foxit Reader the default PDF reader



Uninstall Strings

  • 3.3.1.0518: 648AF8B5-9F79-4ABA-8D59-83998F7E3E3F
  • 3.3.0.0430: 4FEC0D0D-1279-4C46-B6F8-B73C5247A6A9
  • 3.1.4.1125: 4FEC0D0D-1279-4C46-B6F8-B73C5247A6A9
  • 3.1.1.0901: A9355F41-AE6C-487C-A6A9-BC348D836F43
  • 3.1.?: 81EC4B5E-E735-43D2-985A-C675003BFBB6
  • 4.1.1: 139D9AF8-5562-47BD-AA85-F3AD63681EDB
  • 4.2: 549197A2-8484-426C-814F-81A6535A24D6
  • 4.3: 35E93AC6-D7E0-4F32-BEF3-FFBA011B0861

MSI installers

Foxit is trying to push users to use the EXE installer, so the MSI version might not listed on the download website mentioned at the beginning of this page. However you may be able to download the MSI installer via a direct URL:

etc...

If these links don't work, you can either request the MSI installer from Foxit Enterprise Deployment or use a search engine with the file names from above to find another place to download the MSI installer.

Even if all else fails you're still not out of luck as long as you have access to an old version of the MSI installer:

  • Grab the most recent EXE installer from the Foxit website
  • Run the EXE installer without actually installing the software
  • Browse to your local %TEMP% folder, search for "Foxit Reader.exe" and copy it somewhere else
  • Cancel the EXE installer
  • Create your WPKG install script that first installs Foxit Reader with the help of the old MSI installer and then overwrites "Foxit Reader.exe" in the installation directory with the copy that you acquired above.
  • Since Foxit Reader consists only of one executable, this procedure is equivalent to running the MSI installer of the most recent version (except that the uninstall GUID will be different)


Configuration

Turn Off Automatic Updates

Foxit Reader 4.3

Per-user configuration: HKCU\Software\Foxit Software\Foxit Reader\AutoUpdate Info\IsAutoUpdate = 0

GUI: Help → Check for updates now → Preferences → Updater → Automatically check for Foxit updates []

Foxit Reader 3.1

System-wide configuration: IsAutoUpdate=0 in %PROGRAMFILES%\Foxit Software\Foxit Reader\FoxitReader_Preferences.ini. I don't know the purpose of this file in version 3.1 as each user has their own configuration setting.

Per-user configuration: HKCU\Software\Foxit Software\Foxit Reader\AutoUpdate Info\IsAutoUpdate = 0

GUI: Help → Check for updates now → Preferences → Updater → Automatically check for Foxit updates []

Foxit Reader 3.0

System-wide configuration: IsAutoUpdate=0 in %PROGRAMFILES%\Foxit Software\Foxit Reader\FoxitReader_Preferences.ini. This setting isn't present unless the menu option has been run to turn it off. If you add an additional 'IsAutoUpdate' line to this file then only the first instance of it is adhered to.

GUI: Help → Check for updates now → Preferences → Updater → Automatically check for Foxit updates []


Configuration Scripts

Foxit Reader 4.2

Post-Install scripts:

  • remove IE integration
  • no auto update
  • remove adds


File settings.bat:

REM remove IE integration
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Classes\FoxitReader.Document /v EditFlags /t REG_DWORD /d 00000002 /f >> NUL:
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{14E8BBD8-1D1C-4D56-A4DA-D20B75EB814E} /f >> NUL:

REM User settings STEP 1: set currently loaded registry user entries
	FOR /F %%G IN ('reg query HKEY_USERS^|find "HKEY_USERS\"^|find /V "_Classes"') DO (
		call usersettings.bat %%G
	)

REM User settings STEP 2: set currently unloaded registry user entries
REM This will fail to load registry entries for users that are currently logged in (those are already set by STEP 1)
FOR /D %%G in ("%ALLUSERSPROFILE%\..\*") DO IF NOT "%%G"=="%ALLUSERSPROFILE%" IF EXIST %%G\NTUSER.DAT (
	REG LOAD HKU\OneUser "%%G\NTUSER.DAT" >> NUL:
	call usersettings.bat HKEY_USERS\OneUser
	REG UNLOAD HKU\OneUser >> NUL:
)

REM Default user (for new users) - This one was probbably hidden from previous loop
REG LOAD HKU\OneUser "%ALLUSERSPROFILE%\..\Default User\NTUSER.DAT" >> NUL:
call usersettings.bat HKEY_USERS\OneUser
REG UNLOAD HKU\OneUser >> NUL:


File usersettings.bat (used by settings.bat):

REM %1 should be somethnig like HKEY_CURRENT_USER or HKEY_USERS\S-1-5-21-3xxxxxxxx-2xxxxxxx-3xxxxxxxx-1000

REM no auto update
reg add "%1\Software\Foxit Software\Foxit Reader\AutoUpdate Info" /v IsAutoUpdate /d 0 /f >> NUL:
reg add "%1\Software\Foxit Software\Foxit Reader\AutoUpdate Info" /v AutoUpdateCycle /d 0 /f >> NUL:
REM remove adds
reg add "%1\Software\Foxit Software\Foxit Reader\MainFrame" /v ShowAd /d 0 /f >> NUL:
reg add "%1\Software\Foxit Software\Foxit Reader\MainFrame" /v RemoveAskBtn /d 1 /f >> NUL:
REM no FF and IE integration (just for Display in browser check box)
reg add "%1\Software\Foxit Software\Foxit Reader\MainFrame" /v DisplayInBrowser /t REG_DWORD /d 00000000 /f >> NUL: