Uso de símbolos para reducir el tamaño de revisión binaria
El uso de símbolos públicos para los archivos binarios de imagen de destino y actualización puede reducir a la mitad aproximadamente los tamaños de revisión binaria. La reducción real depende de los símbolos utilizados. Tenga en cuenta que el uso de símbolos puede generar tiempos de creación de revisiones más lentos porque se tarda más tiempo en procesar los archivos de símbolos.
Para reducir el tamaño de una revisión binaria mediante símbolos, debe proporcionar símbolos para los archivos binarios de imagen de destino y de actualización. Especifique los símbolos de la columna SymbolPaths de la tabla TargetImages y la columna SymbolPaths de la tabla UpgradedImages. Debe usar Visual C++ para generar símbolos en el formato de archivo de la base de datos de programa (PDB). Las versiones más recientes de Visual C++ proporcionan toda la información necesaria en el archivo PDB. Las versiones anteriores de Visual C++ también generan el formato de archivo de depuración (DBG). En este caso, el valor SymbolsPaths debe especificar la ubicación de los archivos PDB y DBG.
Por ejemplo, TargetImage para una revisión podría ser el paquete de instalación que se incluye con Windows 2000 y que instala la versión 1.1.1029.0 de MSI.DLL. UpgradedImage podría ser el paquete de instalación actualizado que se incluye con Windows 2000 con Service Pack 1 (SP1) y que instala la versión 1.11.1314.0 de MSI.DLL. Tendrían que crearse dos archivos de propiedades de creación de revisiones (PCP), uno con la columna SymbolPaths de las tablas TargetImages y UpgradedImages dejó NULL (en blanco) y el otro con la columna SymbolPaths de las tablas TargetImages y UpgradedImages rellenadas con la ubicación de los símbolos de los archivos binarios. En este caso, el tamaño de la revisión generada sin usar símbolos puede ser aproximadamente tres veces el tamaño de la revisión generada mediante símbolos.
La utilidad Mpatch.exe se puede usar para probar la generación de revisiones binarias para un único archivo y comprobar si los símbolos son válidos o no. La utilidad Mpatch.exe se incluye en los componentes de Windows SDK para desarrolladores de Windows Installer. La salida de Mpatch.exe indicará si los símbolos no coinciden.
Por ejemplo, escriba la siguiente línea de comandos para comprobar si los símbolos son válidos o no.
mpatch.exe -NEWSYMPATH:d:\update -OLDSYMPATH:d:\target d:\target\example.dll d:\update\example.dll example.pat
Si los símbolos no están en la ubicación correcta, la salida de Mpatch.exe puede incluir la siguiente advertencia.
WARNING: no debug symbols for d:\update\example.dll