ClickOnce, actualizar una aplicación ‘on demand’

Una de las grandes características disponibles a partir de VS2005 fue la tecnología ClickOnce, que permitía distribuir aplicaciones de forma asombrosamente sencilla. Hoy no nos vamos a dedicar a explicar con detalle esta tecnología (supongo que muchos de vosotros ya la estaréis utilizando), si no que nos vamos a centrar en extender su funcionalidad para comprobar por código si existen nuevas versiones publicadas, y en caso afirmativo actualizar la misma. La verdad es que utilizar la API de ClickOnce está tirado, y nos permite hacer cosas tan chulas como esta: El código para comprobar si existen actualizaciones es el siguiente: … Continue reading ClickOnce, actualizar una aplicación ‘on demand’

Folder size: Primer contacto

Harto de buscar dónde se iba el espacio de mi disco duro, y con la sensación de que estaba malgastando un porrón de bytes (y os aseguro que no es en peliXculas), me puse a diseñar una herramienta que me mostrase lo que ocupa cada una de las carpetas de mi ordenador. De esto hace un par de días, y la verdad es que me he liado la manta a la cabeza 😛 y al final el resultado es este: Está enteramente escrito en C# 3.0 y aunque el funcionamiento es más sencillo que el mecanismo de un botijo (al … Continue reading Folder size: Primer contacto

Accediendo al directorio activo de la organización desde .NET (II)

En el post anterior vimos que en ocasiones nuestra aplicación deberá acceder a los datos que contiene el directorio activo de nuestra organización, ya sea para buscar elementos, validar credenciales, etc. Hoy nos centraremos en los objetos del framework que nos permiten realizar esto, empezando por el objeto WindowsIdentity, que nos acompaña desde la versión 1.0 del framework, y que representa un usuario de Windows. WindowsIdentity Representa un usuario de Windows. Dispone de un método GetCurrent() que devuelve una referencia al usuario de Windows que está ejecutando la aplicación y que por defecto será el usuario actual de Windows. En … Continue reading Accediendo al directorio activo de la organización desde .NET (II)

Acceder a la caché de Internet Explorer (V y final)

Éste es el último post de esta serie, en la cual se ha desarrollado un proyecto de ejemplo de cómo acceder a la caché de archivos temporales de Internet Explorer. De hecho, he aprovechado la excusa para montar un pequeño proyecto de ejemplo en el que poder enseñar varias cosas que tenía en mente y por falta de tiempo no podía postear. ASí pues en éste ejercicio hemos mostrado entre otras cosas cómo: Utilizar el API para acceder a los archivos temporales de Internet (post 1) Persistir objetos .NET en ficheros XML mediante serialización (post 2) Impersonar, para ejecutar temporalmente … Continue reading Acceder a la caché de Internet Explorer (V y final)

Acceder a la caché de Internet Explorer (IV)

En los dos primeros artículos pudimos ver los objetos del API de Windows que íbamos a usar para poder acceder a la caché de los archivos temporales de Internet, cómo persistir estos datos en formato XML, y finalmente cómo permitir que temporalmente nuestra aplicacación se ejecute con las credenciales de otro usuario, para poder realizar una serie de acciones que de otro modo no podría efectuar por falta de privilegios. Siguiendo con el objetivo de este ejercicio hoy vamos a encapsular la lógica de negocio de nuestra aplicación en forma de servicio de Windows, y éste va a encargarse de … Continue reading Acceder a la caché de Internet Explorer (IV)

Acceder a la caché de Internet Explorer (III)

Impersonation => RunAs En los dos primeros artículos pudimos ver los objetos del API de Windows que íbamos a usar para poder acceder a la caché de los archivos temporales de Internet, y como persistir estos datos en formato XML. Hoy vamos a usar Impersonation para ejecutar nuestra aplicación con otras credenciales de usuario, de este modo nos conectaremos a una ubicación remota a la cual sólo tienen permisos para conectarse los administradores. Supongamos que tenemos una ubicación similar a esta: \\RootDFS\Logs\IECacheQuery\ y que sólo los usuarios del grupo administradores pueden acceder a leer y modificar su contenido. Si nuestra … Continue reading Acceder a la caché de Internet Explorer (III)

Acceder a la caché de Internet Explorer (II)

:-/Hola de nuevo, Siento haber tardado más de lo previsto en publicar este post, pero hemos tenido un fallecimiento en la familia este fin de semana y todavía andamos un poco descolocados. De todos modos, siguiendo con el hilo del primer post de esta serie, vamos a ver como leer los valores de los archivos temporales de Internet (imágenes que son almacenadas en caché, cookies, sitios visitados, etc.). Para acceder al contenido de esta caché vamos a usar un par de llamadas al API de windows y vamos a guardar el contenido de estas consultas en un medio persistente para … Continue reading Acceder a la caché de Internet Explorer (II)

Acceder a la caché de Internet Explorer (I)

En algunos casos puede ser interesante acceder a la caché de navegación de Internet Explorer. Por ejemplo, para poder guardar un registro de los sitios que visitan los usuarios de nuestra organización sin tener que montar un ISA server o similar. Para ello, y como todavía no he encontrado nada implementado en el propio Framework, vamos a hacer uso de algunos elementos del API de Windows. Ese gran amigo que todavía nos sigue sacando las castañas del fuego algunas veces… 😀 El punto de partida: Cuando accedemos a la carpeta de archivos temporales de Internet, podemos eliminar el contenido o … Continue reading Acceder a la caché de Internet Explorer (I)