Probleme de lecture d’un fichier d’aide .chm

Microsoft à sorti un patch de sécurité interdisant la lecture de fichiers .chm depuis un autre endroit que votre disque dur, ce qui est embêtant si vous voulez mettre à disposition un fichier d’aide pour un logiciel réseau, que vos utilisateurs utilisent.

Cela donne en général cette erreur à l’ouverture :

pb_chm

La solution ne vient donc pas des droits NTFS, de partage, des options internet … mais du fait que tout Windows récent bloque strictement la lecture de tels fichiers depuis un accès réseau intranet ou internet. Ceci dit, ce type de fichier est utilisé par des pirates afin d’installer divers virus et vers sur des postes, en incluant leur fichier d’aide infecté dans des téléchargements divers (p2p, torrent, …)

Il y a deux manières de contourner ce problème :

Solution manuelle

Il existe deux endroits dans la base de registre ou l’on peut spécifier une autorisation pour ces lectures, et deux autres ou on peut autoriser par zones.

La clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\HTML Help\1.x\HHRestrictionsdans laquelle on peut y inscrire une valeur de type REG_SZ nommée UrlAllowList, et en valeur, les chemins d’accès aux fichiers avec un point virgule pour les séparer. Un bel exemple :

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\HTML Help\1.x\HHRestrictions\UrlAllowList = « \\serveur_fichiers\help.chm;\\serveur_fichiers\help2.chm;file://;« 

Note : Ne pas oublier à la fin de vos chemins ;file://; Sinon ça ne fonctionnera pas.

Et on fait pareil pour la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\HTML Help\1.x\ItssRestrictions, dans laquelle on va rajouter également une valeur REG_SZ nommée UrlAllowList qui aura comme valeur la même que celle précisée au dessus.

Sinon, on peut autoriser à plusieurs niveau la lecture de TOUS ces fichiers grâce aux clés:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions et HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions. La valeur DWORD inscrite dans chacune de ces clés portent le nom : MaxAllowedZone. Si ce n’est pas le cas, on peut les créer.

Vous pouvez lui affecter 5 valeurs différentes, qui correspondent à ceci :

  • 0 :  Zone de la machine locale (Ici les fichiers .chm qui n’auront pas étés inscrit dans la clé HTML Help ne seront lisibles qu’en local)
  • 1 : Zone intranet (Ici les fichiers lus depuis un chemin réseau sur la machine seront lisibles)
  • 2 : Zone de sites de confiance (Ici la lecture des fichiers .chm sera possible sur les sites internet et intranet de confiance, on peut modifier ces derniers dans les options internet)
  • 3 : Zone Internet (Lisible depuis le net)
  • 4 : Zone de sites restreints (Seulement depuis les sites restreints)

Bon, tout cela est plutôt simple à déployer par GPO, pour ceux qui devraient intégrer cette solution au réseau.

Solution logicielle

Il existe également un logiciel qui fait les opérations que j’ai décrites au dessus, pour ceux qui ne sauraient pas comment faire ou qui auraient la grosse flemme d’ouvrir l’éditeur de registre :p.

On peut le télécharger ici : http://www.helpandmanual.com/products_hhreg.html

Donc il s’agit d’avoir les droits administrateur, de lancer HHReg v1.3, et la c’est assez intuitif :hhreg

On peut cliquer sur « Add File » afin d’ajouter le chemin vers un fichier, ou « Add Folder » pour y ajouter un chemin vers un dossier regroupant plusieurs fichiers d’aide .chm, etc …

Normalement vous pouvez dorénavant lire correctement les .chm depuis un lecteur ou chemin réseau 🙂

Laisser un commentaire