iPlus v1.0

Francais


INTRODUCTION

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:

HOW IT WORKS

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!

MORE EXPLANATIONS & TIPS

  1. Beware what you do, this thing can delete a full Hard Disk...
  2. Deletions are permanent, NO Recycle Bin!
  3. *.* is not allowed as a file name.
  4. Language is stored in Registry HKLM/Software/Snoopy81/iPlus,Locale.
  5. If not in registry, iPlus will Choose English unless it detects a French system.
  6. Not all LDID or DDIR may be used.
  7. You can pass an INF file by command line.
  8. If the command line is wrong, iPlus will search in his folder for an INF file with [iPlus.Snoopy81] section
  9. If no applicable INF file is found, iPlus will show a short help message.
  10. You can call iPlus from an INF file to perform some more tasks (see example).

INF FILE EXEMPLE

[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

English


INTRODUCTION

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:

COMMENT CA MARCHE?

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!

QUELQUES EXPLICATIONS ET ASTUCES

  1. Attention à ce que vous faites, iPlus peut effacer un disque dur en entier!
  2. Attention, avec iPlus tout ce qui est effacé l'est pour de bon, PAS de Corbeille!
  3. *.* sera refusé comme nom de fichier.
  4. La laugue est stockée dans le registre HKLM/Software/Snoopy81/iPlus,Locale.
  5. Sinon, iPLus démarre en Anglais à moins qu'il ne détecte un système Français.
  6. Seuls certain LDID/DDIR sont reconnus par iPlus.
  7. Vous pouvez utiliser la ligne de commande pour passer un fichier INF.
  8. Si le fichier passé par la ligne de commande est incorrect, iPlus va essayer de détecter un fichier iNF approprié dans son répertoire.
  9. S'il ne trouve pas un bon fichier INF, iPlus affiche une aide.
  10. Vous pouvez appeler iPlus depuis le fichier INF, pour effectuer des tâches supplémentaires (voir exemple).

EXEMPLE DE FICHIER INF

[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