jueves, junio 26, 2008

Generado Boletín de Noticias de Junio de INETA Latam

Estamos en mitad de año y es hora de plantearse algunas preguntas... así que los invito a revisar el boletín de noticias de Ineta Latam de este mes y empezar a plantearse que podemos hacer para el siguiente semestre como comunidad.

martes, mayo 20, 2008

Who's Locking? v1.3

Llevaba varios días sin escribir, he estado algo ocupado, pero ya estoy de regreso. Justo hoy estaba haciendo unas instalaciones y me encontré con algo que menudo a muchos seguro les ha pasado y es que al tratar de hacer una instalación, reparando o eliminando una existente (o eliminando un archivo, folder u otro) esta no logra realizarse correctamente debido a que algún archivo está bloqueado o siendo usado por algún proceso.
Así que aquí les dejo dos opciones:
1. Usar el siguiente comando de consola: tasklist /m thelocked.dll
2. Descargar la siguiente aplicación: WhoSLockingKit

lunes, abril 14, 2008

Webcast: Actualizando aplicaciones con ClickOnce a través de DDay.Update

ClickOnce como tecnología de deployment de aplicaciones nos brinda un entorno ideal para la instalación y actualización. Pero en ciertas ocasiones es bueno utilizar los beneficios de los paquetes de instalación convencionales para algunos procesos de instalación. El propósito de este webcast es mostrarles como la librería de clases DDay.Update nos brinda la posibilidad de aprovechar la filosofía de actualización de ClickOnce y combinarla con los paquetes de instalación tradicionales. registro...

Ya está disponible en MSDN MediaCenter mi webcast on-demand: Agregando prerrequisitos personalizados a Visual Studio 2005 con el Bootstrapper Manifest Generator (BMG). ver...

domingo, abril 06, 2008

Webcast: Agregando prerrequisitos personalizados a Visual Studio 2005 con el BMG

A menudo nos topamos con aplicaciones que requieren de ciertos requerimientos para su correcto funcionamiento, cuando se realiza el deployment de una aplicación con ClickOnce a través de Visual Studio 2005, solo contamos con un listado definido de prerrequisitos. El propósito de este webcast es mostrarles como utilizar el Bootstrapper Manifest Generator (BMG) para agregar prerrequisitos al IDE de Visual Studio. registro...

Ya está disponible en MSDN MediaCenter mi webcast on-demand: Publicación y actualización de aplicaciones con ClickOnce manualmente a través de MAGE. ver...

Adicionalmente el material de los webcast (slides y ejemplos de código) ya está publicado para descargar.

jueves, abril 03, 2008

Webcast - Primero pasos con XNA y Game Studio 2.0

William Rivera (Willy) uno de mis mejores amigos y una de las nuevas promesas entusiastas en el desarrollo de video juegos, presentará el próximo miércoles 9 de abril de 2008 a las 11:00 a.m. (Bogotá) un evento donde se busca abordar los conceptos básicos que se deben tener en cuenta para desarrollar una aplicación de juego en XNA usando el Game Studio 2.0.
Pueden registrarse en la siguiente url: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032374566&EventCategory=4&culture=es-AR&CountryCode=AR

Webcast - Basic .NET vs C# .NET: ¿Cual es mejor y por qué?

Second Nug tiene el honor de presentar a dos ponentes de excepción, Guillermo Som (el Guille) y Marino Posadas (el Ave Fénix), en la que será una gran batalla donde dos voces con gran experiencia expondrán sus mejores bazas en un duelo sin igual: VB .NET vs C# .NET.
Sabremos por qué se decantaron por un lenguaje u otro y nos presentarán su evolución en las nuevas versiones del .NET Framework. Nos desvelaran secretos y trucos de sus defendidos y veremos si es cierto aquello de que lo que se puede hacer con uno, se puede realmente hacer con el otro.
Además los asistentes podrán resolver sus dudas preguntando a nuestros expertos y participar en el resultado final de la contienda.
El eterno dilema al descubierto. ¿Quién será el vencedor?

viernes, marzo 28, 2008

martes, marzo 25, 2008

lunes, marzo 17, 2008

Generado Boletín de Noticias de Marzo INETA Latam

He generado el boletín de noticias de INETA Latam del mes de Marzo, los invito que le den una mirada y adicionalmente a que se unan a esta gran comunidad.
http://www.inetalatam.org/Boletin/2008/Marzo/INETALatam%20Boletin%2003-2008.htm

miércoles, marzo 12, 2008

Listo el artículo

Luego de prometerle por más de un año a muchos de mis amigos que escribiría un articulo, me he puesto las pilas, saque pantalla y teclado, busque un tema que me apasiona (ClickOnce) y empecé a elaborarlo. Pues fruto de eso se ha publicado mi primer articulo en la revista técnica de Ineta Latam de este mes (http://www.inetalatam.org/Revista/Revista.aspx).
La otra noticia es que también uno de mis buenos amigos William Rivera (Willy - http://mygamingnotes.blogspot.com/) ha también publicado un artículo muy bueno acerca de como empezar con el desarrollo de juegos con XNA y Game Studio 2.0.

jueves, marzo 06, 2008

Líder del comité del boletín de noticias - INETA Latam

Es grato para mí comunicarles que a partir de este mes INETA Latam (http://www.inetalatam.org/) me ha dado la oportunidad de ser parte de su gran familia participando como Líder del comité del boletín de noticias (http://www.inetalatam.org/Voluntarios.aspx). En próximos días estaré generando el boletín y les informaré el sitio donde pueden visualizarlo.

Webcast ClickOnce

Para todos aquellos que quieren conocer como se desarrolla el deployment de aplicaciones a través de ClickOnce, desde el próximo 25 de Marzo de 2008 en colaboración con MSDN daré inicio a una serie de Webcast para explorar esta tecnología y mostrar con ejemplos prácticos la utilidad de esta para llevar a producción nuestras aplicaciones. Ya puedes regustrarte en la siguiente URL: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032372124&EventCategory=4&culture=es-AR&CountryCode=AR

La serie de Webcast que presentare es la siguiente:
1. Publicación y actualización de aplicaciones con ClickOnce a través de Visual Studio 2005
2. Publicación y actualización de aplicaciones con ClickOnce manualmente a través de Manifest Generator (MAGE
3. Agregando prerrequisitos personalizados a Visual Studio 2005 con el Bootstrapper Manifest Generator (BMG)
4. Actualizando aplicaciones con ClickOnce a través de DDay.Update

lunes, enero 14, 2008

Windows Installer CleanUp Utility

Un saludo y prospero año nuevo!

Ya despues de unas cortas vacaciones quiero empezar el año contándoles acerca de una utilidad para solucionar problemas de instalación con aplicaciones instaladas con Microsoft windows intaller, la cual pueden descargar de la siguiente Url: http://support.microsoft.com/kb/290301/EN-US/
La he usado para desinstalar una aplicación que a través del panel de control no me era posible desinstalar y me funciono perfectamente.

viernes, octubre 19, 2007

Tip Web Server ClickOnce Configuration

Pasar nuestra aplicación de desarrollo a producción puede ser un proceso arduo y engorroso si no se realiza la configuración adecuada en el servidor web de publicación, un punto importante es agregar las extensiones de archivos necesarias en los MIME Content Type del sitio web, esto permite realizar la instalación y actualización de la aplicación sin problemas. Las extesiones que deben agregarse son las siguientes:

File Extension - MIME Content Type Mapping
.application application/x-ms-application
.manifest application/x-ms-application
.deploy application/octet-stream

Pdt1: No es necesario instalar el runtime del .net framework 2.0 en el servidor de publicación

Pdt2: En este sitio encuentran la forma de configurar las extensiones para los MIME Content Type:
http://support.microsoft.com/default.aspx?scid=kb;en-us;326965

miércoles, octubre 10, 2007

DDay.Update

Muchas personas no gustan de la forma en cómo ClickOnce presenta al usuario los formularios de instalación de su aplicación, algunos preferirían que fueran más personalizados o en su defecto solo usar sus funcionalidades de actualización y dejar la parte de la instalación a aplicaciones más sofisticadas y especializadas en esto como es el caso de InstallShield o de los proyectos de instalación de Visual Studio. Hace unas semanas en uno de los proyectos fue necesario aplicar este caso, donde solo era necesario utilizar el modelo de update de aplicaciones de ClickOnce y hacer la instalación con un proyecto InstallScript de InstallShield, para lo cual me fui muy útil la librería de clases de código abierto DDay.Update (http://www.ddaysoftware.com/Pages/Projects/DDay.Update/)

Vayan dándole una mirada y en mi siguiente post empezare un ejemplo práctico utilizando esta librería de clases

viernes, octubre 05, 2007

Registry Key

Es posible que una de las tareas que sea necesario realizar cuando se instala una aplicación es la de crear claves en el registro, para establecer ciertas caracteristicas de nuestra aplicación, aquí les dejo un fragmento de código que justamente crea una clave de registro si al comprobarla éta no existe.

private static void TestRegistryKey()
{
if (ApplicationDeployment.IsNetworkDeployed)
{
ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
if (ad.IsFirstRun)
{
string keyPath = @"SOFTWARE\RegistryKeypProject\RegistryKey";
RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(keyPath, true);
if (registryKey != null)
{
if (registryKey.GetValue("RunOnce") != null)
{
string runOnce = registryKey.GetValue("RunOnce").ToString();
if (runOnce == "0")
{
// your code
}
}
else
{
registryKey.SetValue("RunOnce", "0");
// your code
registryKey.SetValue("RunOnce", "1");
}
}
}
}

viernes, agosto 31, 2007

Paths

Por alguna razón siempre olvido los métodos para optener el path de ejecución de mi aplicación, así que para quienes tienen un olvido similar, aquí hay un par de métodos que son muy útilies cuando se desea encontrar el path de repositorio de la aplicación del usuario actual:

string exePath = Application.ExecutablePath;

string iconPath = System.IO.Path.GetDirectoryName(exePath) + @"\App.ico";
string iconPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\App.ico";


// Gets the path for the application data of a local, non-roaming user.
System.Windows.Forms.Application.LocalUserAppDataPath

// The directory that serves as a common repository for application-specific data for the current roaming user
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

miércoles, agosto 15, 2007

ClickOnce Application Desktop Shortcut

En un post anterior explique como era la creación de un shortcut de un documento que hace parte del despliegue de una aplicación, estos dias he tenido que hacer algo similar pero con un shortcut que ejecuta la aplicación, para lo cual me he valido de este par de articulos:

VB: http://blog.ziffdavis.com/devlife/archive/2006/07/28/42695.aspx
C#: http://blog.scottschecter.net/TheZenOfTheClickOnceDeployedApplicationDesktopShortcut.aspx

Welcome to the Future of Deployment

Buscando información para algo que tengo que hacer en un proyecto me encontré con un artículo bastante completo acerca de ClickOnce en http://www.code-magazine.com/article.aspx?quickid=0703072&page=1, contiene una breve introducción, y trata temas como: crear un proyecto en VS, publicación de archivos, actualización de aplicaciones, propiedades de las publicaciones y el bootstrapper

lunes, agosto 13, 2007

A Developers Guide to Deploying Windows Forms Applications

Quiero invitarlos a leer uno de los mejores libros sino el mejor libro acerca de Deploy de aplicaciones con ClickOnce, esta escrito por Brian Noyes una de las autoridades en la materia:
http://www.softinsight.com/ClickOnceBook/