Difference between revisions of "Foxit Reader"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(Changed MSI install string so it's correct for version 3.1)
(added post-install scripts)
Line 108: Line 108:
 
</source>
 
</source>
  
 +
=Configuration scripts=
 +
== Foxit Reader 3.1 ==
 +
Post-Install scripts:
 +
* remove desktop link
 +
* remove FF plugin
 +
* remove IE integration
 +
* no auto update
 +
* remove adds
 +
 +
 +
File '''settings.bat''':
 +
<source lang="dos">
 +
REM remove desktop link
 +
DEL /Q "%ALLUSERSPROFILE%\Desktop\Foxit Reader.lnk"
 +
 +
REM remove FF plugin
 +
DEL /Q "%PROGRAMFILES%\Mozilla Firefox\plugins\npFoxitReaderPlugin.dll"
 +
 +
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_CURRENT_USER\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_CURRENT_USER\OneUser
 +
REG UNLOAD HKU\OneUser >> NUL:
 +
</source>
 +
 +
 +
File '''usersettings.bat''' (used by settings.bat):
 +
<source lang="dos">
 +
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:
 +
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:
 +
</source>
  
 
=Configuration=
 
=Configuration=

Revision as of 16:51, 16 December 2009

Silent install for Foxit Reader, a "free PDF document viewer and printer, with incredible small size, breezing-fast launch speed and rich feature set".

You will need to download the .msi version of Foxit Reader from here in order for this to work. I would also recommend setting a different user in the permissions.

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

Installer

Foxit Reader 3.1 (English)

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

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

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

		<remove cmd='msiexec /x {81EC4B5E-E735-43D2-985A-C675003BFBB6} /passive /norestart' />

		<upgrade cmd='msiexec /i "%SOFTWARE%\foxit-reader\FoxitReader31_enu" /qn /norestart' />
 
</package>

Foxit Reader automatically makes itself the default PDF reader, hence the -register command-line switch isn't used here.

Foxit Reader 2.3

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

 <check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\Foxit Software\Foxit Reader\Foxit Reader.exe" value="2.3.2008.3201" />

 <install cmd='msiexec /i "%SOFTWARE%\Office\Foxit\FoxitReader23.msi" /QN /NORESTART ALLUSERS=1' />
 <install cmd='"%PROGRAMFILES%\Foxit Software\Foxit Reader\Foxit Reader.exe" -register' />

 <remove cmd='msiexec /x {376DA9DC-71B3-4AB7-A80C-8ED02A736172} /passive /norestart' />

 <upgrade cmd='msiexec /i "%SOFTWARE%\Office\Foxit\FoxitReader23.msi" /QN /NORESTART ALLUSERS=1' />
 <upgrade cmd='"%PROGRAMFILES%\Foxit Software\Foxit Reader\Foxit Reader.exe" -register' />

</package>

Command-line Switches

-register - make Foxit Reader the default PDF reader


Foxit Reader 2.3 (Over-Complicated Package)

Note: This package gives full control for Everyone to the Foxit Reader program directory. This is a massive security risk and should be avoided.

Note: This package copies the shortcuts installed just for the user who installed Foxit Reader, to where they will be available for all users, which seems pointless as (at least with version 3) this is the default behaviour and can also be achieved using an installer command-line switch.

<package
        id="foxit-reader"
        name="Foxit Reader"
        revision="2.3"
        reboot="false"
        priority="0">
        
	<check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\Foxit Software\Foxit Reader\Foxit Reader.exe" value="2.3.2008.2923"/>
                
<install cmd='msiexec /i %SOFTWARE%\foxit\FoxitReader23.msi /passive /norestart'>
            <exit code="0" />
        </install>
	<install cmd='cmd /c mkdir "%AllUsersProfile%\Start Menu\Programs\Foxit Reader"' />
	<install cmd='cmd /c copy "%UserProfile%\Start Menu\Programs\Foxit Reader\Foxit Reader.lnk" "%AllUsersProfile%\Start Menu\Programs\Foxit Reader"' />
	<install cmd='cmd /c rmdir /q /s "%UserProfile%\Start Menu\Programs\Foxit Reader"' />
	<install cmd='cmd /c cacls "%ProgramFiles%\\Foxit Software" /T /E /G "Everyone":F ' />
	<exit code="1332" />
	<install cmd='cmd /c cacls "%AllUsersProfile%\\Start Menu\\Programs\\Foxit Reader" /T /E /G "Everyone":F ' />
	<exit code="1332" />
        
        <remove  cmd='msiexec /x {376DA9DC-71B3-4AB7-A80C-8ED02A736172} /passive /norestart' />
	<remove cmd='cmd /c rmdir /q /s "%AllUsersProfile%\Start Menu\Programs\Foxit Reader"' />
        
	<upgrade cmd='cmd /c rmdir /q /s "%AllUsersProfile%\Start Menu\Programs\Foxit Reader"' />
        <upgrade cmd='msiexec /i %SOFTWARE%\foxit\FoxitReader23.msi /passive /norestart'>
            <exit code="0" />
        </upgrade>
	<upgrade cmd='cmd /c mkdir "%AllUsersProfile%\Start Menu\Programs\Foxit Reader"' />
	<upgrade cmd='cmd /c copy "%UserProfile%\Start Menu\Programs\Foxit Reader\Foxit Reader.lnk" "%AllUsersProfile%\Start Menu\Programs\Foxit Reader"' />
	<upgrade cmd='cmd /c rmdir /q /s "%UserProfile%\Start Menu\Programs\Foxit Reader"' />
	<upgrade cmd='cmd /c cacls "%ProgramFiles%\\Foxit Software" /T /E /G "Everyone":F ' />
	<exit code="1332" />
	<upgrade cmd='cmd /c cacls "%AllUsersProfile%\\Start Menu\\Programs\\Foxit Reader" /T /E /G "Everyone":F ' />
	<exit code="1332" />

    </package>

Configuration scripts

Foxit Reader 3.1

Post-Install scripts:

  • remove desktop link
  • remove FF plugin
  • remove IE integration
  • no auto update
  • remove adds


File settings.bat:

REM remove desktop link
DEL /Q "%ALLUSERSPROFILE%\Desktop\Foxit Reader.lnk"

REM remove FF plugin
DEL /Q "%PROGRAMFILES%\Mozilla Firefox\plugins\npFoxitReaderPlugin.dll"

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_CURRENT_USER\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_CURRENT_USER\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:
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:

Configuration

Turn Off Automatic 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 []