Aprenda a saber si el servicio de actualización de Windows está habilitado en el sistema o no.

Si está buscando una forma de verificar si Windows Update está habilitado o deshabilitado, puede usar WUAPILib de Windows. La API del Agente de Windows Update (WUA) es un conjunto de interfaces COM que permiten a los administradores y programadores del sistema acceder a Windows Update y Windows Server Update Services (WSUS). Se pueden escribir scripts y programas para examinar qué actualizaciones están disponibles actualmente para una computadora, y luego puede instalar o desinstalar actualizaciones. WUA es compatible a partir de Windows XP. WUA es compatible con el servidor a partir de Windows Server 2003.

En este artículo, le explicaremos cómo verificar si Windows Update está habilitado o no usando la dll de WUApiLib.

1. Agregue una referencia a wuapi.dll

Para utilizar la API del archivo dll mencionado, deberá agregarlo como referencia en su proyecto. Para hacer eso, haga clic derecho en su proyecto en el explorador de soluciones y haga clic en  Agregar referencias :

Referencias .net C #

En el cuadro de diálogo que aparece, haga clic en Examinar en la parte inferior:

Esto abrirá el navegador de archivos del sistema, busque el wuapi.dllarchivo en el C:\Windows\System32directorio y selecciónelo:

    Archivo wuapi.dll de Windows

    Confirme en el cuadro de diálogo del administrador de referencias:

    Confirme la referencia de la dll de WuAPILib en C #

    Y ahora tendrás la referencia al archivo. Sin embargo, verá una excepción en el código si su proyecto intenta incrustar el tipo de interoperabilidad, porque dado que .NET 4.0 permite que los ensamblados de interoperabilidad primarios (o más bien, los bits que necesita) se incrusten en su ensamblado para que pueda no es necesario implementarlos junto con su aplicación. Esto significa que la dll estará disponible en todos los sistemas en los que se pueda implementar su aplicación, ya que el archivo dll forma parte de Windows, por lo que para solucionar este problema deberá evitar que la dll se incruste en su aplicación. Para hacer esto, simplemente abra las Referencias del proyecto en el explorador de soluciones, busque WUApiLib y en el área de propiedades configure la propiedad Incrustar tipos de interoperabilidad en False:

    Tipos de interoperabilidad de inserción deshabilitados de C #

    Si no lo hace, verá la excepción "El tipo de interoperabilidad 'WUApiLib' no se puede incrustar. Utilice la interfaz correspondiente cuando intente escribir algún código con esta API. Una vez que se haya hecho referencia a esta DLL sin incrustarla, están listos para usarlo!

    2. Verifique si Windows Update está habilitado / deshabilitado

    Ahora que tiene acceso al wuapi.dllen su proyecto, simplemente inclúyalo en su código usando WUApiLib y verifique el estado de Windows Update con la siguiente lógica:

    // Accede a wuapi.dll con el espacio de nombres en C#
    using WUApiLib;
    
    AutomaticUpdatesClass AUC = new AutomaticUpdatesClass();
    bool isWUEnabled = AUC.ServiceEnabled;
    
    if (isWUEnabled)
    {
        Console.WriteLine("Windows Update is Enabled");
    }
    else
    {
        Console.WriteLine("Windows Update is Disabled");
    }

    La propiedad ServiceEnabled indica si todos los componentes que requieren Actualizaciones automáticas están disponibles.

    Que te diviertas ❤️!


    Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

    Conviertete en un programador más sociable

    Patrocinadores