KB20: Usar Ketarin para mantener paquetes de instalación actualizados

Ketarin es una pequeña aplicación que actualiza automáticamente los paquetes de instalación de programas. A diferencia de otras herramientas, Ketarin no se supone que mantiene su sistema al-día, sino que mantiene una compilación de todos los paquetes importantes de instalación de programas para que puedan ser grabados en un disco o colocados en una memoria externa USB.

Visite también nuestro forum de soporte con recursos de gran ayuda sobre este tema en: http://ketarin.canneverbe.com/forum

Ejemplo 1: Control de las Actualizaciones de CDBurnerXP

Si un paquete de instalación de software, como el de CDBurnerXP, siempre está disponible para su descarga desde una URL fija que señala automáticamente a la versión más reciente, es muy simple mantenerlo actualizado localmente.

Añadir una nueva aplicación, introduzca un nombre e indique su URL. CDBurnerXP puede ser descargado siempre desde http://cdburnerxp.se/downloadsetup.exe, así que ésto es lo que vamos a usar en este ejemplo. Como el nombre del archivo descargable puede variar (ya que incluye el número de versión), guárdelo en una carpeta de forma que su nombre de archivo se use en vez de un nombre siempre fijo. Usted probablemente deseará también borrar los archivos descargados previamente, para no mantener guardados archivos de *todas* las versiones de CDBurnerXP.

Usted también puede usar la URL contenida en un archivo PAD como URL de dascarga (por ejemplo http://cdburnerxp.se/rss/padfile.xml). Ketarin entonces extraerá automáticamente la URL actual de descarga desde los datos contenidos en el archivo PAD. Asegúrese de todas formas que el archivo PAD se mantiene actualizado por parte del autor del programa.

Ejemplo 2: Control de la Actualización de un paquete de instalación desde filehippo.com

FileHippo es un sitio web que se actualiza con mucha frecuencia, y que lista toda clase de paquetes de instalación de programas. También proporciona una oportunidad muy provechosa de descargas. Ketarin puede hacer uso de esa información.

En este caso, usemos SmartFTP en este ejemplo. De la misma forma que en el ejeplo 1, añada una nueva aplicación introduciendo su nombre. Sin embargo, en vez de una URL, however, copie y pegue la URL de SmartFTP existente en filehippo.com (http://www.filehippo.com/download_smartftp/) en el campo de texto de FileHippo ID. Así se extraerá automáticamente el ID correspondiente desde el mismo. Como el nombre del archivo a descargar también puede variar en éste caso, elija también un directorio de localización para el nuevo archivo a descargar.

Example 3: Control para Firefox

Usar FileHippo es muy conveniente, sin embargo, en FileHippo solamente se relacionan paquetes de instalación en idioma inglés. Así que si usted quiere, por ejemplo, controlar las versiones en español de Firefox no puede usar FileHippo. Además, no existe una URL fija de descarga para Firefox.

Así pues, …¿qué debemos hacer?. Primeramente descarguemos la versión deseada de Firefox desde http://www.mozilla.com/en-US/firefox/all.html. Una vez que la descarga ha comenzado, determinemos la localización desde donde se está descargando. Dependiendo del navegadorque usted esté usando, posiblemente pueda hacer clic con el botón derecho del ratón en la descarga activa y seleccionar “Show source URL” o “Copy source URL to clipboard”. La URL actual puede ser la siguiente, por ejemplo:

http://mozilla.jiddernet.se/firefox/releases/3.0.1/
win32/es-ES/Firefox%20Setup%203.0.1.exe

Partiendo de ésta URL, usted probablemente podrá imaginar que solamente tendrá que cambiar el numero 3.0.1 con el nuevo número de versión tan pronto como esté disponible una nueva actualización de Firefox. Así que usemos lo siguiente como URL:

http://mozilla.jiddernet.se/firefox/releases/{version}/
win32/es-ES/Firefox%20Setup%20{version}.exe

Ahora solamente tenemos que definir desde dónde tenemos que obtener la {version}. Para averiguarlo, oprima sobre el botón de Variables al lado de la URL.

Oprima Enter o el botón de +-. Introduzca la “version” (sin las comillas) como nombre. En “Contents of URL” introduzca http://www.mozilla.com/en-US/firefox/all.html. Oprima Load. En el campo inferior, introduzca “español” y oprima Find. Desplácese hacia abajo un poco si es necesario, hasta que vea:

<td class="curVersion" >3.0.1</td>

Parece que aquí tenemos una buena porción del sitio para extraer el número de la más reciente versión. Seleccione eltexto antes de 3.0.1 y oprima “Use selection as start”, entonces seleccione el texto que hay después de 3.0.1 y oprima “Use selection as end”. Ahora 3.0.1 debe estar escrito con una fuente en “negrita”, con un texto en color rojo antes, y un texto en color azul después.

Para “start selection”, Ketarin siempre usará la primera ocurrencia en la cadena de texto, y para “end selection” usará la primera ocurrencia después de la “start selection”.

Oprima OK. Ahora Ketarin siempre reemplazará {version} en la URL con el número de versión escrito en el sitio web, que deberá coincidir con mucha probabilidad con una URL de descarga válida.

Introduzca el resto de la información (path para guardar, opciones) y oprima OK.

Comandos

En la pestañade “Commands” de cada aplicación usted puede introducir un comado que se ha de ejecutar antes o después de cada actualización. Ésto es útil para hacer UNZIP de paquetes contenidos en un archivo ZIP, análisis de virus, instalaciones en background y otros propósitos. Usted también puede especificar un comando predefinido para una aplicación en la configuración correspondiente.

De forma predefinida, Ketarin espera que cada comando se complete antes de proseguir con la próxima descarga. Si usted no desea que se realice así, puede poner un símbolo “&” al final de cada comando para que se siga ejecutando en background. Si usted desea especificar múltiples comandos, puede conectar cada uno con el siguiente usando “&&” de la forma siguiente “copy {$file} … && del {file}”. También puede desactivar temporalmente un comando añadiendo “rem” al comienzo.

Variables especiales

Additional to the user defined variables, you can use these predefined ones:

Nombre Contenido Ejemplo
{file} Localización del archivo descargado (solamente para comandos)
Recuerde encerrar esta variable entre dobles comillas (“) si el path contiene espaciados.
c:\…\x.exe
{filesize} Tamaño del archivo descargado en bytes 1482245
{root} Raíz donde comienza el inicio del path de la aplicación c:\
{category} Categoría de la aplicación Security
{appname} Nombre de la aplicación Ketarin
{appguid} GUID de la aplicación {AC1DB…}
{url:ext} Extensión del archivo que es descargado exe
{url:basefile} Nombre de archivo básico del archivo que es descargado Ketarin-0.9

Las siguientes variables pueden ser usadas tanto de la forma (por ejemplo {dd}) o como {f:dd}. La última de el caso anterior se refiere a la fecha del archivo descargado, en vez de la fecha del sistema local.

{dd} Día 10
{ddd} Nombre del día Tue
{dddd} Nombre completo del día Tuesday
{hh} Hora con 2 dígitos 10
{HH} Hora con 2 dígitos (24h) 22
{mm} Minutos 00-59 10
{MM} Mes 01-12 10
{MMM} Abreviatura del mes Oct
{MMMM} Nombre completo del mes December
{ss} Segundos 00-59 10
{tt} AM o PM PM
{yy} Año, 2 dígitos 06
{yyyy} Año, 4 dígitos 2006
{zz} Offset de Zona horaria, 2 digits -05
{zzz} Offset de Zona horaria, 4 digits -05:00

Más sobre variables: Funciones

Algunas veces usted puede necesitar un valor de una variable con una ligera modificación. Para tales casos, usted puede usar un grupo de fnciones respecto a las variables (puede sugerir libremente cualquier otra). Entonces, se usan de la forma siguiente: {variablename:function:argument1:argument2}

Nombre Descripción
directory Extrae el nombre de un directorio de un URL/file path
empty Hace que la variable retorne una cadena siempre vacía
ext Extrae la extensión del archivo (sin el punto) de un URL/file path
formatfilesize Formatea un tamaño de archivo (dado en bytes)
regex Retorna el valor que coincide con la expresión regular (primer argumento). Si existen grupos, usted también puede seleccionar el valor de un grupo con el segundo argumento. 0 es la coincidencia completa, 1 el primer grupo, 2 el segundo grupo, y así sucesivamente.
regexreplace Reemplaza el contenido que coincide con la expresión regular (primer argumento) con el segundo argumento. El segundo argumento puede contener $n como referencias a los grupos de la expresión regular.
replace Reemplaza todas las ocurrencias del argument1 con argument2
trim Elimina todos los espacios en blanco al principio y al final de una variable. Si se ha proporcionado un argumento, todos los caracteres de esa cadena serán eliminados.
trimstart Igual que trim, pero solamente para el principio de una palabra
trimend Igual que trim, pero solamente para el final de una palabra
toupper Solamente saca caracteres en mayúsculas
tolower Solamente saca caracteres en minúsculas
split Divide el contenido de la variable en cada ocurrencia del primer argumento y retorna la parte de la cadena con el número especificado en el segundo argumento (basado en cero)
startuppath Retorna el path de inicio de la instancia actual de Ketarin (sin el archivo exe)

La columna personalizada

Si usted oprime con el botón derecho del ratón en la cabecera de la lista visualizada, podrá activar una columna adicional denominada “Custom value” (por supuesto, tambien podrá ocultar las que están visualizadas). Si se activa, esa columna contendrá el valor de una variable específica, por ejemplo el número de la versión. Usted puede definir en el diálogo de configuración cuál es la variable que se usará aquí. Observe que ésto solamente funcionará si la variable está actualmente definida para una aplicación.

Opciones de Línea de Comandos

Usted también puede ejecutar Ketarin desde una línea de comandos. Éstos son los argumentos disponibles:

/database=FILENAME Inicia Ketarin con la base de datos especificada
/export=FILENAME Exporta la base de datos completa de Ketarin como XML a la localización indicada
/log=FILENAME Al salir, Ketarin guarda el registro de eventos como archivo en la localización especificada
/notify (adicional a /SILENT) Ketarin presentará un icono en la barra de tareas
/silent No se presenta ninguna GUI y Ketarin actualiza todas las aplicaciones disponibles

Plantillas

Una plantilla de una aplicación es básicamente una aplicación menos alguna información. Por ejemplo, no hay GUID anexionada a la aplicación, así que usted podrá importar una plantilla múltiples veces. Típicamente, una plantilla le permite descargar una aplicación de su elección desde un sitio web que ofrece muchísimas descargas en la misma página.

Si usted desea compartir plantillas de aplicaciones, puede exportar una aplicación existente como plantilla eligiendo “Application Template” como tipo de archivo de salida para File –> Export. Después de ello, usted puede añadir 'placeholders' manualmente al XML exportado. Cuando un usuario importa una plantilla de una aplicación con 'placeholders', se le solicitará que inserte los valores de los mismos.

Para añadir un 'placeholder', solamente ponga

<placeholder name="This will be shown to the user" />

al XML exportado. Usted puede añadir tantos como quiera. Al usuario solamente se le avisará una vez cuando existan múltiples 'placeholders' con el mismo nombre.

Portabilidad

Si usted considera aplicaciones portables .NET (que requiere el .NET framework), puede considerar también a Ketarin como portable. No se necesita una instalación, así que puede ejecutarlo desde cualquier sitio en que desee.

De forma predefinida, Ketarin creará un archivo de base de datos en %appdata%/Ketarin, así qque será una base de datos por-usuario. Usted también puede mover este archivo al path de la aplicación (donde se encuentra localizado Ketarin.exe), y entonces siempre usará la base de datos desde la localización de inicio, siendo así apropiado para memorias externas USB o elementos externos similares.