windows - significa - manual html help workshop español
La apertura de un archivo CHM produce: "se canceló la navegación a la página web" (9)
"desbloquear" el archivo corrige el problema. Captura de pantalla:
Estoy tratando de abrir un archivo .chm.
Descargué el código fuente, lo Waffle.chm
y Waffle.chm
doble clic en Waffle.chm
y Waffle.chm
clic en "Abrir", pero no importa en qué elemento del archivo chm haga clic, Waffle.chm
el mensaje:
Navigation to the webpage was canceled.
What you can try:
Retype the address.
¿Que está pasando aqui?
Además de la respuesta de Eric Leschinski, y porque esto es , una solución programática:
Windows usa forks de archivos ocultos para marcar el contenido como "descargado". Truncar estos desbloquea el archivo. El nombre de la secuencia utilizada para CHM es "Zone.Identifier". Se puede acceder a las secuencias añadiendo: nombre de secuencia al abrir el archivo. (mantenga las copias de seguridad la primera vez, en caso de que su RTL lo estropee)
En Delphi se vería así:
var f : file;
begin
writeln(''unblocking '',s);
assignfile(f,''some.chm:Zone.Identifier'');
rewrite(f,1);
truncate(f);
closefile(f);
end;
Me dijeron que en los sistemas de archivos no bifurcados (como FAT32) hay archivos ocultos, pero aún no he llegado al fondo de eso.
El DeleteFile () de Ps Delphi también debería reconocer las horquillas.
Aparentemente hay diferentes niveles de autenticación. La mayoría de los artículos que leí le dicen que configure MaxAllowedZone en ''1'', lo que significa que la zona de la máquina local y la zona de intranet están permitidas, pero ''4'' permite el acceso para ''todas'' las zonas.
Para obtener más información, lea este artículo: https://support.microsoft.com/en-us/kb/892675
Así es como se ve mi registro (no estaba seguro de que funcionaría con los comodines, pero parece funcionar para mí):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/HTMLHelp]
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/HTMLHelp/1.x]
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/HTMLHelp/1.x/ItssRestrictions]
"MaxAllowedZone"=dword:00000004
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/HTMLHelp/1.x/ItssRestrictions]
"UrlAllowList"="////<network_path_root>;////<network_path_root>/*;//ies-inc.local;http://www.*;http://*;https://www.*;https://*;"
Como nota adicional, extrañamente se requería la clave "UrlAllowList" para hacer que esto funcionara en otra PC pero no en la de mi prueba. Probablemente no sea necesario en absoluto, pero cuando lo agregué, solucionó el problema. El usuario puede no haber cerrado el archivo original o algo así. Entonces solo una consideración. Sugiero probar al menos y probarlo, luego agregar si es necesario. Una vez que confirme, puede implementar si es necesario. ¡Buena suerte!
Editar: PS Otro método que funcionó fue mapear la ruta a la red localmente usando mklink / d (enlace simbólico en Windows 7 o posterior), pero mapear una letra de unidad de red (Z: para probar) no funcionó. Solo algo para pensar y no tuve que ''Desbloquear'' ningún archivo. Además, la ''Solución'' aceptada no resolvió el problema para mí.
Gane 8 x64:
solo muévala a otra carpeta o cambie el nombre de su carpeta (en mi caso: mi carpeta era "c #"). evite usar el símbolo en el nombre de la carpeta. nombrarlo con letra.
hecho.
Ir a Inicio
Escriba regsvr32 hhctrl.ocx
Debería obtener un mensaje de éxito como:
"DllRegisterServer en hhctrl.ocx tuvo éxito"
Ahora intenta abrir tu archivo CHM nuevamente.
La solución definitiva es permitir que el protocolo InfoTech funcione en la zona de intranet.
Agregue el siguiente valor al registro y el problema debería resolverse:
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/HTMLHelp/1.x/ItssRestrictions]
"MaxAllowedZone"=dword:00000001
Más información aquí: http://support.microsoft.com/kb/896054
Lo arreglé programáticamente en mi software, usando C ++ Builder.
Antes de asignar el archivo de ayuda de CHM, Application->HelpFile = HelpFileName
, compruebo si contiene la secuencia "Zone.Identifier" y, cuando lo hace, simplemente lo elimino.
String ZIStream(HelpFileName + ":Zone.Identifier") ;
if (FileExists(ZIStream))
{ DeleteFile(ZIStream) ; }
de otra manera es usar diferentes software de terceros. Este enlace muestra más software de terceros para ver archivos chm ...
Intenté con SumatraPDF y funciona bien.
Resumen
Las actualizaciones de seguridad de Microsoft 896358 y 840315 bloquean la visualización del contenido del archivo CHM cuando se abre desde una unidad de red (o una ruta UNC ). Este es el intento de Windows de detener los vectores de ataque para que los virus / malware infecten su computadora y ha bloqueado el archivo .chm que extrae datos a través del protocolo "InfoTech", que utiliza este archivo chm.
El resumen de Microsoft del problema: http://support.microsoft.com/kb/896054
Soluciones
Si está utilizando Windows Server 2008, Windows 7, Windows ha creado una solución rápida. Haga clic derecho en el archivo chm, y obtendrá el cuadro de diálogo "Propiedades de yourfile.chm", en la parte inferior, aparece un botón llamado "Desbloquear". Haga clic en Desbloquear y presione OK, e intente abrir nuevamente el archivo chm, funciona correctamente. Esta opción no está disponible para versiones anteriores de Windows antes de WinXP (SP3).
Resuelva el problema moviendo su archivo chm fuera de la unidad de red. Es posible que no sepa que está utilizando una unidad de red, compruebe ahora: haga clic con el botón derecho en su archivo .chm, haga clic en Propiedades y observe el campo "Ubicación". Si comienza con dos barras diagonales inversas como esta:
//epicserver/blah/
, entonces está utilizando una unidad en red. Para solucionarlo, copie el archivo chm y péguelo en una unidad local, como C: / o E :. Luego intente volver a abrir el archivo chm, Windows no se asusta.Último recurso, si no puede copiar / mover el archivo de la unidad en red. Si debe abrirlo donde se encuentra, y está usando una versión menor de Windows como XP, Vista, ME u otra, tendrá que decirle a Windows manualmente que no se asuste con este archivo .chm. Utilidad HHReg (utilidad de registro de ayuda HTML) Automatiza esta tarea. Básicamente, usted descarga la utilidad HHReg, carga su archivo .chm, presiona OK, y creará las claves de registro necesarias para decirle a Windows que no lo bloquee. Para más información: http://www.winhelponline.com/blog/fix-cannot-view-chm-files-network-xp-2003-vista/
Windows 8 o 10? -> Actualiza a Windows XP.