Jump to content

Utilitaires [24.02.01]


mooms

Recommended Posts

Très bonne idée mooms ;) !

Si tu es d'accord, peut-être qu'un programme exactement opposé aurait sa place dans le pack ^^ : PShutDown.

C'est un super programme que j'utilise depuis environ trois mois. Il permet de planifier un arrêt, un redémarrage, une fermeture de session, le lancement d'un programme, l'extinction de l'écran, etc, en relatif ou en absolu :) !

Il est même possible de l'utiliser dans des batchs, car certaines fonctions sont disponibles en ligne de commande ;) !

On peut même créer des schémas récurrents, du genre éteindre mettre en veille un jour sur trois, à telle heure, etc).

Histoire de raconter ma vie, voilà comment j'ai découverts ce soft : j'aime bien lancer une série / sitcom / vidéo youtube / reportage / musique (pas en même temps :D) en allant me coucher. Or comme je suis totalement crevé depuis des mois, j'ai tendance à m'endormir très vite, et l'ordinateur tourne pour rien durant la nuit.

C'est ainsi que j'ai cherché un moyen simple et ergonomique... de programmer la mise en veille du PC, avant d'aller me coucher ^^ : si je regarde une série, j'ai juste à régler le minuteur vite fait sur 45 minutes, puis bonne nuit tout le monde :D  ^^.

Enfin voilà, j'arrête là pour l'étalement de ma vie ;).

J'avoue qu'on pourrait utiliser la commande native "shutdown -s -t xxx", mais non seulement elle demande un temps en secondes (j'avoue qu'effectuer de tête 45*60, crevé et juste avant d'aller dormir, ça demande une légère gymnastique mentale dont je peux tout à fait me passer à ce moment là ^^), mais en plus elle ne permet pas la mise en veille "simple" (uniquement la veille prolongée), par exemple.

Voilà :) !

Link to comment
Share on other sites

Don't Sleep le fait aussi mais est moins complet (Onglet Please Sleep si on ne touche pas au clavier ni à la souris):

Fy8k52o.jpg

 

Perso j'utilisais Shutdown It! jusque-là, mais PShutDown semble plus complet, donc on l’intègre !

 

Màj

 

  • Ajout de ProjectShutdown
  • Mise à jour de Network Scanner en version 6.2.1 (la dernière gratuite)
  • Màj de GPU-Z
  • Changement du répertoire d'installation: dorénavant les utilitaires seront installés dans %ALLUSERSPROFILE%\Utilitaires ( ce qui correspond à C:\Documents and Settings\All Users pour XP et C:\ProgramData pour les autres) ce qui évite les soucis avec les droits du dossier Program Files et permet aux application d'écrire dans leur dossier.

 

 

 

Link to comment
Share on other sites

Super mooms ;) !

Sinon, pour "parfaire" ton pack, j'aurais une ou deux suggestions ;). Elles concernent la désinstallation.

En effet, comme tu me l'avais demandé, j'ai testé la désinstallation, et ça marche plutôt bien ;) ! Mais il y a au moins un problème, ainsi qu'une amélioration possible ;).

  1. Il serait intéressant d'ajouter une entrée de désinstallation dans "Applications et fonctionnalités" / "Programmes et fonctionnalités". En effet avec ton installeur, le pack n'apparaît pas dans la catégorie des applications installées.
     
  2. Effectuer une boucle de vérification : j'ai lancé la désinstallation tout à l'heure pour tester, et sans faire exprès Don't Sleep était encore en exécution dans la zone de notification.
    La désinstallation a fonctionné, MAIS n'a donc pas tout supprimé (Il restait logiquement le dossier "Divers", dans lequel se situe Don't Sleep).

Histoire de me bouger un peu et pour essayer de participer un peu, j'ai essayé de m'atteler au 1er point, à savoir bénéficier d'une entrée dans le menu de suppression des programmes.

Pour se faire, il y a deux méthodes faciles, soit utiliser un .reg, soit tout entrer dans le registre directement en batch.
Il est important (mais pas indispensable) d'installer une clé différente en fonction de si l'OS est en 32 ou en 64 bits.

J'ai fais pas mal d'essais chez moi, et voici ce qui fonctionne. Le batch a l'air énorme, mais en fait j'ai juste mis plein de commentaires que tu peux bien évidemment supprimer ;).
Je joins le batch également, histoire que tu n'aies pas de problème avec les accents, etc.

:: On vérifie si l'OS est en 32 ou 64 bits, et on défini la variable 'clef' en conséquence
if %PROCESSOR_ARCHITECTURE% == x86 (if not defined PROCESSOR_ARCHITEW6432 goto :os_32)
:os_64
set "clef=HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Utilitaires_mooms"
goto :installation
:os_32
set "clef=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Utilitaires_mooms"

:: Création de la clef 'Utilitaires_mooms' avec les différentes valeurs (optionnelles pour beaucoup)
:: Je vais commenter les lignes, mais je pense que tu t'en serais passé ;)
:installation
reg add %clef% /ve /f

:: Noms qui apparaitra dans la liste des programmes installés (ici 'Utilitaires')
reg add %clef% /v DisplayName /t REG_SZ /f /d Utilitaires

:: Chemin du désinstalleur
reg add %clef% /v UninstallString /t REG_SZ /f /d %%ALLUSERSPROFILE%%\Util_uninstall.exe

:: Version du pack. J'ai mis une valeur au pif, pas indispensable mais ça a le mérite de
:: nous montrer en un coup d'oeil si on est à jour ou pas ;)
reg add %clef% /v DisplayVersion /t REG_SZ /f /d 1.00.9

:: Noms du "fabricant" :). Important, car il apparait en sous-titre sous W10, et 
:: dans la colonne "Editeur" dans le panneau "programmes et fonctionnalités" classique
reg add %clef% /v Publisher /t REG_SZ /f /d "mooms - www.wincert.net"

:: "Type" de désinstalleur. Détermine les "boutons" qui s'affichent ('réparer', 'modifier')
:: lors de la désinstallation. Là il n'y a que la désinstallation qui est possible.
reg add %clef% /v NoModify /t REG_DWORD /f /d 00000001
reg add %clef% /v NoRepair /t REG_DWORD /f /d 00000001

:: Chemin de l'icône à afficher dans la fenêtre 'Applications et fonctionnalités' (W10),
:: ou 'Programmes et fonctionnalités' (W7).

:: Attention !!! J'ignore s'il s'agit d'un bug, mais sur ma machine (W10), impossible
:: d'afficher l'icône dans la "vielle" fenêtre 'Programmes et fonctionnalités' si une
:: variable d'environnement est utilisée pour le chemin. J'ai fais des tests en
:: remplaçant la VE par le chemin absolu ('c:\ProgramData\Util_uninstall.exe' chez moi),
:: et là ça fonctionne sans problème.
reg add %clef% /v DisplayIcon /t REG_SZ /f /d %%ALLUSERSPROFILE%%\Util_uninstall.exe,0

:: Taille du pack, en ko. Assez utile quand même, même si inutile de recalculer à
:: chaque fois, c'est surtout pour avoir un ordre de grandeur ;).
reg add %clef% /v EstimatedSize /t REG_DWORD /f /d 96666

:: Commentaire concernant le programme. A ma connaissance il ne s'affiche nulle part.
reg add %clef% /v Comments /t REG_SZ /f /d "Un superbe pack d'utilitaires, concocté sur mesure par mooms."

:: Lien vers le programme. Hélas, je n'ai pas trouvé de lien permanent menant à la page,
:: j'ai donc renvoyé vers la section le contenant. Le lien s'affiche dans
:: 'Programmes et fonctionnalités', lui :).
reg add %clef% /v URLInfoAbout /t REG_SZ /f /d https://www.wincert.net/forum/index.php?/forum/203-installateurs-customisés/

La version avec le .reg est sans doute un peu plus lisible, mais il faudra tout de même faire un test initial pour vérifier si l'OS est 32 ou 64 bits. Retirer WOW6432Node sur un OS 32 bits, bien sur.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Utilitaires_mooms]
"DisplayName"="Utilitaires"
"UninstallString"="%ALLUSERSPROFILE%\\Util_uninstall.exe"
"DisplayVersion"="1.00.9"
"Publisher"="mooms - www.wincert.net"
"NoModify"=dword:00000001
"NoRepair"=dword:00000001
"DisplayIcon"="%ALLUSERSPROFILE%\\Util_uninstall.exe,0"
"EstimatedSize"=dword:0001799a
"Comments"="Un superbe pack d'utilitaires, concocté sur mesure par mooms."
"URLInfoAbout"="https://www.wincert.net/forum/index.php?/forum/203-installateurs-customisés/"

Voilà pour ma petite contribution ^^.

Il faudra également ajouter ces deux lignes, à ton fichier "del.cmd" :

reg delete "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Utilitaires_mooms" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Utilitaires_mooms" /f

Sinon, le programme apparaîtra toujours dans les programmes installés :).

Voilà ;) !

Pour le deuxième soucis (boucle de vérification) je pense que ce ne doit pas être bien compliqué, je verrai si j'ai un peu de temps pour essayer de bricoler un truc ;) !

Sinon, je suis nul en SFX : j'ai essayé de modifier le tiens pour y ajouter mes modifications, mais je dois faire un truc incorrect : au lancement j'ai la procédure de désinstallation que se lance :D lol ! Pourtant j'ai lu l'aide, mais je n'ai pas compris mon erreur.

Je me permets de te copier ici ton fichier avec mes modifs (juste la première partie, je n'ai pas touché aux shortcuts), peut-être sauras tu me dire ce que j'ai fais de mal (si tu as envie) :

;!@Install@!UTF-8!
GUIMode="2"
MiscFlags="4"
RunProgram="waitall:del_sfx.exe -ai -sd0"
SetEnvironment="x=%PROGRAMFILES%\\Utilitaires\\"
SetEnvironment="u=Utilitaires"
SetEnvironment="d=Divers"
SetEnvironment="i=Infos"
SetEnvironment="g=Infos Système"
SetEnvironment="n=Nirsoft"
SetEnvironment="s=Sysinternals"


RunProgram="hidcon:cmd /c xcopy %%T \"%PROGRAMFILES%\\Utilitaires\" /s /i /y"
RunProgram="hidcon:%%T\\install_reg_uninstall_keys.cmd"
Delete="%x%Util_uninstall.exe"
Delete="%x%install_reg_uninstall_keys.cmd"

Mystère ^^.

A bientôt ;) !

P.S. : J'ai bossé là dessus hier, c'est pourquoi le chemin est toujours %programfiles%.

install_reg_uninstall_keys.cmd

del.cmd

Utilitaires_mooms_OS_64_bits.reg

Utilitaires_mooms_OS_32_bits.reg

install_sfx_config.txt

Edited by HackedPwned
Ajout des pièces jointes
Link to comment
Share on other sites

Salut HackedPwned, merci pour tes suggestions ;)

Pour la désinstallation, j'hésite encore à rajouter un lien dans le panneau de désinstallation, après tout les utilitaires sont simplement copiés dans un dossier, il n'y a pas vraiment d'installation. De plus si on veut le faire depuis les commandes du SFX il faut adapter la syntaxe batch à celle du module SFX (doubler les \ et faire précéder les " avec \).

On doit aussi garder les variables pour rester compatible avec tous les OS (XP ne l'installe pas dans ProgramData) et aussi pour ceux qui ont leur dossier ailleurs que sur C:

 

On 18/01/2018 at 6:50 AM, HackedPwned said:

Effectuer une boucle de vérification : j'ai lancé la désinstallation tout à l'heure pour tester, et sans faire exprès Don't Sleep était encore en exécution dans la zone de notification.
La désinstallation a fonctionné, MAIS n'a donc pas tout supprimé (Il restait logiquement le dossier "Divers", dans lequel se situe Don't Sleep).

 

Il faudrait faire une commande de fermeture conditionnelle pour chacun des exécutables, c'est faisable mais mes connaissances en batch sont limitées.

Un truc de ce style fonctionnera:

>tasklist /FI "IMAGENAME eq %executable%" 2>NUL | find /I /N "%executable%">NUL
if NOT "%ERRORLEVEL%"=="0" goto :suivant
taskkill /f /im %executable%

Reste à voir comment l’exécuter en boucle pour tous les exécutables (il faudra forcément déclarer tous les noms d’exécutables en variable, sachant qu'il y a les version 32 et 64 bits en plus...)

Si tu trouves une manière simple et élégante je serais ravi de l'intégrer !

 

On 18/01/2018 at 6:50 AM, HackedPwned said:

Sinon, je suis nul en SFX : j'ai essayé de modifier le tiens pour y ajouter mes modifications, mais je dois faire un truc incorrect : au lancement j'ai la procédure de désinstallation que se lance :D lol ! Pourtant j'ai lu l'aide, mais je n'ai pas compris mon erreur.

Non c'est normal, je lance la procédure pour supprimer une éventuelle installation précédente: RunProgram="waitall:del_sfx.exe -ai -sd0" (ai pour lancer la partie autoinstall qui va lancer le fichier cmd et copier le sfx dans ALLUSERSPROFILE, et sd0 pour lui dire de ne pas se supprimer lui-même une fois exécuté, ce qu'il fait en le lançant sans cet argument).

 

Ton fichier de config est incomplet (il manque les sections x86 et x64, c'est un bug connu lorsque tu extrais un fichier de config complexe).

Voilà la version complète si tu veux tester: config.zip

 

 

Link to comment
Share on other sites

  • J'ai trouvé pourquoi l'icône ne s’affichait pas dans le panneau de désinstallation: tu as doublé les % dans la variable ALLUSERSPROFILE, du coup elle n'était pas expansée et était écrite telle-quelle dans le registre. en utilisant %ALLUSERSPROFILE% ça fonctionne bien.
  • J'ai un peu testé la désinstallation et il apparait qu'écrire les clefs dans WOW6432Node est inutile, elles sont écrites dedans lorsque tu exécutes le fichier cmd "à la main" depuis un os x64, mais si il est exécuté depuis le fichier Util_uninstall.exe ce n'est pas le cas.
  • Pour la taille indiquée dans le panneau de désinstallation, j'ai pris la taille en octets du dossier et divisé le tout par 1024, et puisque elle est différente suivant que l'on soit sur un OS 32 ou 34 bits, j'ai utilisé ta routine de détection pour modifier la valeur en fonction.
  • Pour l'URL de support, j'ai mis celle du topic, sachant que même si elle change lorsque j'édite le titre, les anciennes restent valables (le forum redirige automatiquement vers la nouvelle).
  • Pour le commentaire, il s'affiche bien dans Windows 7: 5vf9zuQ.jpg
  • Tu as raison pour le n° de version, j'ai ajouté la date, ça sera plus facile de savoir sur quelle version on se trouve.
  • J'ai réglé le problème de fermeture des programmes éventuellement en exécution lors de la désinstallation en incorporant pskill (comme ça ça fonctionne aussi sur XP), et en listant tous les exécutables contenus dans le dossier utilitaires en faisant un kill inconditionnel. Ce n'est pas très élégant mais ça fonctionne. A voir si on peut améliorer ça.
  • J'en ai profité pour rajouter un texte à l'installation, du coup le sfx sera silencieux avec -y
  •  J'ai testé sous Windows 7 32 et 64 bits, ça fonctionne bien. Pas testé sous 10.

Merci encore pour ton aide !

 

 

wqWK5Ma.png

 

 

Version 19-01-2018:

  • Ajout d'un texte à l'installation, le sfx peut toujours être exécuté silencieusement avec -y
  • Grâce à HackedPwned, la désinstallation a été grandement améliorée, le programme de désinstallation s'affiche maintenant dans le panneau de désinstallation.
  • Ajout des clés de registre "EulaAccepted" pour les utilitaires Sysinternals (évite d'avoir la fenêtre avec la licence au premier lancement).
  • Le SFX est maintenant versionné avec la date, on retrouvera la version dans le nom du SFX et dans le panneau de désinstallation.
Link to comment
Share on other sites

Salut mooms ;) !

J'ai encore légèrement optimisé l'installation, mais je rencontre un problème technique : je voulais t'épargner le besoin d'indiquer systématiquement manuellement la taille totale du dossier (pour la clé uninstall), et j'ai fais un petit script qui fonctionne bien ;) !

Problème : il faudrait pouvoir lancer le script APRES l'installation, une fois que tous les fichiers sont copiés / supprimés par ta procédure. Comme je suis nul en SFX, j'ai bidouillé mais je ne suis arrivé à rien.
Donc je voulais te demander s'il y avait un moyen d'exécuter un .cmd à la toute fin de l'installation (après les ;!@Install@!UTF-8!, ;!@Install@!UTF-8:x86!, ;!@Install@!UTF-8:x64!, donc) ?

J'ai également (un peu) amélioré la désinstallation. Notamment en utilisant un fichier texte annexe pour le nom des processus (d'ailleurs il en manquait un dans ton fichier ;)). A mon avis cela rend plus lisible et plus facilement maintenable ton pack.
J'utilise ensuite les entrées du fichier texte dans une boucle, qui vérifie si les processus sont encore en cours, et les tue le cas échéant.

Car rend le fichier un peu plus visible ;).

J'ai regroupé l'ajout des clés eula et uninstall dans un seul fichier (tu as mis les clé eula dans le cmd de désinstallation, j'avoue ne pas avoir compris pourquoi :)).

Voilà ! Avant de t'envoyer le tout, j'ai juste besoin de savoir si ma demande est possible, et si oui, comment ;).
Autrement je retirerai ma modif, et il faudra alors entrer la taille à la main.

A bientôt !

Link to comment
Share on other sites

20 hours ago, HackedPwned said:

Donc je voulais te demander s'il y avait un moyen d'exécuter un .cmd à la toute fin de l'installation (après les ;!@Install@!UTF-8!, ;!@Install@!UTF-8:x86!, ;!@Install@!UTF-8:x64!, donc) ?

Il y a trois sections distinctes dans le fichier de config, délimitées par  ;!@Install@!UTF-8! et ;!@InstallEnd@! le suffixe (:x86 ou x64) sert à indiquer des commandes à exécuter uniquement sur les OS 32 et 64 bits. Donc oui, avant InstallEnd tu peux exécuter une commande batch (RunProgram="waitall:hidcon:cmd /c ). L’exécuter juste avant la création des raccourcis dans les sections 32 et 64 bits me semble le mieux. A voir si ça fonctionne.

20 hours ago, HackedPwned said:

d'ailleurs il en manquait un dans ton fichier

Si c'est netscan64 ce n'est pas un oubli, il est renommé netscan.

20 hours ago, HackedPwned said:

tu as mis les clé eula dans le cmd de désinstallation, j'avoue ne pas avoir compris pourquoi

Parce que j'en ai besoin pour exécuter pskill, donc je les ai regroupées. N'oublie pas que Util_uninstall.exe est lancé avant même la copie des fichiers dans la destination source. Il est vrai que les mettre dans uninstall_keys.cmd fonctionnerait aussi, mais j'ai trouvé plus simple de les regrouper.

J'ai déjà solutionné le "problème" de la date dans le fichier de désinstallation en le générant à la volée par mon fichier de création de l'archive sfx.

 

Link to comment
Share on other sites

Je me suis attelé au problème de la taille, j'en ai bavé pour un truc aussi bête, mais ça y est, c'est généré à la volée juste avant l'installation.

J'en ai profité pour modifier la logique d’installation, puisque maintenant on a un fichier cmd qui est lancé par le sfx, autant lui faire exécuter les commandes de suppressions, renommage, etc...ça allège le fichier de config, et permet de supprimer/renommer les fichiers avant même la copie dans le dossier de destination. Les utilitaires Nirsoft 64 bits sont renommés/supprimés selon la version de l'OS, comme pour Netscan.

@HackedPwned si tu veux rajouter des modifs par dessus voici les fichiers de configuration: utilitaires_config_24-01-2018.zip

 

Nouvelle version:

  • maj de GPU-Z
  • màj de IPNetInfo
  • Logique d'installation revue

 

Link to comment
Share on other sites

Lol je suis dégouté, j'allais poster ma version dans quelques minutes / une heure ou deux ^^.

De mon côté j'ai créé un seul fichier qui génère tout ou presque, là j'allais juste tester le final avant de l'envoyer ^^.

Bon je te l'enverrai quand même tout à l'heure, puis tu choisiras la méthode que tu préfères ;).

Link to comment
Share on other sites

Nouvelle version:

  • Fix: Netscan 64 bits n'était pas renommé
  • Ajout de clés et de fichiers  de config pour rendre plusieurs programmes totalement portables et désactiver la recherche de mise à jours au lancement.
  • Ajout du paramètre "démarrer dans" (Working directory) sur tous les fichiers de raccourci (nécessaire pour rendre RUFUS portable).

@HackedPwned j'ai déplacé les clés dans le fichier cmd principal (que j'ai renommé presetup pour mieux refléter son rôle).

Link to comment
Share on other sites

  • 2 weeks later...

Version du 05-03-2018:

màj de :

  • RegScanner
  • DontSleep
  • Afin de régler les problèmes de droits, les utilitaires sont dorénavant installés dans %HOMEDRIVE%\Utilitaires (soit C:\Utilitaires dans la majorité des cas).
Link to comment
Share on other sites

Salut mooms :) !

Merci pour la mise à jour.
De mon côté j'ai eu un gros et soudain problème de santé, aussi désolé de mon absence. J'essaierai de retrouver mon script si je l'ai préservé, mais cela dit je pense que c'est inutile : ton code me paraissait plus propre et clair que le mien ;).

++

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...