Saltar al contenido

Desinstalar un archivo MSI desde la línea de comandos sin usar msiexec

Este team de expertos pasados algunos días de investigación y de recopilar de información, dieron con los datos necesarios, queremos que resulte de utilidad en tu proyecto.

Solución:

Hay muchas formas de desinstalar un paquete MSI. Esto pretende ser una “referencia”.

En resumen puede desinstalar a través de: msiexec.exe, ARP, WMI, Potencia Shell, Sistemas de implementación como SCCM, VBScript / Automatización COM, DTF, o vía carpeta de caché oculta de Windowsy algunas otras opciones que se presentan a continuación.

Los primeros párrafos proporcionan información importante sobre MSI, luego están 14 secciones con diferentes formas de desinstalar un archivo MSI. Puh.

“Balbuceo, balbuceo – Cambio”:Secciones 1, 2 y 3 son los enfoques de desinstalación normales (y por lo tanto recomendado). Personally I use option 3 or 5 from section 3 (ambas opciones con registro, pero la opción 5 también se ejecuta silenciosamente). Si usted es muy ocupado, omita todo el balbuceo y elija uno de estos: hará el trabajo.


Si usted tiene problemas de desinstalación por completo y buscan una alternativa a la obsoleta MsiZap.exe y / o la utilidad de limpieza de Windows Installer (MSICUU2.exe), puedes probar el nuevo Herramienta FixIt de Microsoft (o la página internacional). Aparentemente, también puede funcionar para otros problemas de instalación.

Lista más reciente de enfoques de limpieza: Limpiar desinstalaciones de MSI rotas.


Si usted piensa MSI y instalador de ventanas es más problemático de lo que vale, es posible que desee leer sobre los beneficios corporativos de usar archivos MSI.


Installscript MSI las configuraciones generalmente vienen envueltas en un archivo setup.exe. Para leer más sobre los parámetros que se deben usar para desinstalar dichas configuraciones, consulte estos enlaces: setup.exe hoja de referencia pdf, Parámetros de la línea de comandos Setup.exe y Update.exe.


Algunos archivos MSI se instalan como parte de manojos a través de un mecanismo como Quemar (Kit de herramientas de WiX) o Suite InstallShield proyectos. Esto puede hacer que la desinstalación sea ligeramente diferente de lo que se ve a continuación. A continuación, se muestra un ejemplo de proyectos de InstallShield Suite.


Tenga en cuenta que ejecutar desinstalar silenciosamente o interactivamente puede causar resultados diferentes (!). Para una descripción bastante extensa de por qué este es el caso, lea esta publicación: Desinstalar desde el Panel de control es diferente a Eliminar de .msi


Si se le solicita inesperadamente el medio de instalación original al intentar desinstalar, lea esta respuesta: ¿Por qué MSI requiere el archivo .msi original para proceder con la desinstalación? y quizás también la sección 12 a continuación para obtener algunos detalles técnicos importantes.


Si tiene CCleaner o herramientas de limpieza similares instaladas, tal vez vaya a sección 11.


Si la desinstalación falla por completo (no es posible ejecutarla), consulte las secciones 12 y 13 a continuación para una forma potencial de “deshacer“la instalación usando restauración del sistema y / o herramientas de limpieza.


1 – Using the original MSI

  • Si tiene acceso al MSI original utilizado para la instalación, simplemente puede botón derecho del ratón en Explorador de Windows y seleccione Desinstalar.
  • También puede desinstalar a través de la línea de comandos como se explica en la sección 3.

2 – Using the old ARP Applet OR new Windows 8/10 Settings Interface

  • Solo tengo que mencionar el (los) enfoque (s) normal (es) aunque es obvio

  • ARP = Add / Remove Programs Applet (appwiz.cpl)

  • Windows 10 Settings Interface => Nuevo shell para la misma operación

  • ARP:

    • Ir comienzocorrerappwiz.cplINGRESAR para abrir el subprograma para agregar / quitar programas (o haga clic en agregar / quitar programas en el panel de control)
    • Haga clic en “Eliminar“para el producto que desea desinstalar
  • Interfaz de configuración (Windows 8/10):

    • Utilice la nueva GUI de configuración en Windows 8/10
      • Clave de Windows + Toque I => Apps & Features. Seleccione la entrada y desinstale.
    • Atajo directo:
      • Clave de Windows + Toque R => Tipo: ms-settings:appsfeatures y presione Ingresar
    • Algunos informes de errores al invocar desinstalar de esta manera. Agregue comentarios a continuación si los ve.
      • Prueba esta respuesta también
      • Sugerencia general: intente deshabilitar el antivirus y vuelva a intentarlo.

3 – Using msiexec.exe command line (directly or via a batch file)

  • Puede desinstalar a través del símbolo del sistema (cmd.exe), archivo por lotes o incluso desde dentro de un ejecutable como un operación de shell.
  • Haces esto pasando el GUID del producto (compruebe a continuación cómo encontrar este GUID) o la ruta al archivo MSI original, si está disponible, para msiexec.exe.
  • Para todas las líneas de comando a continuación, puede agregar /qn para hacer que la desinstalación se ejecute en modo silencioso. Así es como se ejecuta una desinstalación cuando se activa desde el subprograma de agregar / quitar.

Opción 3.1: desinstalación interactiva básica (acceso al archivo MSI original):

msiexec.exe /x "c:filename.msi"

Opción 3.2: desinstalación interactiva básica a través del GUID del producto (sin acceso al archivo MSI original – aquí es cómo encontrar el GUID del producto – mismo enlace que a continuación):

msiexec.exe /x 11111111-1111-1111-1111-11111111111X

Opción 3.3: desinstalación interactiva con archivo de registro detallado:

msiexec.exe /x "c:filename.msi" /L*V "C:msilog.log"
msiexec.exe /x 11111111-1111-1111-1111-11111111111X /L*V "C:msilog.log"

Opción 3.4: Desinstalación interactiva con archivo de registro detallado y vaciado (opción detallada, vaciar al registro: escribir el registro de forma continua, puede ser muy lento):

msiexec.exe /x "c:filename.msi" /L*V! "C:msilog.log"
msiexec.exe /x 11111111-1111-1111-1111-11111111111X /L*V! "C:msilog.log"
  • La opción flush to log hace que la desinstalación sea lenta porque el archivo de registro se escribe continuamente en lugar de en lotes. Esto asegura que no se pierda ningún búfer de registro si la instalación falla.

  • En otras palabras, habilite esta opción si su configuración falla y no hay información útil en su archivo de registro detallado. Elimine el signo de exclamación para desactivar la opción de descarga para iniciar sesión y la desinstalación será mucho más rápida. Aún obtiene un registro detallado, pero como se indicó, se podría perder parte del búfer de registro.

Opción 3.5 (recomendada): desinstalación silenciosa con archivo de registro detallado: suprimir reinicios (no vaciar para registrar – vea la opción anterior para saber lo que esto significa):

msiexec.exe /x "c:filename.msi" /QN /L*V "C:msilog.log" REBOOT=R
msiexec.exe /x 11111111-1111-1111-1111-11111111111X /QN /L*V "C:msilog.log" REBOOT=R

Explicación rápida de parámetros (ya que recomiendo esta opción):

/X = run uninstall sequence
/QN = run completely silently
/L*V "C:msilog.log"= verbose logging at path specified
11111111-1111-1111-1111-11111111111X = product guid of app to uninstall
REBOOT=R = prevent unexpected reboot of computer

Nuevamente, cómo encontrar la guía del producto:

¿Cómo puedo encontrar el GUID del producto de una configuración MSI instalada? (para desinstalar si no tiene el MSI original para especificar en el comando de desinstalación).

  • Consejo superior: Si crea un archivo de registro para su desinstalación, puede localizar problemas en el registro buscando “valor 3”. Esto es particularmente útil para archivos detallados, porque son tan, bueno, detallados :-).

  • Cómo encontrar el GUID del producto para un MSI instalado?

    • Hay varias formas, mi forma recomendada es usar Powershell: ¿Cómo puedo encontrar el GUID del producto de una configuración MSI instalada?
    • Varias otras formas descritas aquí (registro, carpeta de caché local, etc.): Buscar GUID desde el archivo MSI
  • Más información sobre cómo iniciar sesión desde installsite.org: ¿Cómo creo un archivo de registro de mi instalación?? – gran descripción general de las diferentes opciones y también los detalles del registro de InstallShield.

  • Msiexec (opciones de línea de comandos) – descripción general de la línea de comando para msiexec.exe de MSDN. Aquí está la versión de Technet.


4 – Using the cached MSI database in the super hidden cache folder

  • MSI elimina todas las cabinas (versiones anteriores de Windows) y almacena en caché cada MSI instalado en una carpeta del sistema súper oculta en % SystemRoot% Installer (necesita mostrar archivos ocultos para verlo).
  • nótese bien: Esta carpeta super oculta ahora se trata de manera diferente en Windows 7 en adelante. Los archivos MSI ahora se almacenan en caché en tamaño completo. Lea el hilo vinculado para obtener más detalles: lectura recomendada para cualquier persona que encuentre esta respuesta y juegue con configuraciones peligrosas de Windows.
  • Evite estos enormes archivos almacenados en caché mediante el uso de instalaciones de administrador. Sobre el tema del espacio en disco: ¿Cómo puedo deshacerme de enormes archivos MSI almacenados en caché (y otros trucos de limpieza de espacio en disco)?
  • Todos los archivos MSI aquí tendrán un nombre aleatorio (formato hexadecimal) asignado, pero puede obtener información sobre cada MSI mostrando la barra de estado del Explorador de Windows (Ver -> Barra de estado) y luego seleccionando un MSI. El flujo de resumen del MSI estará visible en la parte inferior de la ventana del Explorador de Windows. O, como señala Christopher Galpin, active la columna “Comentarios” en el Explorador de Windows y seleccione el archivo MSI (vea este artículo para saber cómo hacer esto).
  • Una vez que encuentre el MSI correcto, simplemente haga clic derecho y vaya a Desinstalar.
  • También puede usar PowerShell para mostrar la ruta completa al paquete almacenado en caché local junto con el nombre del producto. Esta es la opción más sencilla en mi opinión.
  • Para encender Potencia Shell: mantenga presionada la tecla de Windows, toque R, suelte la tecla de Windows, escriba “powershell” y presione OK. Luego maximizar la ventana de PowerShell y ejecute el siguiente comando:
  get-wmiobject Win32_Product | Format-Table Name, LocalPackage -AutoSize

Ingrese la descripción de la imagen aquí

  • Consulte también esta respuesta: ¿Cómo puedo encontrar el GUID del producto de una configuración MSI instalada?

5 – UsingPowerShell

  • Hay un script de PowerShell similar, pero más completo, disponible en MSDN. Permite que la desinstalación se ejecute en varias máquinas.

  • Entrada agregada por Even Mien:

     $app = Get-WmiObject -Class Win32_Product -Filter "Name = 'YOUR_APP'"
     $app.Uninstall()
    
  • Este enfoque funcionará, pero acceder a la clase WMI Win32_Product activará un comprobación de la coherencia del software cual es muy lento y en circunstancias especiales puede causar una autorreparación de MSI para ser activado. Vea este artículo: Script de desinstalación de Powershell: tiene un verdadero dolor de cabeza

  • No lo he probado yo mismo, pero parece que $ app.Uninstall () puede ejecutar UninstallString registrado en la configuración de registro del subprograma ARP. Esto significa que puede ejecutar modificar en lugar de desinstalar en algunos casos.

  • Consulte este tema para obtener más detalles y formas de desinstalar a través de Powershell: ¿Cómo puedo desinstalar una aplicación usando PowerShell?


6 – Using the .NET DTF Class Library (parte del kit de herramientas de WiX)

  • Esta opción está incluida para los desarrolladores que se inician en la implementación y MSI. – No es realmente práctico como “solución rápida”. Requiere que descargues el kit de herramientas de WiX – un marco gratuito para crear archivos MSI compilados a partir de archivos fuente XML.
  • Una breve reseña sobre WiX y su “historia”: Windows Installer y la creación de WiX. Y aquí está WiX en contraste con otras herramientas de implementación (comerciales) – (fortalezas y debilidades – con suerte lo más objetivo posible).
  • DTF (Deployment Tools Foundation) se distribuye como parte de WiX como se explica aquí: ¿Está disponible el código fuente de Deployment Tools Foundation?
  • DTF es esencialmente un Contenedor de .NET para la API del instalador de Windows Win32. Elimina toda la necesidad de interoperabilidad COM cuando se trabaja con Windows Installer a través de la automatización y es nada menos que un Joya .NETquizás la biblioteca .NET más fácil de usar que he visto. Muy recomendable, ideal incluso para capacitar a estudiantes en C #.
  • La siguiente fuente del experto en MSI Christopher pintor usando C # y DTF. Microsoft.Deployment.WindowsInstaller es uno de los ensamblados DTF. Vea los otros ensamblados explicados aquí en serverfault.com:
    using Microsoft.Deployment.WindowsInstaller;

    public static void Uninstall( string productCode)
    
      Installer.ConfigureProduct(productCode, 0, InstallState.Absent, "REBOOT="R"");
    
  • Otra alternativa de Tom Blodget: Comprobación de una desinstalación correcta
  • Más información sobre msiexec.exe versus automatización sobre: serverfault.com.

7 – Using theWindows Installer Automation API

  • Aquí hay una discusión comunitaria de esta opción: Muestra de la comunidad de la API de automatización de Windows Installer

  • Se puede acceder a la API a través de automatización de scripts y llamadas a la API de C ++ (mi publicación en serverfault.com)

  • La siguiente fuente adaptada del experto en MSI Pintor christopher usando VBScript:

     Set installer = CreateObject("WindowsInstaller.Installer")
     installer.InstallProduct "product.msi", "REMOVE=ALL REBOOT=ReallySuppress"
     Set installer = Nothing
    
  • Aquí hay otro VBScript para desinstalar mediante GUID de Symantec: http://www.symantec.com/connect/downloads/uninstall-application-using-guid-registry

  • Desinstalar a través del código de actualización y ConfigureProduct.


8 – Using aWindows Installer major upgrade

  • Una actualización importante de Windows Installer puede ocurrir como parte de la instalación de otro archivo MSI.
  • Se crea una actualización importante mediante la identificación de productos relacionados en el MSI “Tabla de actualizaciónEstas configuraciones relacionadas se manejan luego como se especifica en la tabla. Generalmente eso significa que se desinstalan, pero la configuración principal también se puede abortar en su lugar (generalmente se usa para detectar versiones superiores de su propia aplicación presentes en la caja).

9 – Using Deployment Systems / Remote Administration Systems

  • SCCM, CA Unicenter, IBM’s Tivoli, Altiris Client Management Suite y varios otros
  • Estas herramientas cuentan con administración avanzada de PC cliente, y esto incluye la instalación y desinstalación de archivos MSI
  • Estas herramientas parecen utilizar una combinación de msiexec.exe, automatización, WMI, etc … e incluso su propia forma de invocar instalaciones y desinstalaciones.
  • En mi experiencia, estas herramientas tienen mucha “personalidad” y es necesario adaptarse a sus diferentes formas de hacer las cosas.

10 – Using WMI - Windows Management Instrumentation

  • Añadiendo solo para completar. Está no recomendado utilizar este enfoque, ya que es muy lento
    • A comprobación de la coherencia del software se activa cada vez Win32_Product se llama de cada instalación
    • La verificación de consistencia es increíblemente lentoy es también puede desencadenar una reparación de software. Vea este artículo: Script de desinstalación de Powershell: tiene un verdadero dolor de cabeza
    • Peor aún, algunas personas informan que sus registros de eventos se llenan con entradas MsiInstaller EventID 1035, aparentemente causadas por consultas WMI a la clase Win32_Product (personalmente, nunca he visto esto).
  • los WMICodeCreator.exe La herramienta de creación de código se puede utilizar para experimentar.
    • La instalación se puede invocar a través de Win32_Product.Install
    • La desinstalación se puede invocar a través de Win32_Product.Uninstall
  • Ejemplo de MSDN: método de desinstalación de la clase Win32_Product

11 – Using a third-party tool such asccleaneror similar

  • Varias aplicaciones de Windows cuentan con su propia interfaz para desinstalar no solo los paquetes MSI, sino también los instaladores heredados.
  • No quiero hacer recomendaciones de herramientas específicas aquí (especialmente las comerciales), pero el conocido CCleaner presenta una interfaz de desinstalación de este tipo (y tiene una versión gratuita). También debo agregar que esta herramienta sufrió un ataque de malware recientemente.
  • Supongo que todos deberíamos recordar que incluso el software inofensivo puede ser inyectado con malware en sus ubicaciones de descarga (ataque FTP).
    • yo suelo virustotal.com para comprobar mis descargas, y también Sysinternals Process Explorer para comprobar los procesos en ejecución después de la instalación, junto con el software de seguridad habitual (el que esté disponible).
    • Con este enfoque se suele encontrar una cantidad sorprendente de software de “zona gris” (barras de herramientas, emoticonos, adware, etc …), junto con varios falsos positivos (también pueden causar problemas ya que el software de seguridad bloquea su acceso o los pone en cuarentena haciendo un mucha pelusa). Y ciertamente también malware real.
    • Aquí se pueden encontrar algunos consejos de uso para Process Explorer – una serie de tweets – esta herramienta Process Explorer se conecta a VirusTotal.com para verificar todos los procesos en ejecución de forma interactiva – todo lo que necesita son unos pocos pasos de configuración.
    • Debo señalar que Process Explorer produce una verificación de firma de archivo, pero no heurística, hasta donde yo entiendo (no hay verificación de operaciones sospechosas, solo una verificación con más de 60 suites de seguridad para archivos marcados). Necesita una herramienta de seguridad habitual para la protección heurística interactiva en línea.
    • Por lo que vale, creo que algunos programas de seguridad rozan el límite de causar más problemas de falsos positivos que los que daña el malware. Famosas últimas palabras en la era de los rescates …
    • Esa es una digresión lo suficientemente grande, simplemente no quiero que la gente descargue malware. Haga su chequeo virustotal.com al menos.
  • Desinstalar así debería funcionar bien. Sin embargo, creo que estas herramientas se meten con demasiadas cosas cuando pruebas sus “funciones de limpieza”. Úselo con precaución. Si solo usa la función de desinstalación, debería estar bien.

12 – Using a cleanup tool such asmsizapor similar

  • Por completitud msizap.exe Debería mencionarse aunque es obsoleto, no admitido y anticuado. No debe usarse en ninguna versión más reciente de Windows
  • Esta herramienta de línea de comandos (msizap.exe) también tenía una GUI disponible (MSICUU2.exe). Ambas herramientas están desaprobadas.
  • El uso previsto de estas herramientas era limpiar desinstalaciones fallidas:
  • Generalmente para el raro caso en que el MSI almacenado en caché con el nombre aleatorio falta por error y la desinstalación falla por este motivo al solicitar el MSI original. Este es un problema poco común, pero yo mismo lo he visto. Solo algunas posibles causas: Movido a esta respuesta.
    • Palabras clave: interferencia de restauración del sistema, aplicaciones de limpieza defectuosas, fallas de msiexec.exe, corte de energía, interferencia de software de seguridad, errores de depuración de desarrollo de MSI (códigos de paquete idénticos, etc.), manipulación y piratería del usuario (¿qué hay aquí? Ahorre espacio ?), etc …
    • También podría usarse para eliminar cualquier instalación de MSI, aunque obviamente no es aconsejable.
    • Más información: ¿Por qué MSI requiere el archivo .msi original para continuar con la desinstalación?
  • Esta nueva herramienta de soporte (esta herramienta ahora también está en desuso) se puede probar en versiones recientes de Windows si tiene paquetes MSI desaparecidos que necesitan desinstalar.
  • Algunos han sugerido utilizar la herramienta vinculada aquí por saschabeaumont: Desinstalar sin un archivo MSI. Si lo prueba y funciona, asegúrese de hacérnoslo saber.
  • Si tiene acceso al MSI original que realmente se usó para instalar el producto, puede usarlo para ejecutar la desinstalación. Debe ser el MSI exacto que se utilizó, y no solo uno similar.

13 – Usingsystem restore("installation undo" - last resort IMHO)

  • Esta no es, estrictamente hablando, una forma de “desinstalar” sino “deshacer“la última instalación, o varias instalaciones para el caso.
  • Restaurar a través de un punto de restauración devuelve el sistema a un estado de instalación anterior (puede encontrar demostraciones en video de esto en YouTube o en un sitio similar).
  • Tenga en cuenta que la función se puede deshabilitar total o parcialmente; es posible deshabilitarla permanentemente para toda la máquina o ad hoc por instalación.
  • He visto problemas de instalación nuevos e irresolubles que resultan de una restauración del sistema, pero normalmente funciona bien. Obviamente, no use la función para divertirse. Es un último recurso y se utiliza mejor para reversión de nuevos controladores o configuraciones que se acaban de instalar y que causan problemas inmediatos (pantalla azul, reinicios, inestabilidad, etc.).
  • Cuanto más tiempo retroceda, más retrabajos creará para sí mismo y mayor será el riesgo. La mayoría de los sistemas cuentan con solo unos pocos puntos de restauración, y la mayoría de ellos se remontan a solo uno o dos meses, creo.
  • Tenga en cuenta que la restauración del sistema puede afectar Actualizaciones de Windows que luego debe volver a aplicarse, así como muchas otras configuraciones del sistema. Más allá de las molestias puras, esto también puede hacer que resurjan los problemas de seguridad y es posible que desee ejecutar una verificación de seguridad específica en las casillas de destino utilizando Analizador de seguridad de línea de base de Microsoft o herramientas similares.
  • Como mencioné la restauración del sistema, supongo que debería mencionar la función Última configuración buena conocida. Esta característica no tiene nada que ver con la desinstalación o la restauración del sistema, pero es la última configuración de arranque que funcionó o resultó en un sistema en ejecución. Puede usarse para que su sistema vuelva a funcionar si se muestra en azul o se detiene durante el arranque. Esto a menudo ocurre después de que se instala el controlador.

14 – Windows Installer Functions (C++)

Para completar, creo que deberíamos mencionar el núcleo de todo: la forma más detallada: las funciones de la API de Windows Installer de Win32. Estas son probablemente las funciones utilizadas por la mayoría, si no todos los otros enfoques enumerados anteriormente “bajo el capó”. Se utilizan principalmente en aplicaciones o soluciones que se ocupan directamente de MSI como tecnología.

Hay una respuesta en serverfault.com que puede ser de interés como resumen de los diferentes enfoques programáticos para la desinstalación (funciones de instalación de COM Automation, .NET, Win32).

A continuación, encontrará un fragmento de C ++ que muestra cómo desinstalar Orca, 10.1.17134.12 por código de producto mediante una llamada a la función MsiConfigureProductEx. Para desinstalar otro producto, reemplace el GUID especificado para prodcode con el de su producto. Para encontrar el código del producto, consulte esta respuesta: ¿Cómo puedo encontrar el GUID del producto de una configuración MSI instalada?

La desinstalación ocurrirá en modo GUI completo. Para ejecutar en modo silencioso o en algún otro modo GUI (reducido, básico, etc.), consulte la función: MsiSetInternalUI.

#include "pch.h"

#define WIN32_LEAN_AND_MEAN //Minimize includes from Windows.h
#include 
#include  // Windows Installer
#include  

#pragma comment(lib, "msi.lib") // To make code link

int main()

    const TCHAR noreboot[] = _T("REBOOT=ReallySuppress");
    const TCHAR prodcode[39] = _T("D7B80ABC-1950-37B8-F851-C3783EED9C93"); // Orca, 10.1.17134.12

    UINT res = MsiConfigureProductEx(prodcode, INSTALLLEVEL_DEFAULT, INSTALLSTATE_ABSENT, noreboot);

    return res; // Error Codes: https://msdn.microsoft.com/en-us/library/windows/desktop/aa376931(v=vs.85).aspx

El fragmento se creó y probó con la última versión de Visual Studio 2017 a septiembre de 2018:

  1. Cree una nueva “Aplicación de consola de Windows” desde Visual C ++ => Escritorio de Windows.

  2. Copie y pegue el código anterior en su archivo CPP principal (reemplazando lo que esté allí).

  3. Eso debería ser para poder ejecutar el código. Tal vez establezca un punto de interrupción, compile y ejecute.

    • Tenga cuidado con los cambios en las plantillas predeterminadas en VS2017 y los errores extraños que pueden resultar: hay demasiados errores para que el motor IntelliSense funcione correctamente.
    • ACTUALIZACIÓN Septiembre 2018: Las plantillas han cambiado de nuevo. Ya no veo el problema anterior.
    • El vínculo MSDN en el código enumera los posibles mensajes de error devueltos por msiexec.exe.

Respuesta corta: no puedes. Utilice MSIEXEC / x

Respuesta larga: cuando ejecuta el archivo MSI directamente en la línea de comando, todo lo que sucede es que ejecuta MSIEXEC por usted. Esta asociación se almacena en el registro. Puede ver una lista de asociaciones (en el Explorador de Windows) yendo a Herramientas / Opciones de carpeta / Tipos de archivo.

Por ejemplo, puede ejecutar un archivo .DOC desde la línea de comandos y WordPad o WinWord lo abrirán por usted.

Si busca en el registro bajo HKEY_CLASSES_ROOT.msi, verá que los archivos .MSI están asociados con el ProgID “Msi.Package”. Si miras en HKEY_CLASSES_ROOTMsi.PackageshellOpencommand, verá la línea de comandos que Windows usa realmente cuando “ejecuta” un archivo .MSI.

También recuerde que se puede iniciar una desinstalación usando el comando WMIC:

wmic product get name -> Esto enumerará los nombres de todas las aplicaciones instaladas

wmic product where name='myappsname' call uninstall -> esto desinstalará la aplicación.

valoraciones y comentarios

Al final de todo puedes encontrar las ilustraciones de otros creadores, tú de igual forma eres capaz dejar el tuyo si te apetece.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *