Nachdem wir in Zukunft PDFCreator nicht mehr einsetzen können, da ab Version 3.2.1 der freien Software keine unbeaufsichtigte Installation mehr möglich ist (siehe hier), haben wir uns entschlossen, eine Alternative zu suchen und diese in PDF24 gefunden.
Der erste Vorteil: Es wird eine msi-Installationsdatei angeboten (Download hier möglich). Auf der Seite werden auch gleich die wichtigsten Parameter beschrieben. Daher kann man ganz einfach die MSIInstallProduct benutzen:
In der Script.inc sieht dies folgendermaßen aus:
: GeneratedInstallCodeStart
MSIInstallProduct(‚.\Extern$\Msidata\pdf24-creator.msi‘,’DEBUG‘,MsiInstMach)params:AUTOUPDATE=No DESKTOPICONS=No FAXPRINTER=No
EndProc/TS
Beim ersten Start fällt noch das Werbelogo auf der rechten Seite auf. Dies kann man einfach ersetzen, indem man eine bmp-Datei mit der Größe 200×330 px (Breite x Höhe) in den Programmordner kopiert. Gleichzeitig liegt noch ein Link hinter dem Bild, der beim Klick auf eine Werbeseite geht, aber auch dieser soll weg.
Copy(‚.\Extern$\logo.bmp‘,’%ProgramFilesDir%\PDF24\logo.bmp‘)/TS
Dazu einfach in der Registry folgenden Wert anpassen:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PDFPrint]
„LogoClickUrl“=“<wir haben hier ein Link auf unser Intranet>“
PDF24 zeigt viele Tools an, von denen einige für den Endbenutzer nicht angezeigt werden sollen, z.B. Screen Capture (dafür haben wir Greenshot), Online PDF Konverter usw.
Um diese auszublenden, klickt man im Programm unten auf Einstellungen und passt sich den PDF24 frei nach seinen Wünschen an. Diese werden dann in
HKEY_CURRENT_USER\SOFTWARE\PDFPrint
in der Registry gespeichert:
Um die Schlüssel nicht für jeden Benutzer setzen zu müssen, kopiert man die gewünschten Einstellungen einfach in
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PDFPrint]
Der Anwender kann sich diese jedoch in den Einstellungen wieder einblenden. Um das zu verhindern, kann man den Werten aus HKEY_LOCAL_MACHINE eine höhere Priorität geben, indem man vor den Namen ein Ausrufezeichen setzt:
Zusammen mit dem Schlüssel für die URL (die im selben Schlüssel liegt), kann man eine Standard.nir erzeugen, die folgendermaßen aussieht:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\PDFPrint]
„InstallDir“=“C:\\Program Files (x86)\\PDF24\\“
„Label“=“pdf24“
„UpdateCheckUrl“=“http://www.pdf24.org/products/pdf-creator/update/updateCheck.php“
„UpdateInfoURL“=“http://free-update.pdf24.org/products/pdf-creator/update/update.info“
„UpdateMode“=dword:00000002
„CreatorID“=“pdf24“
„LogoClickUrl“=“<wir haben hier ein Link auf unser Intranet>“
„CreatorName“=“pdf24.org“
„CreatorEmail“=“team@pdf24.org“
„Language“=“German“
„CloseAssistantAfterSave“=dword:00000001
„CloseAssistantAfterEmail“=dword:00000001
„AssistantOpenPDFAfterSave“=dword:00000001
„!NoTrayIcon“=dword:00000001
„!NoOnlineConverter“=dword:00000001
„!NoShellContextMenuExtension“=dword:00000000
„!NoShellFileContextMenuExtension“=dword:00000000
„!NoShellDirectoryContextMenuExtension“=dword:00000000
„!NoShellBackgroundContextMenuExtension“=dword:00000000
„!EmailInterface“=“outlook_ole“
„!NoOnlinePdfTools“=dword:00000001
„!NoCloudPrint“=dword:00000001
„!NoEmbeddedBrowser“=dword:00000001
„!NoPDF24MailInterface“=dword:00000001
„!NoTwainImport“=dword:00000001
„!NoScreenCapture“=dword:00000001
„!NoFax“=dword:00000001
„!NoFaxProfile“=dword:00000001
„!NoMail“=dword:00000000
„!NoDelayedToForegroundOnNewFile“=dword:00000001
„!DeletePrintJobsWithError“=dword:00000000
„ExplorerListViewMode“=dword:00000000
„CreatorWindowWidth“=dword:000003dc
„CreatorWindowHeight“=dword:00000218
„CreatorWindowMaximized“=dword:00000001
Diese bindet man noch ins Paket ein:
Zum Schluss noch die Überprüfung, ob vorher ein Reboot nötig ist (Näheres dazu hier), ein Kommentar der Änderungen für die Nachvollziehbarkeit und das Abfangen der msi-Rückgabewerte zur besseren Fehleranalyse:
In der Script.inc sieht dies folgendermaßen aus:
Set(‚Returncode‘,’0′)
!
!
!Prüfen ob Reboot nötig
If RegKeyExistsEx(‚HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending‘,reUseX64Hive) or RegKeyExistsEx(‚HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired‘,reUseX64Hive) or RegValueExistsEx(‚HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager‘,’PendingFileRenameOperations‘,reUseX64Hive)
System_Reset/?
ExitProcEx(Undone,’Installation kann erst nach einem Neustart erfolgen‘)
!
!
: GeneratedInstallCodeStart
MSIInstallProduct(‚.\Extern$\Msidata\pdf24-creator.msi‘,’DEBUG‘,MsiInstMach)params:AUTOUPDATE=No DESKTOPICONS=No FAXPRINTER=No
EndProc/TS
Copy(‚.\Extern$\logo.bmp‘,’%ProgramFilesDir%\PDF24\logo.bmp‘)/TS
RegLoad(‚.\standard.nir‘)/TS
If not %returncode%=’0′
If %returncode%=’3010′
System_Reset/?/TS
ExitProcEx(Done,’Installation of %CurrentPackage.Object.Name% sucessfully but reboot required‘)
ExitProcEx(Failed,’The execution of %CurrentPackage.Object.Name% with Error Code %returncode%‘)
!
: GeneratedInstallCodeEnd