mooms Posted September 30, 2019 Author Posted September 30, 2019 Then the problem is in the original installer itself, not the maker or the command. Quote
rhahgleuhargh Posted October 4, 2019 Posted October 4, 2019 Hello mooms, I found a little typo error in your script : Line 107 : "goto :eof" should be "goto :CREATE". If not, after standard download the sfx is not created. Quote
rhahgleuhargh Posted October 4, 2019 Posted October 4, 2019 (edited) 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. Edited October 4, 2019 by rhahgleuhargh Quote
mooms Posted October 6, 2019 Author Posted October 6, 2019 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) 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... 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 ^^ rhahgleuhargh 1 Quote
rhahgleuhargh Posted October 6, 2019 Posted October 6, 2019 (edited) 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 October 6, 2019 by rhahgleuhargh Quote
mooms Posted October 6, 2019 Author Posted October 6, 2019 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@! Quote
mooms Posted October 6, 2019 Author Posted October 6, 2019 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 Quote
rhahgleuhargh Posted October 6, 2019 Posted October 6, 2019 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 ! Quote
mooms Posted October 20, 2019 Author Posted October 20, 2019 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. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.