|
|
iPlus v1.0 |
INF file system is quitte powefull, but lacks some function I needed. Impossible to delete file by numbers without knowing exact name (ie recurse saves). Impossible also to delete the same file in all subfolders, or to remove entire non empty folders!
I needed those functions so here's iPlus! It's a kind of Setup API extender.
You can use it to perform certain tasks that normal INF files cannot do:
I said it was an Setup API extender, so you have to write an INF file first! Ccreate a section
[iPlus.Snoopy81], but don't call it from outside...
In this section put desired entries:
DelFiles = DelFilesSectionName
DelDirs = DelDirsSectionName
DelRecur = DelRecursiveSectionName
Locale = En (or Fr for French!)
SetLocale = En (or Fr for French!)
Messages = Yes (default if absent, others values: No, Silent, Debug)
Then the corresponding sections:
[DelFilesSectionName]
C:\Windows\MyDir\Myfile!.* ( you can use ! and * to specify multiple files...)
%10%\MyDir\HelpMe.txt (some LDID are recognized 01,10,11,13,17,18,20,24,25,30)
C:\Windows\MyDir\Prog.exe ( if deleting a single file, no confirmation will be asked...)
[DelDirsSectionName]
%01%\MyBadDriver (Removes sub-folder from current location)
***Warning***: This feature can really erase all a disk! Be carefull, you'll be
responsible...
[DelRecursiveSectionName]
C:\*.gid
***Warning***: Again a dangerous feature if baddly used!
The Locale/SetLocale/Messages entries are optional.
Locale =
iPlus is dual - language, French/English. It will try to detect a French system, and switch to French in this case.
You can force French (Fr) or English (En), by adding an entry Locale = Fr (or En).
SetLocale =
If you want to choose permanently a Language, put a SetLocale = Fr (or En) entry. It wiil apply onwards unless
overidden by a Locale = entry.
Messages = (Default is Yes)
Uselly iPlus is a bit verbose. It'll ask you confirmation to delete multiple files, and if you want to remover
folders. It'll show you some errors & warning messages also when needed.
Yes: (Default) Ask confirmation, & show Warnings & Errors.
No: Only Show Errors.
Silent: Show nothing.
Debug: Same as Yes, but create a listing of files/folders instead of deleting them.
Run iPlus, it will detect and execute your INF file, if it's in the same folder!
[version]
signature="$CHICAGO$"
[DefaultInstall]
AddReg = Titre.Reg
[Titre.Reg]
HKLM,%KEY_RUNONCE%\setup," Removing private information "
HKLM,%KEY_RUNONCE%\setup,"___________________________"
HKLM,%KEY_RUNONCE%\setup," "
HKLM,%KEY_RUNONCE%\setup,"Start cleanning...",0,"RunDll32.exe advpack.dll,LaunchINFSection Perso.inf,
Perso.install"
[Question]
Title="Removing private information"
Prompt=Destroy private info?
ButtonType=YESNO
[Perso.install]
BeginPrompt = Question
AddReg = Perso.Reg
[Perso.Reg]
HKLM,%KEY_RUNONCE%,%01%\iPlus.exe
[STRINGS]
KEY_RUNONCE = "Software\Microsoft\Windows\CurrentVersion\RunOnce"
[iPlus.Snoopy81]
DelFiles = DelFiles.81
DelDirs = DelDirs.81
DelRecur = DelRecur.81
Messages = NO
[DelFiles.81]
%01%\DUMeter\log.csv
%01%\Netcom\save.ini
%01%\POPcorn\POPCORN.INI
[DelDirs.81]
%01%\YCIII\History.YC
%01%\KaZaALite\db
[DelRecur.81]
%01%\*.GID
|
|
iPlus v1.0 |
Le système de fichiers INF est très facile à utiliser pour effectuer des installations sous Windows, mais il comporte des restrictions qui me génaient. Impossible d'effacer des fichiers sans en connaire le nom exact (ex: sauvegaredes incrémentielles). Impiossible également d'effacer un fichier d'un seul coup dans plein de répertoires...ou un répertoire non vide!
Ainsi est né iPlus. Il sait faire tout celà. C'est une sorte d'estension de l'API Setup de Windows.
Vous pourrez l'utiliser pour exécuter certaines tâche normalement impossibles avec les fichiers INF:
J'ai déjà dit que c'était une extension de l'API Setup, il va donc falloir commencer par
écrire un fichier INF. Dans ce fichier créez une section nommée [iPlus.Snoopy81],
mais ne l'appelez pas depuis une autre!
Dans cette section, placez les entrées utiles:
DelFiles = DelFilesSectionName
DelDirs = DelDirsSectionName
DelRecur = DelRecursiveSectionName
Locale = Fr (ou En pour Anglais!)
SetLocale = Fr (ou En pour Anglais!)
Messages = Yes (par default, autres valeurs: No, Silent, Debug)
Ensuite les sections correspondantes:
[DelFilesSectionName]
C:\Windows\MyDir\Myfile!.* ( Vous pouvez utiliser ! et * pour de multiples fichiers...)
%10%\MyDir\HelpMe.txt (Quelques LDID sont reconnues 01,10,11,13,17,18,20,24,25,30)
C:\Windows\MyDir\Prog.exe ( Si vous effacez un seul fichier, iPlus ne demande pas confirmation...)
[DelDirsSectionName]
%01%\MyBadDriver (Supprimer le sous-répertoire de celui ou est iPlus)
***Attention***: Cette fonction peut faire des ravages si elle est mal utilisée. Elle
peut effacer sans appel tout un disque dur. Vous êtes responsables de ce que
vous en faites!
[DelRecursiveSectionName]
C:\*.gid
***Attention***: Encore une fonction qui peut effacer de nombreux fichiers.
A vous de faire attention!
Les entrées Locale/SetLocale/Messages sont optionnelles
Locale =
iPlus est bilingue Français Anglais, il détecte la langue de votre systèmeet passe en Français
si nécessaire. Vous pouvez forcer le Français (Fr) ou l'Anglais (En) en ajoutant une entrée
Locale = Fr (ou En).
SetLocale =
Si vous souhaitez choisir une fois pour toutes, utilisez
SetLocale = Fr (oo En). Ce choix s'appliquera alors par défaut.
Messages = (Default: Yes)
iPlus est quelque peu bavard, il vous demandera confirmation avant d'effacer plusieurs fichiers un un répertoire.
Il peu vous montrer des messages d'avertissement ou d'erreur.
Yes: (Default) Demander confirmation, montrer erreurs et avertissements.
No: Montrer seulement les erreurs.
Silent: Aucun message.
Debug: Comme Yes, mais au lieu d'effacer fichiers et répertoires, iPlus crée une liste d'effacements.
Lancez iPlus, il va détecter et exécuter votre fichier INF, placé dans le même répertoire!
[version]
signature="$CHICAGO$"
[DefaultInstall]
AddReg = Titre.Reg
[Titre.Reg]
HKLM,%KEY_RUNONCE%\setup," Removing private information "
HKLM,%KEY_RUNONCE%\setup,"___________________________"
HKLM,%KEY_RUNONCE%\setup," "
HKLM,%KEY_RUNONCE%\setup,"Start cleanning...",0,"RunDll32.exe advpack.dll,LaunchINFSection Perso.inf,
Perso.install"
[Question]
Title="Removing private information"
Prompt=Destroy private info?
ButtonType=YESNO
[Perso.install]
BeginPrompt = Question
AddReg = Perso.Reg
[Perso.Reg]
HKLM,%KEY_RUNONCE%,%01%\iPlus.exe
[STRINGS]
KEY_RUNONCE = "Software\Microsoft\Windows\CurrentVersion\RunOnce"
[iPlus.Snoopy81]
DelFiles = DelFiles.81
DelDirs = DelDirs.81
DelRecur = DelRecur.81
Messages = NO
[DelFiles.81]
%01%\DUMeter\log.csv
%01%\Netcom\save.ini
%01%\POPcorn\POPCORN.INI
[DelDirs.81]
%01%\YCIII\History.YC
%01%\KaZaALite\db
[DelRecur.81]
%01%\*.GID