Jump to content

CCleaner SFX Maker 3.7.1


mooms

Recommended Posts

Eureka !

- CCleaner SFX installation works good using WTK installer. The reason is that WTK installer is launched once desktop is installed so the tweaks are correctly applied (I tried with WTK 1.7.0.8 version).

- There is just a bug with last CCleaner installer versions (both Standard and slim), but I don't know if it is just for french language : the recycle-bin context-menu doesn't disappear when you deselect it, you have to manually delete this key via Regedit.exe :

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\Exécuter CCleaner

The good news are that now we know where these Recycle-Bin context-menu keys are stored !

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\Execute CCleaner

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\Open CCleaner

I assume we can edit the maker to delete these keys during the SFX creation process.

1.png

2.png

Edited by rhahgleuhargh
Link to comment
Share on other sites

Hello,

 

Je vais te répondre en français, ça sera plus simple.

Pour ne rien arranger, ces deux "strings" sont traduite (avec une belle faute d'encodage sur la version 5.62.7538)

 

image.png.51f22dc89aed88fc74c5c45a9fb612ae.png

 

J'ai essayé de rajouter ces clés au maker, sans succès, je n'arrive d'ailleurs pas à les supprimer avec un fichier bat/cmd, uniquement avec un reg. Je pense que c'est lié à l'encodage.

 

J'ai créé une version 3.8 beta avec les clés ajoutées à la fois au fichier reg et au fichier cmd, mais ça ne fonctionne pas...

image.thumb.png.114f32973541996c0aa8e393c20909d8.png

 

image.png.ff03f6eb8b26726e4c363171d70ad562.png

Voici la 3.8 beta1 si tu veux tester: https://www.mediafire.com/file/1jb72t5wziczrqf/CCleaner_maker_3.8b1.7z/file

 

J'ai aussi entièrement passé la création du fichier de config via le script, ça n'a pas été une mince affaire ^^

Link to comment
Share on other sites

Hello,

Merci pour tes efforts ! Je vais tester en installation unattended sur une machine virtuelle, en Live la clé ne s'efface pas avec le nouveau script. EDIT : échec !

J'étais arrivé entre temps au même résultat que toi pour intégrer les clés de registre au Maker et au fichier .reg = échec. Je pense que l'erreur de traduction sera corrigée lors de la prochaine version slim. Il faut ajouter toutes les sous-clés pour que cela se désactive :

[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\Exécuter CCleaner]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\Exécuter CCleaner\command]
@="C:\\Program Files\\CCleaner\\ccleaner.exe /AUTORB"=-
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\Ouvrir CCleaner...]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\shell\Ouvrir CCleaner...\command]
@="C:\\Program Files\\CCleaner\\ccleaner.exe /FRB"=-

J'avais testé aussi deux solutions pour régler le problème : modifier le fichier .cfg du sfx pour fusionner la clé .reg une fois le programme installé (visiblement ça ne fonctionne pas mais j'ai dû oublier qq chose) :

;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="hidcon:cmd /c \"FOR /f \"tokens=2*\" %G IN ('reg query \"hklm\\system\\controlset001\\control\\nls\\language\" /v Installlanguage 2^>NUL ^| FIND \"REG_SZ\"') DO SET /a \"_lcid=0x%H\" & CALL ccsetup.exe /S /L=%_lcid%\" >NUL 2>&1"
RunProgram="\"regedit\" /S ccleaner.reg"

Ou lancer l'installation du SFX par un batch qui lance ensuite la clé de registre (là, bien sûr, ça fonctionne, mais ce n'est pas très propre !).

 

Edited by rhahgleuhargh
Link to comment
Share on other sites

Justement, c'est exactement ce que fait le fichier .cfg créé par le maker, le fichier reg est fusionné après l'installation, mais ça ne fonctionne pas...

Une fois le sfx créé, tu peux le lancer avec cet argument: -sfxconfig config.cfg ce qui permet de voir la config plus facilement:

 

;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="hidcon:cmd /c \"FOR /f \"tokens=2*\" %G IN ('reg query \"hklm\\system\\controlset001\\control\\nls\\language\" /v Installlanguage 2^>NUL ^| FIND \"REG_SZ\"') DO SET /a \"_lcid=0x%H\" & CALL ccsetup.exe /S /L=%_lcid%\" >NUL 2>&1"
Delete="%CommonDesktop%\\CCleaner.lnk"
RunProgram="\"regedit\" /S ccleaner.reg"
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"UpdateCheck\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"Monitoring\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"SystemMonitoring\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"SystemMonitoringRunningNotification\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"CheckTrialOffer\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"PrefsPrivacyShareData3rdParty\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"HelpImproveCCleaner\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"UpdateNotify\" /t REG_SZ /d \"0\""
RunProgram="hidcon:reg add \"HKCU\\Software\\Piriform\\CCleaner\" /f /v \"UpdateAuto\" /t REG_SZ /d \"0\""
RunProgram="hidcon:cmd /c schtasks /delete /tn \"CCleaner Update\" /f"
RunProgram="hidcon:reg add \"HKCU\\Software\\Sysinternals\\Movefile\" /f /v \"EulaAccepted\" /t REG_DWORD /d 1"
RunProgram="x64:hidcon:hidcon:cmd /c movefile \"%ProgramW6432%\\CCleaner\\CCUpdate.exe\" \"\""
RunProgram="x86:hidcon:hidcon:cmd /c movefile \"%ProgramFiles%\\CCleaner\\CCUpdate.exe\" \"\""
;!@InstallEnd@!

 

Link to comment
Share on other sites

J'avais d'ailleurs oublié de mettre des ^ à certains endroits ce qui faisait que les lignes reg delete n'étaient pas ajoutées au fichier de config.

J'ai aussi ajouté un waitall devant la commande d'installation pour être certain que le module attend la fin de l’installation pour exécuter les autres commandes, et j'ai aussi revu l'ordre d’exécution de celles-ci, rien à faire, je pense donc que c’est un problème de droit (exécution depuis temp) puisque ça fonctionne parfaitement si je lance moi-même le reg situé dans le dossier ccsetup.

CCleaner_maker_3.8b2.7z

Link to comment
Share on other sites

Il y a encore une dernière coquille ligne 12 :

set "CFG=.\bin\temp.cfg" devrait être set CFG=".\bin\temp.cfg" . Mais cela ne semble pas influer sur le déroulement du script !

Je pense aussi qu'on est coincé par temp. Ce n'est pas grave puisque le reste fonctionne !

En tout cas, merci pour ton travail, je commence à apprendre à programmer les batch, et tes makers sont une véritable bible d'information, notamment pour ce qui est de la manipulation des variables !

Link to comment
Share on other sites

  • 2 weeks later...

Ce n'est pas une coquille, tu peux encapsuler la ligne complète dans des quotes.

 

Merci du compliment, sache que je suis 100% autodidacte là-dedans, j'ai juste cherché sur le net des exemples de codes et appris comme ça au fur et à mesure. Il y a certainement des trucs qui feraient bondir un développeur.

Par contre je te conseille de passer à Powershell si tu ne codes pas pour XP, beaucoup de choses sont plus simples qu'en batch.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...