2010-01-15 41 views
5

Tengo que reemplazarlo por un error que bloquea la desinstalación del software, pero Windows no puede encontrar el archivo MSI si utilizo la utilidad de búsqueda de archivos, pero creo que el MSI está almacenado en algún lugar donde la utilidad Add or Remove Programs puede usarlo.¿Dónde se copia el archivo MSI después de la instalación?

+0

La forma/** ** correcta recomendada para solucionar los problemas de desinstalación es ** utilizar una actualización menor a "revisión" del producto instalado, y luego activa su secuencia de desinstalación fija ** como se indica debajo con ** saschabeaumont **. La actualización menor se puede entregar como una MSI regular o como un paquete de parche (para productos grandes). –

Respuesta

11

lo hace no entra en% windir% \ Installer \

Aunque creo que los archivos pueden quedar rebautizado. No estoy seguro de dónde obtiene la asignación de nombre de ...

Este directorio se vuelve muy grande, así que lo muevo a una unidad externa. Esto a veces hace que las desinstalaciones o actualizaciones fallen con un error msi perdido, pero esto se puede solucionar volviendo al directorio

+1

¡excelente! Ahora estoy seguro de que el archivo cambia de nombre, pero puede encontrar el nuevo nombre en el Registro de Windows –

+0

ahh, contento de que sepa cómo obtener la asignación –

+1

Para el archivo MSI renombrado, verifique el atributo 'LocalPackage' dentro del registro en la ruta -' HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Installer \ UserData \ \ Products \ \ InstallProperties] '. 'InternalUserId' es algo así como 'S-1-5-18'. 'ProductGUID' es un GUID como' 00058CD18F0BF523DA1072073D56715D' incrustado como propiedad pública dentro del archivo MSI. – RBT

-1

Quizás simplemente se haya eliminado el msi. Puede eliminar la carpeta de instalación y ejecutar la herramienta de limpieza msi y luego reinstalar su programa.

+0

corrigió la pregunta para aclarar –

+0

MSIZAP (Windows Installer Cleanup) es una herramienta muy peligrosa. Consulte http://robmensching.com/blog/posts/2009/3/6/More-on-Haacks-Troubleshooting-Windows-MSI-Installers para obtener más información – saschabeaumont

6

Puede forzar una recache/reinstalación usando MSIEXEC, la forma recomendada de actualizar los paquetes de instalación defectuosos que no se pueden de lo contrario, debe recache con un paquete fijo, luego desinstálelo como de costumbre.

MSIEXEC /fv setup.msi 
4

Al instalar un paquete utilizando el servicio Windows Installer, el archivo MSI pone en caché en el oculto carpeta "% windir% \ instalador". Se renombra y el nuevo nombre es una cadena hexadecimal que no tiene una relación obvia con el nombre original. Algo así como "123ab4.msi".

No es difícil determinar cuál es la copia en caché de su aplicación. La manera más rápida es buscar el archivo almacenado en caché del mismo tamaño. Cuando creas que lo has encontrado, coloca el puntero sobre el nombre del archivo en Windows Explorer. Aparecerá la información sobre herramientas y le mostrará los datos del flujo de información de resumen del paquete. Nombre del producto, nombre del autor, etc. Una vez que haya encontrado el archivo correcto, puede editarlo directamente con una herramienta como Orca.

Si solo está tratando de arreglar las cosas en su propia máquina, entonces la edición directa de la base de datos en caché puede ser una buena opción. Sin embargo, Microsoft proporciona una forma integrada de manejar un problema como este. Puede crear un parche (un archivo msp), que contiene la diferencia entre el archivo msi original y su archivo msi actualizado. Ese parche podría distribuirse a cualquier persona que ya haya instalado su aplicación usando la instalación original, y sería fácil de usar.

MSDN discute la creación de parches aquí - http://msdn.microsoft.com/en-us/library/aa368060%28VS.85%29.aspx

Eliminación de la carpeta oculta por lo general no es una buena idea, ya que rompe alguna funcionalidad básica del servicio de instalación. Eso incluye parches, detección y reparación, y la capacidad de actualizar a través de la migración en lugar de desinstalar y volver a instalar.

2

Para ver nombres útiles de archivos msi en C:\Windows\Installer haga clic derecho en la parte superior del explorador y agregue el campo para ver Asunto (probablemente tendrá que seleccionar más ya que no es un nombre predeterminado, fecha de modificación, etc.) Desde aquí puede encontrar el msi y usarlo para desinstalar programas.

3

me había dejado muchos comentarios en la respuesta aceptada, así que pensé que preferiría publicar una respuesta después de crear un resumen con algunos detalles adicionales más:

Installshield crea una copia de los archivos * .msi en %windir%\installer\ ruta donde% windir% es una variable de entorno que generalmente apunta a C:\Windows\. Antes de crear una copia de *.archivos msi lo renombra usando una nomenclatura aleatoria, p. Puedo ver un archivo llamado 65ec5c99.msi en mi directorio C:\Windows\Installer.

Ahora averiguar el nombre del producto real para el archivo MSI rebautizado hay dos maneras:

  1. Verificar LocalPackage atributo dentro del registro en el camino - [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersio‌​n\Installer\UserData‌​\<InternalUserId>\Pr‌​oducts\<ProductGUID>‌​\InstallProperties]. InternalUserId es algo del tipo S-1-5-18. ProductGUID es un GUID como 00058CD18F0BF523DA1072073D56715D incrustado como una propiedad pública dentro del archivo MSI. Puede verificar esta propiedad pública abriendo su archivo MSI con cualquier herramienta, p. orca

  2. Abrir C:\Windows\Installer carpeta en el explorador. Cambie la vista del directorio a la vista Details. Agregue la columna Subject a la vista. Whooaa !! El misterio está resuelto. El nombre del producto es visible allí mismo, en la columna Subject

enter image description here

Cuestiones relacionadas