Isolation d'application par manifest (winxp)

Description

Cette application écrit des fichiers '.manifest' qui remplacent la base de registre.

Source / Exemple :


Voilà le principe:

Une appli dépend (presque) toujours de fichiers externes tels que des DLL ou des OCX (généralement appelés Dependency Files ou Dependencies en anglais). Généralement, ces dépendances doivent être placées dans le dossier System de la machine ou inscrites dans la base de registre. 

Grâce à un fichier Manifest (XML, donc parfaitement lisible avec IE) on peut assez facilement se débarrasser de la base de registre: il suffit de placer le fichier de dépendance (par ex. un OCX) dans le dossier de l'appli qui en a besoin et de placer deux fichier Manifest dans ce même dossier.
Le premier Manifest est spécifique à l'appli et porte son nom avec l'extention .manifest; ce fichier contient toutes les références de l'appli à des fichiers dépendants.
Le deuxième fichier contient toutes les clés de registre du composant OCX, soit 'clsid', 'tlbid', 'progid' et éventuellement 'description'.

----------------------------
Les avantages de cette méthode:

Si la base de registre est vérouillée par l'administrateur, il devient presque impossible d'installer quoi que ce soit sur une machine sans avoir des privilèges particuliers. Cette méthode permet de contourner cette restriction dans pas mal de cas.

On peut sans aucun probléme utiliser différentes versions du même composant sur la même machine.

----------------------------
Les inconvénients:

Il faut être capable de créer des fichiers Manifest.

Attention:

Un fichier Manifest ne peut être créé que sur une machine où l'application à isoler est installé normalement (où tous les composants sont inscrits dans la base de registre).

----------------------------
L'interface:

Trois Tabs ou onglets:

Le premier (Application) permet de créer tous les fichiers Manifest nécessaire à une appication entière
1. Ouvrir l'appli à isoler
2. Extraire les infos concernant les dépendances -> bouton 'Get Dependencies'
3. Ecrire le paquet de fichiers Manifets -> bouton 'Write Isolation Package'
	Le bouton 'Add from file' permet d'ajouter une dépendance à la liste.
	Le bouton 'Add names': idem
	Le bouton 'Scan Registry' permet de récupérer toutes les infos registre des composants, sans écrire de fichier Manifest.
	L' option 'Write Application Manifest only' permet, si elle est cochée, de n'écrire que le premier fichier Manifest: celui spécifique à l'appli.

Le deuxième Tab (Single) permet de rédiger les fichiers Manifest spécifiques à des dépendances.
Utilisation similaire au premier Tab.

Le troisième Tab (Common Dependencies) permet de créer une liste de dépendances standard pour lesquelles aucun fichier Manifest ne doit être écrit (p. ex. vba6.dll, vb6fr.dll, etc...)

Conclusion :


merci à ebartsoft pour la classe CommonDialog

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.