Difference between revisions of "PDFCreator"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
m (PDFCreator.inf)
(removed older versions 0.8.0)
Line 563: Line 563:
 
These will install only these ones.
 
These will install only these ones.
 
But on sourceforge, an MSI package of 0.9.3 without toolbar is available.
 
But on sourceforge, an MSI package of 0.9.3 without toolbar is available.
 
== Older PDFCreator versions ==
 
 
Do a manual installation of PDFCreator using the dos shell:
 
 
<code>PDFCreator-0_8_0_GNUGhostscript.exe /SAVEINF="pdfcreator-0.8.0.inf"</code>
 
 
Use the inf-file for the installer:
 
<source lang="xml">
 
<package
 
        id="pdfcreator-0.8.0"
 
        name="PDF Creator 0.8.0"
 
        revision="1"
 
        reboot="true"
 
        priority="1000">
 
        <check type="uninstall" condition="exists" path="PDFCreator 0.8.0" />
 
        <install cmd='%SOFTWARE%\pdfcreator\PDFCreator-0_8_0_GNUGhostscript.exe /LOADINF="%SOFTWARE%\pdfcreator\pdfcreator-0.8.0.inf" /VERYSILENT /NORESTART /SP-' />
 
        <remove cmd='"%ProgramFiles%\PDFCreator\unins000.exe" /VERYSILENT' />
 
</package>
 
</source>
 
 
<ul>
 
<li>Watch out to really use the /NORESTART parameter in the install. If you don't this will happen: the installer will restart the machine, but wpkg doesn't have time to make a note about the successful installation, on reboot wpkg will try and reinstall the package, but skip because it finds "PDFCreator 0.8.0" in the uninstall folder. PDFCreator has been installed, but the user will always be nagged by the wpkg notification after a reboot.</li>
 
<li>Using the environment variable %ProgramFiles% keeps your uninstall independent of the windows language version. Watch out to also remove the Path="c:\somepath" entry in the inf-file if you want a truly language-independent installation.</li>
 
<li>There is also a patch for this version of PDFCreator. Because it produces the same uninstall entry as this version, i.e. "PDFCreator 0.8.0" I have not yet found a way to successfully add it as an additional package. - Now I have, see next section.</li>
 
</ul>
 
 
== Installing 0.8.0-patch2 ==
 
Create the inf file with the new version in the same way as above. Create the package:
 
<source lang="xml">
 
<package
 
        id="pdfcreator-0.8.0-patch2"
 
        name="PDF Creator 0.8.0"
 
        revision="1"
 
        reboot="true"
 
        execute="once"
 
        priority="999">
 
        <install cmd='%SOFTWARE%\ ... (nearly same as above) ...' />
 
        <remove cmd='"%ProgramFiles%\PDFCreator\unins000.exe" /VERYSILENT' />
 
</package>
 
</source>
 
Main difference: I've set down the priority, so 0.8.0 is always installed before patch2 and I've also removed the install check. But it doesn't stop here. Next, create a profile:
 
<source lang="xml">
 
<profile id="pdfcreator">
 
<package package-id="pdfcreator-0.8.0" />
 
<package package-id="pdfcreator-0.8.0-patch2" />
 
</profile>
 
</source>
 
Now, whenever you want to include pdfcreator, you can just include the "software profile" in any other profiles. Having both versions in a profile and using the priority settings ensures that 0.8.0 is always installed before patch2.
 
  
 
[[category:Silent Installers]]
 
[[category:Silent Installers]]

Revision as of 08:11, 14 May 2013

PDFCreator 1.7.0

PDFCreator allows any Windows program to easily create PDF files by using it like a printer so as to save to a PDF. It is available from http://www.pdfforge.org/pdfcreator.

Used this: http://www.pdfforge.org/content/setup-command-line-parameters

Note: The normal Download tries to download some additional files from the internet. Not quite so obious, there is an offline version of the install programm at http://download.pdfforge.org/download/pdfcreator


To create a custom PDFCreator.inf, run the installer manually using the switch :

PDFCreator-%version%_setup.exe /SAVEINF="PDFCreator.inf"

Now check the INF file and add if necessary

Toolbar=0
Offer=0

Place the INF file in the same directory as the .exe file.

PDFCreator.inf

[Setup]
Lang=english
Group=PDFCreator
NoIcons=0
SetupType=custom
Components=program,ghostscript,images2pdf,pdfarchitect,comsamples,helpfiles,helpfiles\english,languages,languages\english
Tasks=desktopicon,desktopicon\common,winexplorer
Printername=PDFCreator
ServerInstallation=0
Win9xPrinterdriver=0
WinNtPrinterdriver=0
Win2k32bitPrinterdriver=0
Win2k64bitPrinterdriver=0
Toolbar=0
Offer=0

Note: pdfarchitect is a additional program to edit pdf-files. Unlike pdfcreator it is not free to use. You can remove it from Components if you don't want to install it.

WPKG XML

<?xml version="1.0" encoding="UTF-8"?> 
<packages:packages
        xmlns:packages="http://www.wpkg.org/packages" xmlns:wpkg="http://www.wpkg.org/wpkg" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.wpkg.org/packages ../xsd/packages.xsd" >
     <package
      id="pdfcreator"
      name="PDFCreator"
      revision="%PKG_VERSION%"
      reboot="false"
      priority="10">
      
      <variable name="PKG_VERSION"      value="1.7.0" />
      <variable name="PKG_EXE_VERSION"  value="1.7.0.0" />
      <variable name="PKG_EXE_NAME"     value="PDFCreator-1_7_0_setup_offline.exe" />
      <variable name="PKG_DESTINATION"  value="%ProgramFiles%\PDFCreator"      architecture="x86"/>
      <variable name="PKG_DESTINATION"  value="%ProgramFiles(x86)%\PDFCreator" architecture="x64"/>

      <check type="file" condition="versiongreaterorequal" path="%PKG_DESTINATION%\PDFCreator.exe" value="%PKG_EXE_VERSION%" />
      <commands>           
        <command type="install" timeout="300" cmd='%COMSPEC% /C if exist "%PKG_DESTINATION%\unins000.exe" "%PKG_DESTINATION%\unins000.exe" /VERYSILENT' /> 
        <command type="install" timeout="300" cmd='%COMSPEC% /C if exist "%PKG_DESTINATION%\unins001.exe" "%PKG_DESTINATION%\unins001.exe" /VERYSILENT' />
        <command type="install" timeout="400" cmd='%SOFTWARE%\pdfcreator\%PKG_EXE_NAME% /LOADINF="%SOFTWARE%\pdfcreator\PDFCreator.inf" /DontUseYahooSearch  /VERYSILENT /NORESTART /SP-' />
        <command type="install" timeout="300" cmd='%COMSPEC% /C REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />
        <!-- enable the following lines if you have problems with ocx not registered, it also helps to run pdfcreator as admin once -->      
             <!-- <command type="install" cmd="regsvr32 /s %SYSTEMROOT%\SysWOW64\MSCOMCTL.OCX"/> -->
             <!-- <command type="install" cmd="regsvr32 /s %SYSTEMROOT%\SysWOW64\MSCOMCT2.OCX"/> -->

        <command type="upgrade" include="install" />

        <command type="remove" timeout="300" cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" "%PROGRAMFILES%\PDFCreator\unins000.exe" /VERYSILENT' />   
        <command type="remove" timeout="300" cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" /VERYSILENT' /> 
        <command type="remove" timeout="300" cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins001.exe" "%PROGRAMFILES%\PDFCreator\unins001.exe" /VERYSILENT' />   
        <command type="remove" timeout="300" cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins001.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins001.exe" /VERYSILENT' />
      </commands>   
    </package>
</packages:packages>


PDFCreator 1.1.0 - 1.2.3

PDFCreator allows any Windows program to easily create PDF files by using it like a printer so as to save to a PDF. It is available from http://www.pdfforge.org/pdfcreator.

Version 1.1.0 added the ability to install the latest version without uninstalling the previous versions and rebooting. This allows for a completely silent install which you couldn't do in version 1.0.1.

Please note Version 1.2.1 includes several files related to bundled toolbars that will trigger alerts in NOD32. The author claims these are false positives that only NOD32 detects. See DoPDF for an alternative that does not include toolbars.

Explanations of all command line parameters are available here: http://www.pdfforge.org/content/setup-command-line-parameters

You can also use the /FORCEINSTALL flag which ignores previously installed versions. You might want to consider using this.

If you don't want the Yahoo Search toolbar installed in browsers add the /DontUseYahooSearch switch. This is the same as using "Toolbar=0" in the INF file.

<package
  id="pdfcreator"
  name="PDFCreator 1.2.3"
  revision="1.2.3-20111014"
  reboot="false"
  priority="5">

  <!--  Note that PDFCreator 1.2.3 reports its version as 1.2.0.3, so this is reflected in the 'check' -->
  <check type="logical" condition="or">
    <check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES%\PDFCreator\PDFCreator.exe" value="1.2.0.3" />
    <check type="file" condition="versiongreaterorequal" path="%PROGRAMFILES(x86)%\PDFCreator\PDFCreator.exe" value="1.2.0.3" />
  </check>
 
  <install cmd='%SOFTWARE%\pdfcreator\PDFCreator-1_2_3_setup.exe /LOADINF="%SOFTWARE%\pdfcreator\PDFCreator-1_2_3.inf" /DontUseYahooSearch  /VERYSILENT /NORESTART /SP-' />
  <install cmd='%COMSPEC% /C REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />
 
  <upgrade cmd='%SOFTWARE%\pdfcreator\PDFCreator-1_2_3_setup.exe /LOADINF="%SOFTWARE%\pdfcreator\PDFCreator-1_2_3.inf" /DontUseYahooSearch /VERYSILENT /NORESTART /SP-' />
  <upgrade cmd='%COMSPEC% /C REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />
  <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" "%PROGRAMFILES%\PDFCreator\unins000.exe" /VERYSILENT' />   
  <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" /VERYSILENT' /> 
  <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins001.exe" "%PROGRAMFILES%\PDFCreator\unins001.exe" /VERYSILENT' />   
  <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins001.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins001.exe" /VERYSILENT' />   
</package>

This is a sample PDFCreator-1_2_1.inf without the toolbar or desktop icons. Setting NoIcons=1 will remove the start menu folder.

Please consider the "Dir"/"Lang"-Setting in the inf file. You can dynamically change it, depending on your OS (x86 or x64) and language, or take the standard setting. The installer will take the system standard setting of programfiles folder, if you remove the entry after "Dir=" or "Lang=" For dynamically changing the ini-file settings within batch file processing, take a look at http://home.mnet-online.de/horst.muc/wbat32d.htm#inifile It is very easy to use.

[Setup]
Lang=english
Dir=C:\Program Files (x86)\PDFCreator
Group=PDFCreator
NoIcons=0
SetupType=custom
Components=program,ghostscript,images2pdf,comsamples,helpfiles,helpfiles\english,languages,languages\english
Tasks=winexplorer
Printername=PDFCreator
ServerInstallation=0
Win9xPrinterdriver=0
WinNtPrinterdriver=0
Win2k32bitPrinterdriver=0
Win2k64bitPrinterdriver=0
Toolbar=0

To create a custom PDFCreator-1_2_1.inf, run the installer using:

PDFCreator-1_2_1_setup.exe /SAVEINF="PDFCreator-1_2_1.inf"

Remove "Application Updater" and "Toolbar"

If you have accidentally installed the "Pdfforge Toolbar" and a service called Application Updater and want to get rid of them, define update commands like those:

<upgrade cmd='sc stop "Application Updater"' />
<upgrade cmd='sc delete "Application Updater"' />
<upgrade cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\Application Updater\ApplicationUpdater.exe" rmdir /S /Q "%PROGRAMFILES%\Application Updater"'/>
<upgrade cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\pdfforge Toolbar\WidgiHelper.exe" "%SOFTWARE%\pdf\removeToolbar.bat" ' />

where removeToolbar.bat is

rem pdfforge Toolbar v4.1
MsiExec /qn /X {B1BFDF6B-3C03-46fe-B5D7-BABB0063D8E0}
rem pdfforge Toolbar v4.3
MsiExec /qn /X {A0B139A7-E8D5-49E8-A7BF-12421E652208}
rem pdfforge Toolbar v4.4
MsiExec /qn /X {BCB52F35-4C56-49F2-A3D6-FDED54B01847}
rem pdfforge Toolbar 4.5
MsiExec /qn /X {638482BC-3092-42DC-AEA1-735264911A77}

PDFCreator 1.0.1

PDFCreator 1.0.1 is not available as an MSI package. Customization has to be prepared via commandline arguments to the installer, or via the LOADINF method; both of them allow for a customized installation without toolbar and desktop icon.

Note that the uninstall string is "PDFCreator" for both versions, so I added a check on the executable version number just to make sure. The version in the executable for 1.0.1 is "1.0.0.1" rather than the expected "1.0.1.0".

Note also the call to unins000.exe before install/upgrade. This should remove any previous versions that may have been manually installed. The exit code will be 0 if a previous installation was removed, otherwise it is undefined.

 <package
       id="pdfcreator"
       name="PDFCreator 1.0.1"
       revision="101"
       reboot="false"
       priority="0">

    <check type="logical" condition="or">
        <check 
            type="file" 
            condition="versionequalto" 
            path="%PROGRAMFILES%\PDFCreator\PDFCreator.exe" 
            value="1.0.0.1"
            />
        <check 
            type="file" 
            condition="versionequalto" 
            path="%PROGRAMFILES(x86)%\PDFCreator\PDFCreator.exe" 
            value="1.0.0.1"
            />
    </check>

    <install cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" "%PROGRAMFILES%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" />
    </install>
    <install cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" />
    </install>
    <install cmd='%SOFTWARE%\PDFCreator\PDFCreator-1_0_1_setup.exe /LOADINF="%SOFTWARE%\PDFCreator\PDFCreator-1_0_1.inf" /VERYSILENT /NORESTART /SP-' />
    <install cmd='REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />
    
     <upgrade cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" "%PROGRAMFILES%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" />
    </upgrade>
    <upgrade cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" />
    </upgrade>	
    <upgrade cmd='%SOFTWARE%\PDFCreator\PDFCreator-1_0_1_setup.exe /LOADINF="%SOFTWARE%\PDFCreator\PDFCreator-1_0_1.inf" /VERYSILENT /NORESTART /SP-' />
    <upgrade cmd='REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />

    <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" "%PROGRAMFILES%\PDFCreator\unins000.exe" /VERYSILENT' />   
    <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" /VERYSILENT' />   

 </package>

Below you find an excerpt from 1.0.0 history.txt, while PDFForge homepage http://www.pdfforge.org/pdfcreator states "Supports Windows Vista and Windows 7". Version 1.0.1 adds a few more languages and fixes a few minor bugs. See the History.txt in the program installation directory for more details.

Version 1.0 (Mai 28th, 2010)
-------------------------------------------------------------------------------
   * Improvements: Uses GPL-Ghostscript 8.71 now.
   * Added the feature to set the color\grey compression factor manually to get the best realtion between file size and quality of pdf files
   * Improved print after saving (color printing, set maximum resolution)
   * Improved the signing feature (set signature on page is freely definable)
   * PDFCreator can handle signing and encrypting in one step
   * Improved the setup: 64bit printer driver installable on a 32bit system
   * Added a better dialog for the certificate password
   * Added the font dialog to the options dialog again
   * Improved the PDFCreator class (check for an existing printer in cPrintPrinterTestpage, check for an existing file in cPrintfile)
   * Bug Fixes: Fixed a crashing options dialog
   * Fixed the "481 - invalid picture" bug
   * Fixed a bug reading the options on Win9xMe systems
   * Fixed a bug if the user uses Thai calendar format
   * Fixed a bug using different Ghostscript versions
   * Fixed some minor bugs.
   * Known issues No hyperlinks possible (Hyperlinks for MS Word are possible with the combination of PDF-T-Maker and PDFCreator.)

To create PDFCreator-1_0_1.inf, you can install PDFCreator manually using:

PDFCreator-1_0_1_setup.exe /SAVEINF="PDFCreator-1_0_1.inf"

To use an existing inf file:

PDFCreator-1_0_1_setup.exe /LOADINF="PDFCreator-1_0_1.inf"

For your convenience, here is a PDFCreator-1_0_1.inf without toolbar (Components<>browseraddon) and desktop icons(Tasks<>desktopicon,desktopicon\common,quicklaunchicon). Please change "Dir" and "Lang" entries according to your system/language:

[Setup]
Lang=english
Dir=C:\Program Files\PDFCreator
Group=PDFCreator
NoIcons=1
SetupType=custom
Components=program,ghostscript,!toolbar,helpfiles,helpfiles\english,languages,languages\english
Tasks=winexplorer
Printername=PDFCreator
ServerInstallation=0
Win9xPrinterdriver=0
WinNtPrinterdriver=0
Win2k32bitPrinterdriver=0
Win2k64bitPrinterdriver=0

All possible components/languages/options:

[Setup]
Lang=english
Dir=C:\Program Files\PDFCreator
Group=PDFCreator
NoIcons=0
SetupType=custom
Components=program,ghostscript,browseraddon,comsamples,!toolbar,helpfiles,helpfiles\english,helpfiles\french,helpfiles\german,languages,languages\catalan,languages\chinese_simplified,languages\danish,languages\english,languages\french,languages\galician,languages\german,languages\hungarian,languages\latvian,languages\portuguese_br,languages\russian,languages\slovak,languages\slovenian,languages\spanish,languages\turkish,
languages\valencian
Tasks=desktopicon,desktopicon\common,quicklaunchicon,fileassoc,winexplorer

The commandline options for customizing the installation are still available:

PDFCreator-1_0_1_setup.exe /SILENT /components=\"!toolbar\" /tasks=\"!desktop_icon\" /f /norestart

Disabling Automatic Update Checking

The update interval can be controlled or disabled by two methods: importing a registry file or calling the reg command as an additional install/update action.

The following values can be forced for the UpdateInterval key:

UpdateInterval=0 means "Never"
UpdateInterval=1 means "Once a day"
UpdateInterval=2 means "Once a week"
UpdateInterval=3 means "Once a month"


The registry file simply contains the following:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\PDFCreator\Program]
"UpdateInterval"="0"


Instead of importing a separate registry file you can use this line:

<install cmd='REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />

PDFCreator 0.9.8

PDFCreator 0.9.8 is not available as an MSI package. Customization has to be prepared via commandline arguments to the installer; this allows for example the installation without toolbar and desktop icon.

Version 0.9.8 does not upgrade from 0.9.7 (it complains about the package being already installed) so I use a different package id ("pdfcreator-097" for the old version, "pdfcreator-098" for the new), so that the old version is removed before the new is installed.

Note that the uninstall string is "PDFCreator" for both versions, so I added a check on the executable version number just to make sure.

Note also the call to unins000.exe before install/upgrade. This should solve the "package already installed" problem mentioned above. This also serves to remove any previous versions that may have been manually installed.

Install/Upgrade also merges in the registry tree HKEY_LOCAL_MACHINE a registry file named "PDFCreator-0_9_8-ZeroUpdateInterval.reg" in order to disable the "auto update check" mechanism. The registry file simply contains the following:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\PDFCreator\Program]
"UpdateInterval"="0"

The following values can be forced for the UpdateInterval key:

UpdateInterval=0 means "Never"
UpdateInterval=1 means "Once a day"
UpdateInterval=2 means "Once a week"
UpdateInterval=3 means "Once a month"


Instead of using the "regedit" line and a separate pdfcreator.reg you can use this line:

<install cmd='REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />


 <package
       id="pdfcreator-098"
       name="PDFCreator 0.9.8"
       revision="1"
       reboot="false"
       priority="0">

    <!-- User can upgrade their version we have to check the binary version 
         and take care of 32/64bit differences -->         
    <check type="logical" condition="or">
        <check 
            type="file" 
            condition="versiongreaterorequal" 
            path="%PROGRAMFILES%\PDFCreator\PDFCreator.exe" 
            value="0.9.0.8"
            />
        <check 
            type="file" 
            condition="versiongreaterorequal" 
            path="%PROGRAMFILES(x86)%\PDFCreator\PDFCreator.exe" 
            value="0.9.0.8"
            />
    </check>

    <install cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" "%PROGRAMFILES%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" /> 
            <!-- 0 = previous installation successfully removed.
                undefined = no previous installation -->
    </install>
	
    <install cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" /> 
            <!-- 0 = previous installation successfully removed.
                undefined = no previous installation -->
    </install>
    <install cmd='%SOFTWARE%\PDFCreator\PDFCreator-0_9_8_setup.exe  /silent /norestart /components=\"!toolbar\" /tasks=\"!desktop_icon\"" /f"' />
    <install cmd='regedit /s %SOFTWARE%\PDFCreator\PDFCreator-0_9_8-ZeroUpdateInterval.reg' />
    <install cmd='REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />
    

     <upgrade cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" "%PROGRAMFILES%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" /> 
            <!-- 0 = previous installation successfully removed.
                undefined = no previous installation -->
    </upgrade>
    <upgrade cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" /VERYSILENT"' >
        <exit code="any" reboot="false" /> 
            <!-- 0 = previous installation successfully removed.
                undefined = no previous installation -->
    </upgrade>	
    <upgrade cmd='%SOFTWARE%\PDFCreator\PDFCreator-0_9_8_setup.exe  /silent /norestart /components=\"!toolbar\" /tasks=\"!desktop_icon\"" /f"' />
    <upgrade cmd='REG ADD "HKLM\SOFTWARE\PDFCreator\Program" /v "UpdateInterval" /t REG_SZ /d "0" /f' />
    <upgrade cmd='regedit /s %SOFTWARE%\PDFCreator\PDFCreator-0_9_8-ZeroUpdateInterval.reg' />


    <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES%\PDFCreator\unins000.exe" %PROGRAMFILES%\PDFCreator\unins000.exe /VERYSILENT' />   
    <remove  cmd='%COMSPEC% /C if exist "%PROGRAMFILES(x86)%\PDFCreator\unins000.exe" %PROGRAMFILES(x86)%\PDFCreator\unins000.exe /VERYSILENT' />   

 </package>

PDFCreator 0.9.7

PDFCreator 0.9.7 is not available as an MSI package. Customization has to be prepared via commandline arguments to the installer; this allows for example the installation without toolbar and desktop icon.

Version 0.9.7 does not upgrade from 0.9.6 (it complains about the package being already installed) so I use a different package id ("pdfcreator-096" for the old version, "pdfcreator-097" for the new), so that the old version is removed before the new is installed.

Note that the uninstall string is "PDFCreator" for both versions, so I added a check on the executable version number just to make sure.

Note also the call to unins000.exe before install/upgrade. This should solve the "package already installed" problem mentioned above. This also serves to remove any previous versions that may have been manually installed.

 <package
       id="pdfcreator-097"
       name="PDFCreator 0.9.7"
       revision="1"
       reboot="false"
       priority="0">
       <check type="logical" condition="and">
         <check type="uninstall" condition="exists" path="PDFCreator" />
         <check type="file" condition="versionequalto" path="%PROGRAMFILES%\PDFCreator\PDFCreator.exe" value="0.9.0.7"/>
       </check>
       <install cmd='%PROGRAMFILES%\PDFCreator\unins000.exe /VERYSILENT' >
         <exit code="any" reboot="false" /> <!-- 0 = previous installation successfully removed.
                                                undefined = no previous installation -->
       </install>
       <install cmd='%SOFTWARE%\PDFCreator\PDFCreator-0_9_7_setup.exe  /silent /norestart /components=\"!toolbar\" /tasks=\"!desktop_icon\"" /f"' />
       <upgrade cmd='%PROGRAMFILES%\PDFCreator\unins000.exe /VERYSILENT' /> 
       <upgrade cmd='%SOFTWARE%\PDFCreator\PDFCreator-0_9_7_setup.exe  /silent /norestart /components=\"!toolbar\" /tasks=\"!desktop_icon\"" /f"' />
       <remove  cmd='%PROGRAMFILES%\PDFCreator\unins000.exe /VERYSILENT' />   
 </package>

Below you find an excerpt from 0.9.7 history.txt, which states Windows 7 Beta support (Vista support since version 0.9.6) and more.


Version 0.9.7 (February 3, 2009)
-------------------------------------------------------------------------------
Improvements:
- Create very small PDF/A files.
- A new version of the pdfforge.dll supports direct creation of PDFs from images and can create booklets.
- Supports Windows 7 Beta.
- New Browser Add On.
- Many minor improvements.

Bug Fixes:
- Fixed some minor bugs.

Known issues:
- No hyperlinks possible (Hyperlinks for MS Word are possible with the combination of PDF-T-Maker and PDFCreator.)


Removing the toolbar

The toolbar can also be removed with the following command after installation:

"%windir%\PDFCRE~1.EXE" -s

PDFCreator 0.9.3

PDFCreator 0.9.3 is available as an MSI package. Using the standard MSI install/uninstall seems to work for me.

 <package
       id="pdfcreator"
       name="PDFCreator"
       revision="1"
       reboot="false"
       priority="0">
       <check type="uninstall" condition="exists" path="PDFCreator" />   
       <install cmd='msiexec /qn /i %SOFTWARE%\pdfcreator\zPDFCreator-0_9_3-AD_DeploymentPackage-WithoutToolbar.msi' />
       <upgrade cmd='msiexec /qn /i %SOFTWARE%\pdfcreator\zPDFCreator-0_9_3-AD_DeploymentPackage-WithoutToolbar.msi' />
       <remove cmd='msiexec /qn /x %SOFTWARE%\pdfcreator\zPDFCreator-0_9_3-AD_DeploymentPackage-WithoutToolbar.msi' /> 
       <remove cmd='regedit /S %SOFTWARE%\pdfcreator\pdfc_del.reg' /> <!-- It seems uninstall does not properly clean up.
 (Specifically pdfcmnnt.dll is not removed and is still being loaded on boot) This is a problem when upgrading from 0.9.3 to 0.9.5,
 because the 0.9.5 installer cannot handle locked files during silent install. -->
 </package>

The reg file is:

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors\PDFCreator]
[-HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Print\Monitors\PDFCreator]
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\PDFCreator]

Upgrading to 0.9.3 from an already installed older release (0.8.1 in my case)

The previous package block works when 0.9.3 is the first release to be installed. The package block below resolves 2 problems.

<package
       id="pdfcreator"
       name="PDFCreator"
       revision="6"
       reboot="false"
       priority="0">
       <check type="uninstall" condition="exists" path="PDFCreator" />   
       <install cmd='msiexec /qn /norestart /i %SOFTWARE%\pdfcreator\zPDFCreator-0_9_3-AD_DeploymentPackage-WithoutToolbar.msi' />
	<install cmd='regedit /s %SOFTWARE%\pdfcreator\HKLM_pdfcreator_command.reg' />
       <upgrade cmd='msiexec /qn /norestart /i %SOFTWARE%\pdfcreator\zPDFCreator-0_9_3-AD_DeploymentPackage-WithoutToolbar.msi' />
	<upgrade cmd='regedit /s %SOFTWARE%\pdfcreator\HKLM_pdfcreator_command.reg' />
       <remove cmd='msiexec /qn /x %SOFTWARE%\pdfcreator\zPDFCreator-0_9_3-AD_DeploymentPackage-WithoutToolbar.msi' />   
 </package>

The reg file is :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\PDFCreator\Ports\PDFCreator:]
"Command"="C:\\Program Files\\PDFCreator\\PDFSpooler.exe"

There is a last bug to solve. I'll post the solution here later.

PDFCreator 0.9.1

PDFCreator 0.9.1 comes in the handy form of a MSI package.
Unfortunately, when you install it, it is possible that a normal user will not be able to use this printer - this has to be corrected with rundll printui.dll,PrintUIEntry.... The complete silent installer and uninstaller looks like this:

 <package
        id="pdfcreator"
        name="PDFCreator"
        revision="1"
        reboot="false"
        priority="0">
        <check type="uninstall" condition="exists" path="PDFCreator" />   
        <install cmd='msiexec /qb /i "%SOFTWARE%\PDFCreator\PDFCreator-0_9_1_AFPLGhostscript_32bit.msi"' />
        <install cmd='rundll32 printui.dll,PrintUIEntry /q /ga pdfcreator' />
        <remove cmd='MsiExec.exe /q /x{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}' />   
 </package>

Note: while I was testing this, I installed and uninstalled PDFCreator 0.9.1 without rebooting the PC. After yet another installation, the installer popped up a window, saying that a restart is necessary. So perhaps if you're upgrading from the older PDFCreator version, a restart after uninstalling that old version might be a good idea.

Options

Questions

  • How do you prevent installing the browser toolbar?

There is a way to prevent installing the toolbar when installing with the Inno Setup based .exe. Just use /components="program,ghostscript,languages,languages\english". These will install only these ones. But on sourceforge, an MSI package of 0.9.3 without toolbar is available.