ISOLATION D'APPLICATION PAR MANIFEST (WINXP)

ticomic Messages postés 57 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 29 avril 2005 - 24 déc. 2004 à 19:30
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 21 oct. 2008 à 03:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28387-isolation-d-application-par-manifest-winxp

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 oct. 2008 à 03:34
Delbeke Messages postés 200 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 18 novembre 2005
10 févr. 2007 à 20:21
Excellent source, magnifique devrais-je dire !

J'ai cependant quelques difficultés avec le composant DbGrid32.ocx qui semble etre un peu plus trapu que d'autres ocx. Auriez vous quelques pistes que je pourais explorer ?
poiuytr0023 Messages postés 1 Date d'inscription lundi 30 octobre 2006 Statut Membre Dernière intervention 31 octobre 2006
31 oct. 2006 à 16:52
Nous avons teste votre outil qui est excellent neanmoins petite remarque, vous avez code en dur dans les sources le numero de version pour chaque dll (a chaque fois la version 1.0.0.1 est specifiee), est ce que cela ne peut pas poser de problemes lors des evolutions futures des versions des dll ?

SPOT Team K.R.D
willou62 Messages postés 4 Date d'inscription mercredi 21 décembre 2005 Statut Membre Dernière intervention 25 avril 2007
20 juin 2006 à 22:08
Excellente source!!! cela me permet de conserver le travail sur mes sources sans les brider face à des restrictions. Bon boulot et merci!
mathwu Messages postés 4 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 21:08
je suis désolé mais je suis débutant sur VB6..
Je cherche pas à isoler VB6.. dnc je vais pas touché a ces DLL..!
Windasm me signale tous les dll il me semble, et les programme de PHILHEINZ permet d'excule les DLL qui font partis du système

Juste domage de ne pas pouvoir le compliler pour l'utiliser, puisqu'il y a cette erreur que je ne sais pas règler!!
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
11 avril 2006 à 18:41
Bin normalement, tu es au courant des dlls et ocxs que tu utilises. Quand tu rajoute un contrôle ActiveX dans la barre d'outil de VB6, tu peux noter le nom du fichier. Pareil pour les dlls ActiveX. Et pour les dlls classiques, t'as le nom dans la déclarations de routines...

De base, tu as un certain nombre de dlls nécessaire pour VB6, telles que ceux que j'ai cité plus haut (comcat.dll, stdole2.tlb (et pas 32, erratum), olepro32.dll, oleaut32.dll, msvbvm60.dll...)

Mais en général elle sont présente et en version suffisante, sauf vb6fr.dll mais qui n'a pas besoin d'installation (Suffit de la mettre dans system32 ou un autre chemin de path, ou dans le même rep que le .exe).

windasm te signalerat certainement des dlls classiques, comme kernel32.dll, comctl32.dll, user32.dll...

Ce sont des dlls pillier de windows, et vaux mieux pas essayer de les changer.
mathwu Messages postés 4 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 14:37
en fait, est ce que l'on peut pas plutôt utiliser Windasm pour touver les dépendances, puis les ajouter manuellement (alors le programme d'écriture des manifest fonctionne). De cette manière , on est sûr de na pas avoir de dll qui ne sont pas appeler par le programme...? Qu'est ce vous en pensé??
Pour les ocx je suis pas sur que windasm nous indique l'utilisation des fichiers...
mathwu Messages postés 4 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 11 avril 2006
11 avril 2006 à 13:45
Si j'essaye de compiler, il me dit erreur système &H80004005 (-2147467258), et si je "run", il plante quand je demande "get dependancies"..

Domage car je trouve le concept très interressant car ca nous paserait les contraintes des registres...
philheiz Messages postés 117 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 11 octobre 2007 1
10 avril 2006 à 08:40
qu'est ce qu'il te dit exactement ? (même s'ils sont souvent inutilisables, les messages d'erreurs de MS fournissent parfois une indication sur l'origine du blème).
mathwu Messages postés 4 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 11 avril 2006
8 avril 2006 à 14:22
Salut, je comprend pas pourquoi mais j'arrive pas à compiler et quand je débug, je trouve unne erreur dans frmMain:
Set itmX = Me.lvSys.ListItems("k" & varComDepend(i))
D'ou viens l'erreur, je comprend pas?
Merci a qui veut bien m'aider..
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
23 mai 2005 à 09:34
C'est super ton truc.

Cependant, j'ai constaté que ton code qui sert à détecté les dll et ocx nécessaires à un exe ne fonctionne que rarement (peut être jamais). C'est vrai que ta méthode de recherche dans le texte est osée, mais elle ne constate par exemple pas que l'exe de ton exemple a besoin de son dll.

J'ai fait un test sur un pc 'sécurisé' d'un réseau sous XP avec une de mes dll manifester sans le moindre problème.

Cependant, si la méthode marche parfaitement pour les dlls que j'ai fait, je m'inquiète de certains fichiers systèmes. En effet, l'empaqueteur de VB fournit différent fichiers (comcat.dll, stdole32.tlb, olepro32.dll, oleaut32.dll, msvbvm60.dll...) Certains de ces fichiers ont des clés dans la base de registre et accèptent regsvr32. Mais j'ai eu de grosses difficultés à rédiger leurs manifests. Ces fichiers sont ils vraiment nécessaires ? Sont ils toujours présent sous NT ? Pourquoi msvbvm60.dll est parfois écrit msvbvm60.dll\3 ? Si quelqu'un le souhaite, je peux envoyer plus d'infos sur ces fichiers.
philheiz Messages postés 117 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 11 octobre 2007 1
13 mars 2005 à 19:15
xp et plus.
il me semble que les manifests sont pris en charge par le système d'exploitation depuis l'existance de la plate-forme .net
BozzoDodo Messages postés 185 Date d'inscription vendredi 20 décembre 2002 Statut Membre Dernière intervention 10 janvier 2008
9 mars 2005 à 20:45
Ca marche sur toutes les versions de windows?
philheiz Messages postés 117 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 11 octobre 2007 1
25 déc. 2004 à 13:35
Exemple:

Tu développes (chez toi) une source nommée XYZ, qui possède une référence à Comdlg32.ocx (qui ne fait pas partie du paquet standard Microsoft, comme Comdlg32.dll).
Tu compiles XYZ.exe et tu veux l'installer sur ton PC au boulot. Le problème, c'est que tu n'a pas de droit admins au boulot et qu'en plus ta base de registre est vérouillée: la tuille ! tu ne peux pas inscrire Comdlg32.ocx dans ta base de registre; donc pas d'installation de XYZ.exe possible.
Mais voilà: au boulot vous bosser (déjà) sur XP. Donc tu peux quand même utiliser XYZ.exe ! Pour ce faire, sur ton PC perso (à la maison), tu utilises mon appli pour écrire les manifest de XYZ.exe.
Tu copies XYZ.exe, les manifest, et Comdlg32.ocx sur une disquette, tu prends tout ca au boulot et tu copies le tout dans un même dossier. Double.click sur XYZ.exe... et ca marche !

Le système d'exploitation a reconnu la présence des fichiers manifest dans le dossier de ton appli (XYZ.exe) et reconnait que ces fichiers contiennent les inscriptions registre idoines. XP ne va plus dans la BR, il a toutes les infos dans les manifest.

Le pieds !
ticomic Messages postés 57 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 29 avril 2005
24 déc. 2004 à 19:30
Cool.
Y faut être sur un ordi verrouillé pour l'essayé? Mais si l'ordi est verrouillé, comment on peut partir le prog, si on a pas les fichiers de l'ordi verrouillé sur notre disque dur?
Sans blague, je peux pas partir aucun programme sur l'ordi que je veux....ouvrir, alors comment je pourrais avoir accès à ses fichiers avec un programme que je peux pas partir?

Très bien pensé quand même, mais y faut l'utiliser avant que l'ordi soit verrouillé (sauf si il n'interdit pas toutes les appliccations ormi celles permises).
Rejoignez-nous