Cómo actualizar automáticamente el software gratuito con Chocolatey

Tienes aplicaciones en tu computadora como Spotify , Adobe Reader , Chrome , Firefox , 7-Zip , VLC Media Player... la lista(VLC Media Player…the list) continúa y todas son gratuitas. ¿Qué haríamos sin el software libre(freeware) ? Sin embargo, estas aplicaciones requieren actualizaciones frecuentes para solucionar los agujeros de seguridad e introducir funciones nuevas y útiles. Las actualizaciones nunca suceden en un momento conveniente.

Ahí es donde entra en juego Chocolatey . Utilice la aplicación gratuita Chocolatey para mantener su software actualizado. Es fácil, rápido, simple y ¿mencionamos gratis? Parece(Seems) demasiado bueno para ser verdad, pero lo es. Pero, ¿qué es Chocolatey ?

¿Qué es Chocolatey?

Si no ha hecho nada en la línea de comandos de Windows(Windows command line) , PowerShell o la línea de comandos de Linux(Linux command line) , el concepto de Chocolatey puede ser un poco extraño. Chocolatey es un programa a nivel de máquina que lo ayuda a administrar el software(manage software) .

A nivel de máquina, lo que significa que no hay una interfaz gráfica de usuario(user interface) que lo ayude a hacer las cosas. Todos los comandos deben ser escritos. ¡No dejes (Don)que(t let) eso te asuste ! Si puedes escribir palabras, puedes dominar esto.

¿Cómo instalo Chocolatey?

Hay un par de cosas que Chocolatey necesita para funcionar. Cuando un programa necesita otros programas de las funciones de Windows para funcionar, esos programas necesarios se denominan dependencias. Las dependencias de Chocolatey son las que debes usar al menos:(Chocolatey)

  • Windows 7 o más reciente
  • PowerShell versión 2 o posterior
  • .NET Framework 4 o más reciente
  • Además, debe tener acceso de administrador(administrator access) en su computadora

Si tiene Windows 7 o posterior, ya tiene PowerShell versión 2(PowerShell version 2) o posterior. Si no está seguro de tener .NET Framework 4 , no se preocupe. Al instalar Chocolatey , si no tiene .NET 4, Chocolatey lo instalará por usted.

Abra PowerShell escribiendo PowerShell en el cuadro(PowerShell) de búsqueda del menú Inicio(Start Menu) . Debería ver un resultado llamado Aplicación de Windows PowerShell(Windows PowerShell App) .

Haga clic derecho en eso y seleccione Ejecutar como administrador(Run as Administrator) . Hacer esto se conoce como ejecutar PowerShell en una instancia elevada(elevated instance) . Se eleva a los privilegios del Administrador. Se abrirá la ventana de PowerShell(PowerShell window) .

En la ventana de PowerShell(PowerShell window) , escriba o copie(type or copy) y pegue el comando:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

La parte Set-ExecutionPolicy Bypass -Scope Process -Force le dice a PowerShell que no desea aplicar la política de ejecución restringida solo para lo siguiente. PowerShell , de forma predeterminada, solo permitirá que se ejecuten los procesos firmados. Es la configuración de seguridad(security setting) más alta . Pero necesitamos ejecutar este proceso no firmado de instalación de Chocolatey .

La iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’)) del comando le dice a PowerShell que vaya al sitio web de Chocolatey(Chocolatey website) , descargue la instalación .ps1 y ejecútelo. Esa es la parte que realmente instala Chocolatey .

Verás pasar volando un montón de texto(text fly) . Siéntete(Feel) libre de regresar y leerlo para que sepas lo que acaba de suceder. Al final, sugiere que ejecute el comando choco /? para ver una lista de funciones. Esa es una buena manera de asegurarse de que su instalación funcionó. Continúe y ejecute ese comando.

Pasará volando otra pila de texto, que también es bueno para leer y comprender. Al final, si su instalación de Chocolatey funcionó, verá algo como lo siguiente, donde la parte verde enumera la versión que acaba de instalar.

Instalación de software con Chocolatey

Echemos un vistazo rápido a la instalación de software con Chocolatey antes de actualizar el software con él.

Vaya a la página https://chocolatey.org/packages para navegar por el software que está disponible a través de Chocolatey . Verá que se denominan paquetes.

Encuentre un paquete que le gustaría instalar. Para este ejemplo, usaremos Malwarebytes Anti-Malware . Siempre es bueno tener Malwarebytes en tu computadora.

En una instancia elevada de PowerShell , use el comando choco install malwarebytes . Eso es todo. La instalación comenzará. Se detendrá con el siguiente texto:

Si se siente cómodo permitiendo que Chocolatey administre su software, entonces, cuando termine esta instalación, debemos usar el comando choco feature enable -n allowGlobalConfirmation para que podamos automatizar las instalaciones y actualizaciones en el futuro. Por ahora, usemos A para completar la instalación.

Verás que Malwarebytes se está descargando y luego comienza a instalarse.

En aproximadamente un minuto, Malwarebytes se descargará e instalará sin más trabajo para usted.

Actualizar software con Chocolatey

Ahora que tenemos algún software instalado, podemos intentar actualizarlo con Chocolatey . Una vez más(Again) , necesita abrir PowerShell como administrador(Administrator) . Luego puede ejecutar el comando choco upgrade malwarebytes .

Eso hará que Chocolatey salga a ver si hay una actualización y luego la actualice. Acabamos de instalar Malwarebytes, por lo que mostrará que se actualizaron cero de uno de los paquetes. Eso está bien.

Si ha instalado varios paquetes con Chocolatey , puede actualizarlos todos con un comando de una línea: choco upgrade all -y .

Eso es tan difícil como se pone. Ahora, lo que debemos hacer para actualizar automáticamente el software con Chocolatey es hacer que ese comando se ejecute de alguna manera en un horario.

Actualización automática de software(Update Software) con Chocolatey

El siguiente paso lo puede hacer usando el Bloc(Notepad) de notas de Wither o PowerShell ISE ( entorno de secuencias de comandos integrado(Integrated Scripting Environment) ). Haremos este ejemplo usando el Bloc(Notepad) de notas , ya que no todas las versiones de Windows tienen PowerShell ISE .

Abra el Bloc de notas. Copie el comando choco upgrade all -y en el Bloc de notas.

Guárdelo como secuencia de comandos de PowerShell(PowerShell script) nombrándolo algo así como upgrade-ChocoPackages.ps1 . La extensión .ps1 le dice a Windows que se trata de un  script de PowerShell(PowerShell script) .

Cambie el tipo de archivo de Text Documents (*.txt) a All Files (*.*).Si no lo hace , Windows actualizará ChocoPackages.ps1.txt(upgrade-ChocoPackages.ps1.txt) y pensará que es solo un archivo de Bloc de notas(Notepad file) .

Windows viene con una gran función llamada Programador de tareas(Task Scheduler) . El usuario doméstico(home user) promedio probablemente no lo sepa, pero el Programador de tareas(Task Scheduler) es la característica que ya hace que muchas cosas se ejecuten de manera regular.

En el menú Inicio, busque(Start Menu search) en el Programador de tareas(Task Scheduler) . Haga clic(Click) en él cuando aparezca como resultado.

Cuando se abra el Programador de tareas , haga clic en (Task Scheduler)Biblioteca del Programador de tareas(Task Scheduler Library) en el área superior izquierda de la ventana. Esto le mostrará todas las tareas programadas configuradas actualmente en su computadora.

En el panel Acciones(Actions) en el área superior derecha, haga clic en Crear tarea…(Create Task…) . Create Basic Task no(Create Basic Task isn) es adecuado para esta situación, ya que usaremos declaraciones de argumentos más adelante.

En la ventana que se abre, en la pestaña General , asigne a la tarea un nombre como Choco Actualizar todo(Choco Upgrade All) y luego una Descripción(Description ) como Actualiza todo el software instalado por Chocolatey( Updates all software installed by Chocolatey) . Si su cuenta de usuario(user account) actual no es una cuenta de administrador(administrator account) en su computadora, use el botón Cambiar usuario o grupo(Change User or Group) para seleccionar la cuenta de administrador(Administrator account) .

También necesitará saber la contraseña de la cuenta de administrador . (Administrator account)Asegúrese(Make) de que Ejecutar si el usuario ha iniciado sesión o no(Run whether the user is logged on or not) está seleccionado. Esto permitirá que el script se ejecute incluso si no está en su computadora y tendrá todos los privilegios que necesita para hacer el trabajo.

La pestaña Desencadenadores(Triggers) es donde le dices a la tarea cuándo quieres que se ejecute. Para esto, una vez a la semana debería ser suficiente. En nuestro ejemplo, está configurado para ejecutarse todos los domingos(Sunday) a la 1:00 a. m. Elija un momento en el que probablemente no esté usando su computadora para obtener el mejor rendimiento.

Se recomienda marcar también Detener la tarea si dura más de:(Stop the task if it runs longer than:) y cambiar la duración a 2 horas. Puedes ajustar eso como quieras. Para permitir que se aplique el disparador, debe marcar la casilla Habilitado(Enabled) en la parte inferior.

Vaya a la pestaña Acciones(Actions) y le diremos a la tarea lo que queremos que haga. La Acción(Action) se establecerá de forma predeterminada en Iniciar un programa(Start a program) . Eso es lo que queremos, así que déjalo. En el campo Program/script , escriba powershell.exe. Esto le permite a Windows saber que va a ejecutar un script de PowerShell(PowerShell script) .

En el campo Agregar argumentos(Add arguments) , ingrese los siguientes argumentos.

-noprofile : esto evita que se ejecuten los scripts de perfil de PowerShell(PowerShell profile) y le indica que solo ejecute el script que desea.

-ExecutionPolicy Bypass : si no está seguro de si se habilitó la ejecución del script, es bueno tener esto en los argumentos. Se asegurará de que el script se ejecute.

-file : este es el argumento que le dice al Programador de tareas que lo que sigue a continuación es la ruta al archivo que queremos que ejecute PowerShell . En nuestro ejemplo, el script se guardó en C:\Scripts\upgrade-ChocoPackages.ps1 . Puede ser diferente en su computadora, así que ajústelo en consecuencia. Si la ruta a su archivo tiene nombres con espacios en ellos, deberá poner la ruta completa entre comillas.

El argumento completo se verá como -noprofile -executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1

En la pestaña Condiciones(Conditions ) , hay más opciones que podemos configurar sobre cómo se ejecutará el script. Míralos para ver cuáles te gustaría aplicar. Para este ejemplo, está configurado para Iniciar la tarea solo si la computadora está conectada a la alimentación de CA(Start the task only if the computer is on AC power) y Detener si la computadora cambia a la alimentación de la batería(Stop if the computer switches to battery power ) para garantizar que no se esté agotando la batería.

Wake the computer to run this task está seleccionado para garantizar que la tarea se ejecute, ya sea que la computadora esté en modo de suspensión o no.

En la pestaña Configuración , se recomienda marcar la casilla (Settings )Permitir que la tarea se ejecute bajo demanda(Allow task to be run on demand) , para que podamos probar manualmente la tarea cuando hayamos terminado. Las selecciones predeterminadas para el resto están bien.

Haga clic en Aceptar(OK) para terminar de crear la tarea programada. Debería aparecer una ventana con el nombre del usuario que seleccionó en la pestaña General. Debe introducir la contraseña del usuario y hacer clic en (user and click) Aceptar(OK) . Esto le dice a Windows que, de hecho, tiene la autoridad para ejecutar la tarea.

Ahora está de vuelta en la ventana principal del Programador de tareas(Task Scheduler window) . Encuentra tu nueva tarea. Haga clic con el botón derecho en la tarea y seleccione (task and select) Ejecutar(Run ) para probarla.

No verá que suceda nada significativo, excepto que el estado de la tarea cambiará a En ejecución(Running) . En aproximadamente un minuto, debería ver que el Tiempo de última ejecución(Last Run Time ) también cambia a la marca de tiempo cuando comenzó a ejecutar la tarea.

Si no recibió ningún mensaje de error, la tarea debería estar bien. Cierra la ventana del Programador de tareas(Task Scheduler window) y no te preocupes por tener que actualizar manualmente cualquier software que hayas instalado con Chocolatey nuevamente.

¡Todo listo!

Puede parecer mucho trabajo configurar esto. Considere esto: le tomó entre 10 y 30 minutos configurarlo. Si está utilizando esto para actualizar 10 programas, y cada programa tarda aproximadamente 6 minutos en pasar por el proceso de actualización cada mes, se ha ahorrado entre 30 y 50 minutos.

Ya estás adelantado en el tiempo ahorrado. En el transcurso de un año, eso podría ser de 6 a 10 horas de tiempo ahorrado. Eso no incluye el tiempo ahorrado al saber cómo usar Chocolatey para instalar programas en uno o dos minutos en lugar de 10 o 15 minutos.



About the author

Soy ingeniero de windows, ios, pdf, errores, gadgets con más de 10 años de experiencia. He trabajado en muchas aplicaciones y marcos de trabajo de Windows de alta calidad, como OneDrive for Business, Office 365 y más. Mi trabajo reciente ha incluido el desarrollo del lector de pdf para la plataforma Windows y trabajar para que los mensajes de error sean más claros para los usuarios. Además, he estado involucrado en el desarrollo de la plataforma ios durante algunos años y estoy muy familiarizado con sus características y peculiaridades.



Related posts