La herramienta de extracción de archivos CAB puede escribir un bucle infinito cuando intenta extraer un archivo es mayor que 2 GB

Seleccione idioma Seleccione idioma
Id. de artículo: 836160 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se utiliza la herramienta de extracción de archivos CAB (Extract.exe) del Kit de desarrollo de software (CAB SDK) de Microsoft Cabinet para intentar extraer un archivo es mayor que 2 gigabytes (GB) de un archivo CAB, la herramienta de extracción de archivos CAB puede escribir un bucle infinito.

Causa

Archivos CAB tienen un límite interno del tamaño de los archivos incluidos. Este límite interno es de aproximadamente 2 GB. Sin embargo, el SDK de CAB no exige este límite interno. Por lo tanto, puede utilizar el SDK de CAB para crear un archivo CAB que contiene un archivo es mayor que 2 GB.

Este comportamiento se produce cuando intenta extraer un archivo es mayor que 2 GB de un archivo CAB porque la herramienta de extracción de archivos CAB no se puede extraer un archivo que sea mayor que el límite interno de 2 GB.

Solución

Para evitar este comportamiento, divida el archivo que sea mayor que 2 GB en archivos más pequeños y, a continuación, incluir estos archivos en un conjunto multi-CAB. Para hacerlo mediante el SDK de CAB, siga estos pasos:
  1. Crear un archivo de directiva (.ddf) en la carpeta que contiene el archivo es mayor que 2 GB. Para ello, utilice un editor de textos como el Bloc de notas para crear un archivo de texto que se denomina MyDirectiveFile.ddf que contiene el texto siguiente:
    .Set CabinetNameTemplate=Test*.cab ; Test1.cab, Test2.cab, and so on.
    .Set MaxDiskSize=1.44M	       		
    .Set Cabinet=on
    .Set Compress=on
    C:\Test\Test.txt ; The path of the file that is larger than 2 GB
    .Set DestinationDir=C:\Test
  2. Agregar la carpeta que contiene la herramienta de extracción de archivos CAB y la herramienta de creación avanzada archivo CAB (MAKECAB.exe) para la variable de entorno path . Para ello, ejecute el siguiente comando en un símbolo del sistema:
    establecer la ruta = % path %; FolderPath
    Nota FolderPath es un marcador de posición para la ruta de la carpeta que contiene el archivo Extract.exe y el archivo MAKECAB.exe.
  3. En un símbolo del sistema, cambie a la carpeta que contiene el archivo Test.txt.
  4. Utilice la herramienta de creación de Advanced CAB archivos para crear un multi-CAB conjunto para el Test1.txt archivo. Para ello, ejecute el siguiente comando en un símbolo del sistema:
    MAKECAB /F MyDirectiveFile.ddf
    Se crean las carpetas que se denominan disk1, disk2 y así sucesivamente en la carpeta actual. Cada carpeta contiene un archivo CAB.
  5. Utilice la herramienta de extracción de archivos CAB para extraer el archivo Test.txt. Para ello, ejecute el comando siguiente en el símbolo del sistema:
    extraer /A disk1\Test1.cab /L Prueba1 Test.txt
    Después de algún tiempo, recibirá el mensaje siguiente en la ventana del símbolo del sistema:
    Extraer Test1\Test.txt
    Extraer el archivo .cab de necesidades 'Test2.cab 'desde' disco 2'.
    Escriba la ruta donde este archivo puede ser
    se encontró y presione ENTRAR:
  6. Escriba la ruta de acceso de la carpeta disk2 y, a continuación, presione ENTRAR. Después de algún tiempo, recibirá un mensaje similar al mensaje que recibió en el paso 5.

    Este nuevo mensaje le pedirá que proporciona la ruta del archivo CAB siguiente que forma parte del conjunto multi-CAB.
  7. Escriba la ruta del archivo CAB siguiente en el conjunto multi-CAB y, a continuación, presione ENTRAR.

    Después de algún tiempo, recibirá un mensaje similar al mensaje que recibió en el paso 6.
  8. Repita el paso 7 hasta que haya extraído todos los archivos de CAB en el conjunto multi-CAB.

Estado

Este comportamiento es por diseño.

Más información

Pasos para reproducir el comportamiento

  1. Cree una carpeta en la carpeta raíz de la unidad C del equipo. Nombre de la carpeta Test.
  2. En la carpeta Test, cree un archivo de texto que sea mayor que 2 GB. Nombre del archivo Test.txt.
  3. Utilice la herramienta de creación de archivos de CAB avanzado para crear un archivo CAB para el archivo Test.txt. Para ello, siga estos pasos:
    1. En un símbolo del sistema, cambie a la C:\test carpeta.
    2. Ejecute el comando siguiente para crear un archivo CAB para el archivo Test.txt:
      Makecab Test.txt TestCAB.cab
  4. Utilizar la herramienta de extracción de archivos CAB para intentar extraer el archivo Test.txt desde el archivo CAB TestCAB.cab. Para ello, siga estos pasos:
    1. En un símbolo del sistema, ejecute el comando siguiente:
      extraer TestCAB.cab Test.txt
      Recibe el mensaje siguiente en la ventana del símbolo del sistema:
      Extraer Test.txt-> Test.txt
      Extraer archivo contenedor de necesidades '' de ''.
      Escriba la ruta donde este archivo puede ser
      se encontró y presione ENTRAR:
    2. Escriba la ruta de acceso de la carpeta que contiene el archivo CAB TestCAB.cab y, a continuación, presione ENTRAR. Aparecerá un mensaje similar al siguiente:
      ERROR: Podría no encontrar contenedor archivo c:\Prueba
      Extraer archivo contenedor de necesidades '' de ''.
      Escriba la ruta donde este archivo puede ser
      se encontró y presione ENTRAR:
      Si proporciona la ruta de acceso de nuevo, recibirá de nuevo este mensaje. Este comportamiento es un bucle infinito.

Referencias

Para obtener información adicional, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
168941INFORMACIÓN: Preguntas más frecuentes acerca de los archivos CAB
310618Kit de desarrollo de software de contenedor de Microsoft

Propiedades

Id. de artículo: 836160 - Última revisión: miércoles, 17 de marzo de 2004 - Versión: 1.0
La información de este artículo se refiere a:
  • Cabinet Software Development Kit (CAB SDK)
Palabras clave: 
kbmt kbsdk kbmisctools kbfile kbcab kbprb KB836160 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 836160
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com