|
Voici un script qui permet d'installer PDFCreator 0.9.8 sans assistance en Kixtart.
Point supplémentaires :
-Le script désinstalle l'ancienne version
de PDFCreator si elle est installée dans le dossier par defaut.
-Le script personnalise les options : paramétrage de PDFCreator en suvegarde automatique dans le dossier c:\pdf. -Le script modifie la base des registres de "default user" et "current user".
Principe
Mettre les 5 fichiers suivants dans le même
dossier :
PDFCreator-0_9_8_setup (ce
fichier peut être télechargé sur le site de www.pdfsam.org : http://sourceforge.net/projects/pdfcreator/
)
install.bat : décrit ci-dessous PDFCreator-0_9_8_setup.kix : décrit ci-dessous personalisationCU.reg : décrit ci-dessous (fichier extrait de la base des registres HKCU) personalisationDU.reg : décrit ci-dessous (fichier précédent modifié pour être importé dans ntuser.dat de default user )
Pour installer et parametrer PDFCreator 0.9.8 de
manière silencieuse : double cliquer sur install.bat
Détail
des scripts nécessaires
Contenu du fichier install.bat
Prompt $H cls @echo OFF
@echo ................................ @echo INSTALLATION DE PDFCreator 0.9.8 @echo JEAN-RENE DANIS 15/05/09 @echo ................................
IF NOT EXIST %WINDIR%\system32\kix32.exe ( @echo ...................................................................... @echo CE SCRIPT NECESSITE LA PRESENCE DU FICHIER %WINDIR%\system32\kix32.exe @echo VOUS POUVEZ LE TELECHARGER ET LE COPIER A PARTIR DU SITE WEB : @echo www.kixtart.org @echo ...................................................................... pause ) ELSE ( @echo ON kix32 PDFCreator-0_9_8_setup.kix ) Prompt
|
Contenu du fichier PDFCreator-0_9_8_setup.kix
(télécharger ce script en pdf couleur ici)
; installation de PDFCreator 0.9.8 à partir du fichier PDFCreator-0_9_8_setup.exe ; éventuellement désinstalle PDFCreator s'il est déjà installé dans le dossier par défault. ; Inscription des options personnalisé du logiciel dans le registre du profil par défaut et du profil courrant. ; JEAN-RENE DANIS 15/05/09 www.jrdanis.com
;Liste des variable(s) ;variable qui définit l'emplacement du fichier log $DossierDeLog = "%systemdrive%\install\log\"
;Création du dossier pour mettre le fichier log si ce dossier n'existe pas IF NOT EXIST ($DossierDeLog) MD $DossierDeLog ENDIF
;Ouverture du fichier log et redirection des messages IF RedirectOutput($DossierDeLog + @SCRIPTNAME + ".txt") = 0 ?? "Ouverture de " + @SCRIPTNAME + " à " + @TIME ELSE ? "Impossible de créer le fichier log" GOTO "finerreur" ENDIF
cd @SCRIPTDIR\
;determine le chemin du dossiers "program files" pour les applications 32 bits ;Dans le cas d'un système d'exploitation 64 bits : les applications 32 bits sont dans le dossiers ProgramFilesDir (x86). $PRGDIR=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","ProgramFilesDir (x86)") IF $PRGDIR =""
;Si ProgramFilesDir (x86) n'exite pas : c'est que le sysème
d'exploitation est 32bits, dans ce cas les applications 32bits sont
dans le dossier ProgramFilesDir. $PRGDIR=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","ProgramFilesDir") ENDIF ? 'Chemin du dossiers "program files" pour les applications 32bits : $PRGDIR'
;determine le chemin du menu démarrer\programmes de tous les utilisateurs $ALLUSERPRG=readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders","Common Programs") ? "Chemin du menu démarrer\programmes : " + $ALLUSERPRG
;Tentative de désinstallation de l'ancienne version $dossierInstA = "$PRGDIR\pdfcreator" ? $dossierInstA $dossierInstB = readvalue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion","ProgramW6432Dir") + "\pdfcreator" ? $dossierInstB IF EXIST ($dossierInstA) $dossierInst = $dossierInstA ELSE $dossierInst = $dossierInstB ENDIF $prgatester = "$dossierInst\pdfcreator.exe" IF EXIST ($prgatester) ? "Le programme est déjà installé : tentative de déinstallation automatique" IF EXIST ("$dossierInst\unins000.exe") ; désinstallation du programme PDFCreator $commande = '"$dossierInst\unins000.exe" /Silent' ? $commande shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR ? "La désinstallation a échouée : il faut faire une désinstallation manuelle" GOTO "finerreur" ENDIF ENDIF ; attends la fin de la désinstallation $UninstallExist = 0 WHILE $UninstallExist = 0 sleep 5 IF NOT EXIST ("$DossierInstallFileZilla\unins000.exe") $UninstallExist = 1 ENDIF LOOP sleep 5 IF EXIST ("$ALLUSERPRG\PdfCreator") ;effacement d'un dossier du menu démarrer rd $ALLUSERPRG\PdfCreator /s IF NOT EXIST ("$ALLUSERPRG\PdfCreator") ? "Le dossier : $ALLUSERPRG\PdfCreator a été supprimé" ELSE ? "Le dossier : $ALLUSERPRG\PdfCreator n'a pas été supprimé complétement" ENDIF ENDIF IF EXIST ("$ALLUSERPRG\Utilitaires\PdfCreator") rd $ALLUSERPRG\Utilitaires\PdfCreator /s IF NOT EXIST ("$ALLUSERPRG\Utilitaires\PdfCreator") ? "Le dossier : $ALLUSERPRG\Utilitaires\PdfCreator a été supprimé" ELSE
? "Le dossier :
$ALLUSERPRG\Utilitaires\PdfCreator n'a pas été supprimé complétement" ENDIF ENDIF ELSE ? "Le programme n'est pas déjà installé dans $PRGDIR : lancement de l'installation." ENDIF
; Création du fichier inf pour une installation personnalisée IF EXIST ("%temp%\inst_pers_jrdanis_pdfcreator_0.9.8.inf") DEL "%temp%\inst_pers_jrdanis_pdfcreator_0.9.8.inf" /f /h ENDIF IF RedirectOutput("%temp%\inst_pers_jrdanis_pdfcreator_0.9.8.inf") = 0 ? '[Setup]' ? 'Lang=french' ? 'Dir=C:\Program Files\PDFCreator' ? 'Group=Utilitaires\PDFCreator' ? 'NoIcons=0' ? 'SetupType=custom'
?
'Components=program,ghostscript,browseraddon,comsamples,helpfiles,helpfiles\french,languages,languages\english,languages\french' ? 'Tasks=winexplorer' ? 'Printername=PDFCreator' ? 'ServerInstallation=0' ? 'Win9xPrinterdriver=0' ? 'WinNtPrinterdriver=0' ? 'Win2k32bitPrinterdriver=0' ;Reprise du fichier log et redirection des messages IF RedirectOutput($DossierDeLog + @SCRIPTNAME + ".txt") = 0 ? "Fichier inf créé : %temp%\inst_pers_jrdanis_pdfcreator_0.9.8.inf" ELSE GOTO "finerreur" ENDIF ELSE ? "Impossible de créer le fichier %temp%\inst_pers_jrdanis_pdfcreator_0.9.8.inf" GOTO "finerreur" ENDIF
;Installation du programme $commande = 'PDFCreator-0_9_8_setup.exe /silent /norestart /LOADINF="%temp%\inst_pers_jrdanis_pdfcreator_0.9.8.inf"' ? $commande shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF
;creation du dossier de destination des PDF créés ? "creation du dossier de destination des PDF créés" IF NOT EXIST ("%systemdrive%\PDF") md "%systemdrive%\PDF" IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF ENDIF ;changement des sécurités du dossier ? "changement des sécurités du dossier" IF EXIST ("%systemdrive%\Documents and Settings\Administrator") $commande = 'ECHO y|cacls c:\pdf /T /g "everyone":F' ? $commande shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF ELSE $commande = 'ECHO o|cacls c:\pdf /T /g "tout le monde":F' ? $commande shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF ENDIF
;Inscription des paramètres dans la base de registre de l'utilisateur courant et de 'default user' ;tester sous xp 32 seulement ?"Chargement de la ruche default user en fonction du système d'exploitation"
$TableauDeValeur = @PRODUCTTYPE,'' $ResultatRecherche = ASCAN($TableauDeValeur, 'Vista', , , 1) ; Retourne 0 si la chaine "Windows XP" est dans @PRODUCTTYPE IF $ResultatRecherche = 0 $DOSSIERDEFAULTUSER = "%systemdrive%\Users\Default" ELSE $DOSSIERDEFAULTUSER = "%systemdrive%\Documents and Settings\Default User" ENDIF
$commande = 'reg.exe load HKEY_USERS\User "' + $DOSSIERDEFAULTUSER + '\ntuser.dat"' ? $commande shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF ?"Modification du profil default user ouvert" $commande = 'regedit /s personalisationDU.reg' ? $commande shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF ?"Déchargement de la ruche default user" $commande = 'reg.exe unLoad HKEY_USERS\User' shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF ?"Modification du profil current user" $commande = 'regedit /s personalisationCU.reg' ? $commande shell '%COMSPEC% /c ' + $commande IF @ERROR <> 0 ? "Erreur n° " + @ERROR GOTO "finerreur" ENDIF
; Suppression des fichiers temporaires del "%temp%\inst_pers_jrdanis_pdfcreator_0.9.8.inf"
GOTO "fin"
;label de fin avec erreurs :finerreur ? "fin du script d'installation : erreur" ;Ouverture du fichier log pour signaler la présence d'erreurs IF RedirectOutput($DossierDeLog + "ERREUR_" + @SCRIPTNAME +".txt") = 0 ?? "Ouverture de erreur_" + @SCRIPTNAME + " à " + @TIME ? "le script d'installation à rencontrer des erreurs : consulter le fichier log :" ? $DossierDeLog + @SCRIPTNAME +".txt" ENDIF sleep 5
;label de fin sans erreurs :fin ? "fin du script d'installation"
;annule la redirection vers un fichier RedirectOutput("")
|
Contenu du fichier personalisationCU.reg Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\PDFCreator\Program] "AutosaveDirectory"="C:\\pdf\\" "LastsaveDirectory"="<MyFiles>\\" "Language"="french" "PrinterTemppath"="<Temp>PDFCreator\\" "LastUpdateCheck"="20090515" "AdditionalGhostscriptParameters"="" "AdditionalGhostscriptSearchpath"="" "AddWindowsFontpath"="1" "AllowSpecialGSCharsInFilenames"="1" "AutosaveFilename"="<Title>" "AutosaveFormat"="0" "AutosaveStartStandardProgram"="0" "ClientComputerResolveIPAddress"="0" "DisableEmail"="0" "DontUseDocumentSettings"="0" "FilenameSubstitutions"="Microsoft
Word - |\\.docx|\\.doc|\\Microsoft Excel - |\\.xlsx|\\.xls|\\Microsoft
PowerPoint - |\\.pptx|\\.ppt|" "FilenameSubstitutionsOnlyInTitle"="1" "Logging"="0" "LogLines"="100" "NoConfirmMessageSwitchingDefaultprinter"="0" "NoProcessingAtStartup"="0" "NoPSCheck"="0" "OptionsDesign"="0" "OptionsEnabled"="1" "OptionsVisible"="1" "PrintAfterSaving"="0" "PrintAfterSavingDuplex"="0" "PrintAfterSavingNoCancel"="0" "PrintAfterSavingPrinter"="" "PrintAfterSavingQueryUser"="0" "PrintAfterSavingTumble"="0" "PrinterStop"="0" "ProcessPriority"="1" "ProgramFont"="MS Sans Serif" "ProgramFontCharset"="0" "ProgramFontSize"="8" "RemoveAllKnownFileExtensions"="1" "RemoveSpaces"="1" "RunProgramAfterSaving"="0" "RunProgramAfterSavingProgramname"="" "RunProgramAfterSavingProgramParameters"="\"<OutputFilename>\"" "RunProgramAfterSavingWaitUntilReady"="1" "RunProgramAfterSavingWindowstyle"="1" "RunProgramBeforeSaving"="0" "RunProgramBeforeSavingProgramname"="" "RunProgramBeforeSavingProgramParameters"="\"<TempFilename>\"" "RunProgramBeforeSavingWindowstyle"="1" "SaveFilename"="<Title>" "SendEmailAfterAutoSaving"="0" "SendMailMethod"="0" "ShowAnimation"="1" "StartStandardProgram"="1" "Toolbars"="1" "UpdateInterval"="2" "UseAutosave"="1" "UseAutosaveDirectory"="1"
|
Contenu du fichier personalisationCU.reg Windows Registry Editor Version 5.00
[HKEY_USERS\User\Software\PDFCreator\Program] "AutosaveDirectory"="C:\\pdf\\" "LastsaveDirectory"="<MyFiles>\\" "Language"="french" "PrinterTemppath"="<Temp>PDFCreator\\" "LastUpdateCheck"="20090515" "AdditionalGhostscriptParameters"="" "AdditionalGhostscriptSearchpath"="" "AddWindowsFontpath"="1" "AllowSpecialGSCharsInFilenames"="1" "AutosaveFilename"="<Title>" "AutosaveFormat"="0" "AutosaveStartStandardProgram"="0" "ClientComputerResolveIPAddress"="0" "DisableEmail"="0" "DontUseDocumentSettings"="0" "FilenameSubstitutions"="Microsoft
Word - |\\.docx|\\.doc|\\Microsoft Excel - |\\.xlsx|\\.xls|\\Microsoft
PowerPoint - |\\.pptx|\\.ppt|" "FilenameSubstitutionsOnlyInTitle"="1" "Logging"="0" "LogLines"="100" "NoConfirmMessageSwitchingDefaultprinter"="0" "NoProcessingAtStartup"="0" "NoPSCheck"="0" "OptionsDesign"="0" "OptionsEnabled"="1" "OptionsVisible"="1" "PrintAfterSaving"="0" "PrintAfterSavingDuplex"="0" "PrintAfterSavingNoCancel"="0" "PrintAfterSavingPrinter"="" "PrintAfterSavingQueryUser"="0" "PrintAfterSavingTumble"="0" "PrinterStop"="0" "ProcessPriority"="1" "ProgramFont"="MS Sans Serif" "ProgramFontCharset"="0" "ProgramFontSize"="8" "RemoveAllKnownFileExtensions"="1" "RemoveSpaces"="1" "RunProgramAfterSaving"="0" "RunProgramAfterSavingProgramname"="" "RunProgramAfterSavingProgramParameters"="\"<OutputFilename>\"" "RunProgramAfterSavingWaitUntilReady"="1" "RunProgramAfterSavingWindowstyle"="1" "RunProgramBeforeSaving"="0" "RunProgramBeforeSavingProgramname"="" "RunProgramBeforeSavingProgramParameters"="\"<TempFilename>\"" "RunProgramBeforeSavingWindowstyle"="1" "SaveFilename"="<Title>" "SendEmailAfterAutoSaving"="0" "SendMailMethod"="0" "ShowAnimation"="1" "StartStandardProgram"="1" "Toolbars"="1" "UpdateInterval"="2" "UseAutosave"="1" "UseAutosaveDirectory"="1"
|
Vous pouvez poster vos commentaires sur mon blog :
http://installation-silencieuse.blogspot.com
|