Cómo restaurar los archivos de caché de Windows Installer que faltan y resolver los problemas que se producen durante una actualización de SQL Server

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): 969052
Síntomas
El proceso que se describe en este artículo proporciona ayuda de emergencia solamente y no una solución permanente. Los clientes que utilicen este proceso de emergencia deben validar su caché de Windows Installer mediante elPaquete de Comprobador de caché de Windows Installer, como se indica en el artículo KB 2667628.

Cuando intenta instalar un service pack de Microsoft SQL Server o una actualización acumulativa, puede encontrar los siguientes mensajes de error y thesemay indican problemas con la caché de Windows Installer. La caché de Windows Installer, ubicado en la carpetac:\windows\installer , almacena importantes archivos de aplicaciones instalan utilizando la tecnología de Windows Installer y no deberían ser eliminados. Si la caché de installer se ha comprometido, puede no inmediatamente, consulte problemas hasta que se realice una acción como desinstalarán, reparacion o actualización de SQL Server.

Al instalar SQL Server, Windows Installer almacena los archivos críticos en la caché de Windows Installer (por defecto es C:\Windows\Installer). Estos archivos son necesarios para desinstalar y actualizar aplicaciones. No se copien los archivos faltantes entre equipos, ya que son únicos.

Microsoft recomienda que las instalaciones de SQL Server siga primero el proceso de reparación que se describe en los siguientes artículos para comprobar su instalación actual:

Debe ejecutar la reparación desde el medio de instalación original, utilizando la línea de comandos siguiente:

Setup.exe/Action = reparación /INDICATEPROGRESS = TRUE

Reparar las características y los componentes comunes compartidos en primer lugar y, a continuación, repita el comando para reparar las instancias instaladas. Durante el proceso de reparación, desaparece el cuadro de diálogo. Siempre y cuando la ventana de progreso muestra un error, el proceso de reparación está procediendo como se esperaba.

Nota: Los siguientes mensajes de error pueden encontrarse como mensajes de texto en el registro de sucesos o en los registros de instalación se encuentran en una de las siguientes carpetas, e indican que debe reparar su instancia afectada se continuar:
  • Para SQL Server 2008 y SQL Server 2008 R2:
    C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap
  • Para SQL Server 2012:
    C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap
Para SQL 2005 (todas las ramas)
Versión del productoMensaje de error cuando falta el paquete de Installer (MSI)Mensaje de error cuando falta el paquete de caché de Installer (MSP)
SQL Server 2005
1636 no se puede instalar el archivo MSI de Windows Installer
1636 no se puede instalar el archivo MSP de Windows Installer
Nota: Debe revisar los archivos de registro de instalación para identificar si faltan los archivos de la caché. Para obtener más información acerca de cómo hacerlo, vaya a la sección "Solución".

Para SQL Server 2008 SP1
Versión del productoMensaje de error cuando falta el paquete de Installer (MSI)Mensaje de error cuando falta el paquete de caché de Installer (MSP)
SQL Server 2008 SP1Ningún mensaje de error
TÍTULO: Error el programa de instalación de SQL Server.
------------------------------
El programa de instalación de SQL Server ha encontrado el siguiente error: no se puede abrir el archivo de revisión. El archivo es: c:\WINNT\Installer\1cf506f.msp. Código de error 0x84B20001.
------------------------------
Para el SP3 de SQL Server 2008 sólo generación (ramas de CU/RDA no son aplicables)
Versión del productoMensaje de error cuando falta el paquete de Installer (MSI)Mensaje de error cuando falta el paquete de caché de Installer (MSP)
El Service Pack 3 de SQL Server 2008
El archivo MSI en caché 'C:\Windows\Installer\2775c8.msi' no existe. Su archivo original es 'sql_engine_core_inst.msi' y se instaló para el producto 'Microsoft SQL Server 2008 base de datos de motor de servicios de'<network path="">', versión '10.3.5500.0', 'ENU' de idioma.</network>
No existe el archivo de revisión en caché "C:\Windows\Installer\19b19196.msp". El archivo original para este archivo almacenado en caché es "sql_engine_core_inst.msp", que se puede instalar desde la versión de "Service Pack 3 para SQL Server 2008 (KB2546951) (64 bits)," 10.3.5500.0
Nota: Recibirá el siguiente mensaje de error al realizar una actualización:
Error de SQL Server

Para SQL Server 2008 R2 SP1 sólo (ramas de CU/RDA no son aplicables)
Versión del productoMensaje de error cuando falta el paquete de Installer (MSI)Mensaje de error cuando falta el paquete de caché de Installer (MSP)
SQL Server 2008 R2 SP1
TÍTULO: Error el programa de instalación de SQL Server.
------------------------------
El programa de instalación de SQL Server ha encontrado el siguiente error: C:\Windows\Installer\932b909.msi.
------------------------------
No existe el archivo de revisión en caché "C:\Windows\Installer\105441.msp". El archivo original para este archivo almacenado en caché es "sql_engine_core_inst_loc.msp", que puede instalarse desde "Service Pack 1 para SQL Server 2008 R2 (KB2528583) (64 bits)", versión 10.51.2500.0.
Nota: Recibirá el siguiente mensaje de error al realizar una actualización:
Error de SQL Server

Para SQL Server 2008 R2 SP2
Versión del productoMensaje de error cuando falta el paquete de Installer (MSI)Mensaje de error cuando falta el paquete de caché de Installer (MSP)
SQL Server 2008 R2 SP1
El archivo MSI en caché 'C:\Windows\Installer\932b909.msi' no existe. Su archivo original es 'sql_engine_core_inst.msi' y se instaló para el producto 'SQL Server 2008 R2 SP1 base de datos de motor de servicios de'<network path="">', versión '10.51.2500.0', 'ENU' de idioma.</network>
No existe el archivo de revisión en caché "C:\Windows\Installer\105441.msp". El archivo original para este archivo almacenado en caché es "sql_engine_core_inst_loc.msp", que puede instalarse desde "Service Pack 1 para SQL Server 2008 R2 (KB2528583) (64 bits)", versión 10.51.2500.0.
Nota: Recibirá el siguiente mensaje de error al realizar una actualización:
Error de SQL Server

Para SQL Server 2012 antes de CU2
No hay ningún mensaje si faltan archivos MSP o MSI. Sin embargo, el código de error 1714 se registra en el registro de instalación.

En el archivo Summary.txt:
Nombre de componente: SQL Server Setup Support Files
Código de error de componente: 1714

En el archivo Detail.txt:
<Date><Time>SLP: Sco: no existe el archivo 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi'
<Date><Time>SLP: Sco: no existe el archivo 'd:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi'
<Date><Time>SLP: Punto de comprobación: PREINSTALL_SQLSUPPORT_CPU64_ACTION
<Date><Time>SLP: Sco: intentando crear clave de registro base HKEY_LOCAL_MACHINE, equipo<Server name="">
<Date><Time>SLP: Sco: intentando abrir la subclave del registro Software\Microsoft\Windows\CurrentVersion\Installer
<Date><Time>SLP: Sco: intentando obtener el valor del registro InstallerLocation
<Date><Time>SLP: Windows installer versión: 5.0.7601.17514
<Date><Time>SLP: Sco: esperando msiserver' service' Aceptar la solicitud de detención.
<Date><Time>SLP: Sco: intentando abrir Administrador SC
<Date><Time>SLP: Sco: intentando abrir el identificador de servicio para el servicio msiserver
<Date><Time>SLP: Invocar la API de QueryServiceStatus Win32
<Date><Time>SLP: Sco: intentando cerrar el identificador de servicio para el servicio msiserver
<Date><Time>SLP: Sco: intentando cerrar administrador SC
<Date><Time>SLP: Paquete de destino: "d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\SqlSupport.msi"
<Date><Time>SLP: Error MSI: 1714 No se puede quitar la versión anterior de Microsoft SQL Server 2012 instalación (en inglés). Póngase en contacto con su grupo de soporte técnico.
<Date><Time>SLP: InstallPackage: MsiInstallProduct devolvió el código de resultado 1603.
<Date><Time>SLP: Utilizando el código de error MSI para detectar la opción retry: 1714
<Date><Time>SLP: Ningún reintento capaz MSI devolver código detectado.</Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Server></Time></Date></Time></Date></Time></Date></Time></Date>

Para SQL Server 2012 CU2 (y cualquier CU o SP)
Versión del productoMensaje de error cuando falta el paquete de Installer (MSI)Mensaje de error cuando falta el paquete de caché de Installer (MSP)
SQL Server 2008 R2 SP1
El archivo MSI en caché ' C:\Windows\Installer\<file_encoded_name>msi ' falta. Su archivo original es '' C:\Windows\Installer\sql_<featurename>msi '}' y se instaló para el producto ' Microsoft SQL Server <version>' de 'C:\originalfolder', versión '<versionnumber>', lenguaje '<language>'.</language> </versionnumber> </version> </featurename> </file_encoded_name>
No existe el archivo de revisión en caché "c:\Windows\Installer\1fdb1aec.msp". Su archivo original es "sql_engine_core_inst.msp", que puede instalarse desde el archivo de revisión en caché de 11.00.2100.60.The de versión "Revisión 2316 para SQL Server 2012 (KB2679368) (64 bits)", "C:\Windows\Installer\<file_encoded_name>.msp' falta. Su archivo original es '' C:\Windows\Installer\sql_<featurename>.msp'}', que puede instalarse desde ' Hotfix <number>para SQL Server 2012 <KB number="">', versión '<versionnumber>'.</versionnumber> </KB> </number> </featurename> </file_encoded_name>
Nota: Bajo ciertas condiciones en SQL Server 2012, RTM media puede no estar registrado correctamente. Al desinstalar una actualización acumulativa o un service pack en esas circunstancias, el programa de instalación puede pedirle media RTM. Para evitar este problema, proporcione la ruta de los medios RTM durante el proceso de eliminación de la revisión.
Causa
Estos problemas pueden producirse cuando el archivo de base de datos de Windows Installer (.msi) o el archivo de revisión de Windows Installer (.msp) no existe en la caché de Windows Installer. La caché de Windows Installer se encuentra en la carpeta siguiente:
%windir%\Installer
Cuando un producto está instalado con Windows Installer, una versión del archivo .msi original eliminada se almacena en la caché de Windows Installer. Todas las actualizaciones para el producto como una revisión, una actualización acumulativa o una instalación del service pack, también almacena el archivo de .msi o .msp pertinentes en la caché de Windows Installer.

Cualquier actualización futura del producto como una revisión, una actualización acumulativa o una instalación del service pack, se basa en la información de los archivos que se almacenan en la caché de Windows Installer. Sin esta información, la nueva actualización no puede realizar las transformaciones.
Solución
Para resolver estos problemas, utilice uno de los procedimientos siguientes.

Procedimiento 1: Utilice una secuencia de comandos

Para completar los pasos de este procedimiento, tiene que copiar el Secuencia de comandos FindSQLInstalls.vbs en la sección "Más información" en una carpeta local en el equipo donde está intentando actualizar su instalación de SQL Server.

Nota: La secuencia de comandos FindSQLInstalls.vbs recopila la información para corregir las rutas de acceso del paquete no es válido. Y esta secuencia de comandos se utiliza con las ubicaciones de origen para asegurarse de que todos los paquetes MSP están en el directorio de caché de Windows Installer. Si está disponible el medio original, se vuelven a agregar los paquetes que faltan.

Para resolver estos problemas mediante una secuencia de comandos, siga estos pasos:
  1. Busque el directorio en el que guardó el contenido de la secuencia de comandos.
  2. Abra un símbolo del sistema con privilegios elevados para el directorio en el que guardó la secuencia de comandos y ejecute el siguiente comando:
    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
  3. Abra el archivo desde el paso 2 en un editor de texto como el Bloc de notas e identificar los problemas que están causando el error. Para ello, busque el archivo de texto para los modelos de cadena como la siguiente:
    • no lo hace
    • !!!
  4. Basándose en los resultados en el paso 3, siga los pasos que sean necesarios.

    Nota: Buscar más información acerca de estos pasos en la sección "Ejemplos".

  5. Repita los pasos del 2 al 4 hasta que el archivo de texto que se creó en el paso 2 ya no contiene texto que hace referencia a las rutas no válidas o los archivos que faltan para el componente que se está actualizando.

Ejemplos

Los siguientes ejemplos son entradas y explicaciones de las acciones que se describen en el archivo de salida que se genera cuando se ejecuta la secuencia de comandos FindSQLInstalls.vbs.

Ejemplo 1: Faltan archivos de instalador
El siguiente es un ejemplo de la salida que se genera cuando falta un paquete .msi en la carpeta de caché de Windows Installer.
================================================================================PRODUCT NAME   : Microsoft SQL Server 2008 Database Engine Services================================================================================  Product Code: {9FFAE13C-6160-4DD0-A67A-DAC5994F81BD}  Version     : 10.2.4000.0  Most Current Install Date: 20110211  Target Install Location:   Registry Path:    HKEY_CLASSES_ROOT\Installer\Products\C31EAFF906160DD46AA7AD5C99F418DB\SourceList     Package    : sql_engine_core_inst.msi  Install Source: \x64\setup\sql_engine_core_inst_msi\  LastUsedSource: m;1;G:\x64\setup\sql_engine_core_inst_msi\

La línea "LastUsedSource" señala a la ubicación que se utilizó para ejecutar el programa de instalación.

En la línea "LastUsedSource", la entrada m; significa media e indica que el origen de los medios de CD o DVD.

En el ejemplo siguiente, el origen es un CD o un DVD en la unidad G. Si se produjo la instalación desde una carpeta de archivos o desde un recurso compartido de red, la línea empieza con una entrada Norte; "LastUsedSource" seguido de una entrada de Numeric_Data_Name; y la ruta de acceso real:
!!!! sql_engine_core_inst.msi DOES NOT exist on the path in the path G:\x64\setup\sql_engine_core_inst_msi\ !!!! Action needed, re-establish the path to G:\x64\setup\sql_engine_core_inst_msi\ 

La "acción necesaria" línea muestra la ruta de acceso completa que debe existir para poder actualizar los archivos que faltan para el medio de instalación original:
Installer Cache File: C:\WINDOWS\Installer\19b4d2.msi 

La línea "Archivo de caché del instalador" Confirma el nombre del archivo de caché de instalador:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

La siguiente sección de la salida informa de las acciones que se requieren para resolver los archivos que faltan:
 Action needed, recreate or re-establish path to the directory:     G:\x64\setup\sql_engine_core_inst_msi\then rerun this script to update installer cache and results     The path on the line above must exist at the root location to resolve     this problem with your msi/msp file not being found or corrupted,     In some cases you may need to manually copy the missing file or manually     replace the problem file overwriting it is exist:       Copy "G:\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi" C:\WINDOWS\Installer\19b4d2.msi      Replace the existing file if prompted to do so.
Ejemplo 2: Las revisiones que faltan
Las revisiones que faltan pueden producir entradas similares a las del ejemplo 1. La mayoría de los casos, observará que las entradas en la línea "LastUsedSource Patch" que hacen referencia a una revisión y esta línea es similar a la siguiente:
Patch LastUsedSource:   n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

Este resultado indica lo siguiente acerca de la instalación de la revisión:
  • Se instaló la revisión original haciendo doble clic en el archivo ejecutable de la revisión.
  • El instalador de la revisión utiliza una carpeta temporal, c:\0ca91e857a4f12dd390f0821a3, durante la instalación de la revisión.
  • Para volver a crear la ruta de acceso, debe ejecutar el mismo ejecutable y agregar el siguiente parámetro:
    /x:c:\0ca91e857a4f12dd390f0821a3
    Nota: Este comando hace que el archivo ejecutable para extraer los archivos a la ubicación anterior de falta y se vuelve a crea la estructura que se requiere para actualizar la caché de Windows installer con los archivos que faltan. La ubicación real variará y que tenga una única revisión como un service pack que se extraen en varias ubicaciones. Cada producto instalado, incluye una sección que contiene la siguiente información para "Parches instalados":
    Display name:KB Article URL:  http://support.microsoft.com/?kbid=<value>Patch LastUsedSource: 

    La línea "URL de artículo de KB" puede ayudar a descargar cualquier medio de la revisión, si es necesario.

Procedimiento 2: Restaurar manualmente los archivos

Para restaurar manualmente los archivos que faltan de la caché de Windows Installer, siga estos pasos:
  1. Recopilar todos los detalles sobre el archivo que falta desde el mensaje de error, desde el archivo de registro de instalación o de las entradas del registro que son mantenidas por el instalador de Windows. Por ejemplo, en el mensaje de Error 1 en la sección "Síntomas", toda la información necesaria para resolver el problema está presente en el mensaje de error:
    • PatchName: "revisión 1702 para SQL Server 2008 R2 (KB981355) (64 bits)"
    • Archivo MSP original utilizado por la revisión de seguridad: sql_engine_core_inst.msp
    • Archivo MSP en caché: c:\Windows\Installer\1fdb1aec.msp
  2. Si no tiene todos los detalles, consulte la "obtener más información de la sección 2" procedimiento de los pasos necesarios para recopilar estos detalles.
  3. Visite http://support.Microsoft.comy busque el artículo KB asociado con esta revisión. En este ejemplo, debe buscar KB981355.
  4. Descargar este paquete de revisión en el equipo. Asegúrese de descargar el paquete de revisión que corresponde a la plataforma requerida. En este ejemplo, el paquete es SQLServer2008R2-KB981355-x64.exe.
  5. Extraiga el contenido del paquete de revisiones mediante la sintaxis siguiente:
    C:\Temp>SQLServer2008R2-KB981355-x64.exe /x C:\Temp\SQLServer2008R2-KB981355-x64\
  6. Busque el archivo de sql_engine_core_inst.msp de archivo msp original. El archivo debe estar en la carpeta siguiente:
    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
  7. Copie este archivo msp original a la caché de Windows Installer siguiente:
    %windir%\installer\
  8. Cambie el nombre del archivo msp original, sql_engine_core_inst.msp, a la siguiente:
    1fdb1aec.msp de archivo msp en caché

Puede iniciar el programa de instalación de la actualización que se produjo el error y reanudar el proceso de actualización. Puede encontrar este mensaje para un archivo de caché de Windows Installer que falta para otro componente u otra actualización del mismo producto.

Para obtener una lista de todos los archivos que faltan Windows Installer caché que están relacionados con los componentes del producto de SQL Server, puede descargar la herramienta de SQL Server 2008 R2 BPA que se menciona en la sección "Más información".

Si el mensaje de error hace referencia a un archivo de base de datos de Windows Installer (.msi) que faltan, no es necesario realizar los pasos 2 a 4. En su lugar, puede ir directamente al paso 5. Tiene que localizar el archivo .msi desde el medio original que usó para instalar el producto. Si este mensaje de error se generó para sql_engine_core_inst.msi, tienes que buscar este archivo desde el medio de instalación en la estructura de carpetas siguiente:
\x64\setup\sql_engine_core_inst_msi\
Los demás pasos son los mismos.

Para obtener más información para el procedimiento 2

Cómo obtener el paquete de revisión y los detalles del producto que falta un archivo .msp
Diferentes versiones del producto, generan mensajes de error diferentes para este problema. Aparecen los mensajes de error que se mencionan en la sección "Síntomas" para programas de instalación de actualizaciones a partir de Microsoft SQL Server 2008 SP1. Para otras actualizaciones, recibirá mensajes de error que no se pueden especificar con claridad el qué archivo de revisión no existe en la caché de Windows Installer y los detalles de la actualización específica. Estos mensajes de error, los archivos de registro de configuración contendrá información sobre el archivo de caché de Windows Installer que falta. Ejemplo de registro de instalación similar al siguiente:
MSI (s) (FC:F8) [13:48:58:649]: Opening existing patch 'C:\WINDOWS\Installer\145258.msp'.MSI (s) (FC:F8) [13:48:58:649]: Couldn't find local patch 'C:\WINDOWS\Installer\145258.msp'. Looking for it at its source.MSI (s) (FC:F8) [13:48:58:649]: Resolving Patch source.MSI (s) (FC:F8) [13:48:58:649]: Note: 1: 2203 2: D:\cda162709d239766830bae5ce12b\HotFixSQL\Files\sqlrun_sql.msp 3: -2147287037 MSI (s) (FC:F8) [13:48:58:649]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.MSI (s) (FC:F8) [13:49:29:961]: Product: Microsoft SQL Server 2005 -- Installation failed.MSI (s) (FC:F8) [13:49:29:992]: MainEngineThread is returning 1635This patch package could not be opened.  Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package.D:\SQL2K5\Servers\Setup\SqlRun_SQL.msi

Si examina cuidadosamente el registro de la instalación, ya proporciona la información sobre el archivo MSP Original que se utilizó la revisión siguiente:
sqlrun_sql.msp


Para obtener más detalles acerca del archivo .msp que faltan en la caché de Windows Installer, siga estos pasos:
  1. Busque el archivo .msp que falta en la siguiente subclave del registro de revisiones de Windows Installer:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
  2. Encontrar el GUID de la revisión.
  3. Buscar el GUID de la revisión en la siguiente subclave del registro de productos de Windows Installer:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
Para el registro de instalación de ejemplo, la información sobre el archivo .msp que falta y los detalles de revisión correspondientes están presentes en las entradas del registro siguientes:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\A3B085EA74A9A7640A496636F7EF9A44

Valor: 0
Nombre: LocalPackage
Datos: C:\WINDOWS\Installer\145258.msp

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
Valor: 6
Nombre: DisplayName
Datos: GDR 2050 para SQL Server la base de datos Services 2005 ENU (KB932555)

Ahora dispone de todos los puntos de información para iniciar los pasos para resolver los archivos que faltan en la caché de Windows Installer.

Nota: Si utiliza Microsoft SQL Server 2008 Service Pack 3 (SP3) o una versión posterior, también puede recibir un mensaje de error similar para los archivos .msi que faltan. Mediante el uso de este mensaje de error, puede determinar rápidamente qué archivo falta, qué service pack para descargar, y donde se puede encontrar la descarga.

Para obtener más información acerca de cómo obtener el service pack, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2546951 Lista de los errores corregidos en el Service Pack 3 de SQL Server 2008

Más información
Para obtener más información acerca de los archivos de Windows Installer (.msi) de la base de datos, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):Para obtener más información acerca de los archivos de Windows Installer revisión (archivo .msp), visite el siguiente sitio Web MSDN:Para obtener más información acerca de los detalles internos de la caché de Windows Installer, consulte el blog MSDN siguiente:Para obtener más información sobre el proceso de revisión, consulte el blog MSDN siguiente:Para obtener más información acerca de cómo asegurarse de que almacena en caché el archivo de revisión para la plataforma correcta, consulte el blog MSDN siguiente:Para obtener más información acerca de por qué cualquier producto que use al instalador de Windows puede surgir este problema, consulte el blog MSDN siguiente:Para obtener más información acerca de los detalles acerca de los diferentes conjuntos de mensajes de error que aparecen en los archivos de registro de instalación, consulte el blog MSDN siguiente:

Para obtener más información acerca de los productos o herramientas que comprueban automáticamente si esta condición en la instancia de SQL Server y en las versiones del producto de SQL Server, vea la tabla siguiente:
Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Instalación - caché Installer es que faltan para la instalación de SQLSQL Server 2008 R2 Best Practices Analyzer (BPA, SQL Server 2008 R2) proporciona una regla para detectar el archivo de caché falta el instalador para los componentes de SQL Server. El BPA de SQL Server 2008 R2 es compatible con SQL Server 2008 y SQL Server 2008 R2. Si ejecuta la herramienta BPA y se producirá un Error con el título de la instalación - caché Installer falta para la instalación de SQL y, a continuación, caché faltan los archivos de la carpeta de caché.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012 Best Practice Analyzer (BPA de SQL Server 2012)Instalación - caché Installer es que faltan para la instalación de SQLSQL Server 2012 Best Practice Analyzer (BPA de SQL Server 2012) proporciona una regla para detectar el archivo de caché falta el instalador para los componentes de SQL Server. Si ejecuta la herramienta BPA y se producirá un Error con el título de la instalación - caché Installer falta para la instalación de SQL y, a continuación, caché faltan los archivos de la carpeta de caché.SQL Server 2012



Secuencia de comandos FindSQLInstalls.vbs

' Copyright © Microsoft Corporation.  All Rights Reserved.' This code released under the terms of the ' Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)  On Error Resume Next Dim arrSubKeys, arrSubKeys2Dim objFSO, objShell, objFile, objReg, objConn, objExecDim strComputer, strKeyPath, strNewSourceDim strWorkstationName, strDBPath, strSubKey, strSubKey2(), strKeyPath02,  strRetValue00Dim strRetValue01, strRetValue02, strRetValNew02, strRetValNew03, strRetValNew04, strRetValNew05, strRetValNew06, strRetValNew07, strRetValNew08, strRetValNew09, strRetValue10, strRetValNew10, strRetValNew11, strRetValNew12, strRetValNew13, strRetValNew14, strRetValNew14a, strRetValNew14b, strRetValNew15, strRetValNew15a, strRetValNew15b, strRetValNew16, strRetValNew17, strRetValNew18 Const HKCR = &H80000000 'HKEY_CLASSES_ROOTConst HKLM = &H80000002 'HKEY_LOCAL_MACHINEConst ForReading = 1, ForWriting = 2, ForAppEnding = 8 ' Checking for Elevated permissionsDim oShell, oExecszStdOutszStdOut = ""Set oShell = CreateObject("WScript.Shell")Set oExec = oShell.Exec("whoami /groups") Do While (oExec.Status = cnWshRunning)    WScript.Sleep 100       if not oExec.StdOut.AtEndOfStream Then                szStdOut = szStdOut & oExec.StdOut.ReadAll       end IfLoop select case oExec.ExitCode   case 0       if not oExec.StdOut.AtEndOfStream Then           szStdOut = szStdOut & oExec.StdOut.ReadAll       End If       If instr(szStdOut,"Mandatory Label\High Mandatory Level") Then                wscript.echo "Elevated, executing script and gathering requested data"       Else           if instr(szStdOut,"Mandatory Label\Medium Mandatory Level")  Then          Wscript.echo "Not Elevated must run from Administrative commmand line."       Else          Wscript.echo "Gathering requested data..."           end If      End If   case Else       if not oExec.StdErr.AtEndOfStream Then          wscript.echo oExec.StdErr.ReadAll       end If       end select '' Leaving strNewSource will result in no search path updating.' Currently DO NOT EDIT these.strNewSource = ""strNewRTMSource = "" ' Define string valuesstrComputer = "."strSQLName = "SQL"strDotNetName = ".NET"strVStudioName = "Visual Studio"strXML = "XML"strOWC = "Microsoft Office 2003 Web Components"strKeyPath = "Installer\Products"strKeyPath2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products"strNValue00 = "ProductName"strNValue01 = "PackageName"strNValue02 = "LastUsedSource"strNValue03 = "InstallSource"strNValue04 = "LocalPackage"strNValue05 = "DisplayVersion"strNValue06 = "InstallDate"strNValue07 = "UninstallString"strNValue08 = "PackageCode"strNValue09 = "MediaPackage"strNValue10 = "InstallSource"strNValue11 = "AllPatches"strNValue12 = "NoRepair"strNValue13 = "MoreInfoURL"strNValue14 = "PackageName"strNValue15 = "LastUsedSource"strNValue16 = "Uninstallable"strNValue17 = "DisplayName"strNValue18 = "Installed" If WScript.arguments.count <> 1 Then   WScript.echo "Usage: cscript " & WScript.scriptname & " outputfilename.txt"   WScript.quitEnd If '--Setup the output fileSet fso = CreateObject("Scripting.FileSystemObject")Set txtFile = fso.OpenTextFile(WScript.arguments(0), ForWriting, True)If err.number <> 0 Then    WScript.echo "Error 0x" & myHex(err.number,8) & ": " & err.source & " - " & err.description    WScript.quitEnd If txtFile.writeline "Products installed on the local system"txtFile.writeline " "txtFile.writeline " "  Set objFSO = CreateObject("Scripting.FileSystemObject")Set objShell = WScript.CreateObject("WScript.Shell") '--Set up the registry provider.Set objReg = GetObject("winmgmts:\\" & strComputer & _"\root\default:StdRegProv") Set wiInstaller = CreateObject("WindowsInstaller.Installer") '--Enumerate the "installer\products" key on HKCRobjReg.EnumKey HKCR, strKeyPath, arrSubKeys For Each strSubKey In arrSubKeys ' Define the various registry pathsstrProduct01 = "Installer\Products\" & strSubKeystrKeyPath02 = "Installer\Products\" & strSubKey & "\SourceList"strKeyPath03 = "Installer\Products\" & strSubKey & "\SourceList\Media"strInstallSource = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\InstallProperties\"strInstallSource2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\patches\"strInstallSource3 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches"strInstallSource5 = "SOFTWARE\Classes\Installer\Patches\"strInstallSource6 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"strInstallSource7 = "SOFTWARE\Microsoft\Microsoft SQL Server\"strInstallSource8 = "SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\" ' Pull the intial valuesobjReg.GetStringValue HKCR, strProduct01, strNValue00, strRetValue00objReg.GetStringValue HKCR, strKeyPath02, strNValue01, strRetValue01objReg.GetStringValue HKCR, strKeyPath02, strNValue02, strRetValue02strRetValNew02 = Mid(strRetValue02, 5)objReg.GetStringValue HKCR, strKeyPath03, strNValue09, strRetValue09strRetValue10 = strNewRTMSource & strRetValue09objReg.GetStringValue HKLM, strInstallSource, strNValue03, strRetValNew03objReg.GetStringValue HKLM, strInstallSource, strNValue04, strRetValNew04objReg.GetStringValue HKLM, strInstallSource, strNValue05, strRetValNew05objReg.GetStringValue HKLM, strInstallSource, strNValue06, strRetValNew06objReg.GetStringValue HKLM, strInstallSource, strNValue07, strRetValNew07objReg.GetStringValue HKLM, strInstallSource, strNValue10, strRetValNew10objReg.GetStringValue HKLM, strInstallSource, strNValue12, strRetValNew12objReg.GetStringValue HKLM, strInstallSource, strNValue13, strRetValNew13objReg.GetStringValue HKLM, strInstallSource2, strNValue11, strRetValNew11 ' Pull the Product Code from the Uninstall StringstrProdCode = strRetValNew07  ProdCodeLen = Len(strProdCode)  ProdCodeLen = ProdCodeLen - 14strRetValNew08 = Right(strProdCode, ProdCodeLen) ' Pull out path from LastUsedSourcestrGetRealPath = strRetValue02  GetRealPath = Len(strRetValue02)strRealPath = Mid(strRetValue02, 5, GetRealPath) ' Identifie the string in the ProductNameIf instr(1, strRetValue00, strSQLName, 1) Then' Start the log output    txtFile.writeline "================================================================================"    txtFile.writeline "PRODUCT NAME   : " & strRetValue00    txtFile.writeline "================================================================================"    txtFile.writeline "  Product Code: " & strRetValNew08    txtFile.writeline "  Version     : " & strRetValNew05    txtFile.writeline "  Most Current Install Date: " & strRetValNew06    txtFile.writeline "  Target Install Location: "  & strRetValNew13    txtFile.writeline "  Registry Path: "    txtFile.writeline "   HKEY_CLASSES_ROOT\" & strKeyPath02    txtFile.writeline "     Package    : " & strRetValue01    txtFile.writeline "  Install Source: " & strRetValue10    txtFile.writeline "  LastUsedSource: " & strRetValue02'   txtFile.writeline "Does this file on this path exist? " & strRetValNew02 & "\" & strRetValue01    If fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then    txtFile.writeline  " "        txtFile.writeline "    " & strRetValue01 & " exists on the LastUsedSource path, no actions needed."    Else        txtFile.writeline " "        txtFile.writeline " !!!! " & strRetValue01 & " DOES NOT exist on the path in the path " & strRealPath & " !!!!"        txtFile.writeline " "        txtFile.writeline " Action needed, re-establish the path to " & strRealPath' Placeholder for altering the LastUsedSource by adding source location and Forcing search of list'        If strNewSource <> "" Then'        txtFile.writeline "      New Install Source Path Added: " & strNewSource'        wiInstaller.AddSource strRetValNew08, "", strNewSource'        Else'        If strNewRTMSource <> "" Then'        wiInstaller.AddSource strRetValNew08, "", strNewRTMSource'        txtFile.writeline "      Forcing SourceList Resolution For: " & strRetValNew08'        wiInstaller.ForceSourceListResolution strRetValNew08, ""'        End If'        End If    End If        txtFile.writeline " "        txtFile.writeline "Installer Cache File: " & strRetValNew04    If fso.fileexists(strRetValNew04) Then        txtFile.writeline " "        txtFile.writeline "    Package exists in the Installer cache, no actions needed."        txtFile.writeline "    Any missing packages will update automatically if needed assuming that"        txtFile.writeline "    the LastUsedSource exists."        txtFile.writeline " "        txtFile.writeline "    Should you get errors about " & strRetValNew04 & " or " & strRealPath & strRetValue01 & " then you"        txtFile.writeline "    may need to manually copy the file, if file exists replace the problem file, "         txtFile.writeline "    Copy and paste the following command line into an administrative command prompt:"        txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04        txtFile.writeline " "    ElseIf fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then              fso.CopyFile strRetValNew02 & "\" & strRetValue01, strRetValNew04        If fso.fileexists(strRetValNew04) Then          txtFile.writeline " "          txtFile.writeline "     Missing cache file replaced by copying " & strRealPath  & strRetValue01 & " to " & strRetValNew04          txtFile.writeline "     Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."          txtFile.writeline " "        End If    Else        txtFile.writeline " "        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"        txtFile.writeline " !!!! " & strRetValNew04 & " DOES NOT exist in the Installer cache. !!!!"        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"        txtFile.writeline " "        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"        txtFile.writeline "       " & strRealPath & "then rerun this script to update installer cache and results"        txtFile.writeline "     The path on the line above must exist at the root location to resolve"        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"        txtFile.writeline "     In some cases you may need to manually copy the missing file or manually"        txtFile.writeline "     replace the problem file overwriting it is exist: "         txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04        txtFile.writeline " "        txtFile.writeline "     Replace the existing file if prompted to do so."        txtFile.writeline " "    End If    txtFile.writeline " "    txtFile.writeline strRetValue00 & " Patches Installed "    txtFile.writeline "--------------------------------------------------------------------------------"     err.clear    objReg.EnumKey HKLM, strInstallSource2, arrSubKeys2    uUpperBounds = UBound(arrSubKeys2,1)     If err.number = 0  Then        For Each strSubKey2 in arrSubKeys2    '    WScript.echo "value = " & strSubKey2 strKeyPath04 = "Installer\Patches\" & strSubKey2 & "\SourceList"      objReg.GetDWORDValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue16, strRetValue16     objReg.GetStringValue HKCR, strKeyPath04, strNValue15, strRetValue15a     objReg.GetStringValue HKCR, strKeyPath04, strNValue14, strRetValue14a     objReg.GetStringValue HKCR, strKeyPath02, strNValue15, strRetValue15b     objReg.GetStringValue HKCR, strKeyPath02, strNValue14, strRetValue14b     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue17, strRetValue17     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue18, strRetValue18     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue13, strRetValue13a     objReg.GetStringValue HKLM, strInstallSource3 & "\" & strSubKey2 & "\", strNValue04, strRetValue04a ' Pull the URL from the MoreInfoURL StringstrMoreInfoURL = strRetValue13a  MoreInfoURLLen = Len(strMoreInfoURL)strRetValue13b = Right(strMoreInfoURL, 42) ' Pull the URL from the LastUsedPath StringstrLastUsedPath = strRetValue15a  LastUsedPathLen = Len(strLastUsedPath)  'LastUsedPathLen = LastUsedPathLen - 15strRetValue15c = Mid(strLastUsedPath, 5)       txtFile.writeline " Display Name:    " & strRetValue17       txtFile.writeline " KB Article URL:  " & strRetValue13b      txtFile.writeline " Install Date:    " & strRetValue18               txtFile.writeline "   Uninstallable:   " & strRetValue16       txtfile.writeline " Patch Details: "      txtFile.writeline "   HKEY_CLASSES_ROOT\Installer\Patches\" & strSubKey2              txtFile.writeline "   PackageName:   " & strRetValue14a' Determine if someone has modified the Uninstallable state from 0 to 1 allowing possible unexpected uninstalls              txtFile.writeline "    Patch LastUsedSource: " & strRetValue15a               txtFile.writeline "   Installer Cache File Path:     " & strRetValue04a         txtFile.writeline "     Per " & strInstallSource3 & "\" & strSubKey2 & "\" & strNValue04              mspFileName = (strRetValue15c  & strRetValue14a)      If strRetValue14a <> "" Then      If fso.fileexists(strRetValue04a) Then        txtFile.writeline " "        txtFile.writeline "    Package exists in the Installer cache, no actions needed."        txtFile.writeline "    Package will update automatically if needed assuming that"        txtFile.writeline "    the LastUsedSource exists."        txtFile.writeline " "        txtFile.writeline "    Should you get errors about " & strRetValue04a & " or " & strRetValue15c  & strRetValue14a & " then you"        txtFile.writeline "    may need to manually copy missing files, if file exists replace the problem file, "         txtFile.writeline "    Copy and paste the following command line into an administrative command prompt."        txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a        txtFile.writeline " "      ElseIf fso.fileexists(mspFileName) Then              fso.CopyFile mspFileName, strRetValue04a          If fso.fileexists(strRetValue04a) Then          txtFile.writeline " "          txtFile.writeline " Missing cache file replaced by copying " & strRetValue15c  & strRetValue14a & " to " & strRetValue04a          txtFile.writeline " Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."          txtFile.writeline " "          End If'        End If      Else        txtFile.writeline " "        txtFile.writeline "!!!! " & strRetValue04a & " package DOES NOT exist in the Installer cache. !!!!"        txtFile.writeline " "        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"        txtFile.writeline "       " & strRetValue15c & " then rerun this script to update installer cache and results"        txtFile.writeline "     The path on the line above must exist at the root location to resolve"        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"        txtFile.writeline "     In some cases you may need to manually copy missing files or manually"        txtFile.writeline "     replace the problem file, "         txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a        txtFile.writeline " "        txtFile.writeline "     Replace the existing file if prompted to do so."        txtFile.writeline " "        txtFile.writeline "     Use the following URL to assist with downloading the patch:"        txtFile.writeline "      " & strRetValue13b        txtFile.writeline " "        txtFile.writeline " "      End If       Else        txtFile.writeline " "     End If        next     Else        txtfile.writeline " "        txtfile.Writeline "  No Patches Found"        txtfile.writeline " "    End If     End If  NexttxtFile.CloseSet txtFile = NothingSet fso = Nothing

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 969052 - Última revisión: 03/09/2016 07:55:00 - Revisión: 20.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Standard Edition for Small Business, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Standard Edition for Small Business, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Evaluation Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web

  • kbtshoot kbexpertiseinter kbprb kbsurveynew kbmt KB969052 KbMtes
Comentarios