viernes, marzo 28, 2008
Publicación y actualización de aplicaciones con ClickOnce manualmente a través de Manifest Generator (MAGE)
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032372432&EventCategory=4&culture=es-AR&CountryCode=AR
Este se realizará el próximo Martes 1 de Abril de 2008, a las 11 am.
martes, marzo 25, 2008
Webcast - Publicación y actualización de aplicaciones con ClickOnce a través de Visual Studio 2005
http://cid-c7decd809ab8e64e.skydrive.live.com/self.aspx/Public/01%20Publicaci%c3%b3n%20y%20actualizaci%c3%b3n%20de%20aplicaciones%20con%20ClickOnce.pdf
Adicionalmente ya se encuentra el webcast on-demand de la charla disponible en:
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032372125&Culture=es-AR
Lamentablemente debido a un problema en la plataforma los primeros 30 min. de esta se perdieron :(
lunes, marzo 17, 2008
Generado Boletín de Noticias de Marzo INETA Latam
http://www.inetalatam.org/Boletin/2008/Marzo/INETALatam%20Boletin%2003-2008.htm
miércoles, marzo 12, 2008
Listo el artículo
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
Webcast ClickOnce
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
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
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
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
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
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
lunes, agosto 13, 2007
A Developers Guide to Deploying Windows Forms Applications
http://www.softinsight.com/ClickOnceBook/
miércoles, junio 27, 2007
Windows Installer Development Tools
http://msdn2.microsoft.com/En-US/library/aa372834.aspx
martes, mayo 29, 2007
Bug Restoring an Analysis Services Database
"C:\Program Files\Microsoft Analysis Services\Bin\msmdarch.exe" /r server "C:\Program Files\Microsoft Analysis Services\Data" "D\:Backup1.0\BDBackup.CAB"
Cuando elimine el punto del nombre del folder donde se encuentra el backup ya fue posible restaurar la bd
"C:\Program Files\Microsoft Analysis Services\Bin\msmdarch.exe" /r server "C:\Program Files\Microsoft Analysis Services\Data" "D\:Backup1_0\BDBackup.CAB"
Asi que bueno dejo a su opinion si es un bug o no, pero algo si es seguro hay que tener cuidado con el nombre del folder donde se encuentre el backup.
miércoles, mayo 16, 2007
ClickOnce Shortcuts
I have some Word documents I deploy to my users via ClickOnce along with the application files. Unfortunately, I can find no way to put a shortcut in the Start Menu's Program group for the user to click (I can only show the application file and the website support shortcut). Could you please tell me how I could add a shortcut to the data file into the my program's Program group?
Así que con el propósito de solucionarla les comparto el siguiente ejemplo:
1. Empecemos por crear una nueva aplicación Windows en Visual Studio, para el ejemplo vamos a usar C# como lenguaje de programación.
Solution name: ShortcutClickOnce
Project name: ShortcutClickOnce
Form cs name: Shortcut
Form name: Shortcut
Form Text: Shortcut
Form Size: 300, 118
Form MaximizeBox: False
Ahora agregamos un boton a la forma ShortCut
Button name: btnCreateShortcut
Button text: Create Shortcut...
Button dock: Fill

Una vez adicionada la referencia hacemos uso de esta agregando la directiva:
using IWshRuntimeLibrary; en el cs de la forma ShortCut.
3. Procedemos entonces a crear el método que nos permitirá crear el shortcut:
{
// Creando una nueva instancia de WshShell Class
WshShell wshShell = new WshShell();
// Creando el shortcut
IWshRuntimeLibrary.IWshShortcut shortCut;
// Seleccionando el path para el shortcut
shortCut = (IWshRuntimeLibrary.IWshShortcut)wshShell.CreateShortcut(shortcutPath);
// Agregando el path de donde apuntará el shortcut
shortCut.TargetPath = documentPath;
// Descripción para el shortcut
shortCut.Description = shortcutName;
// Guardando el shortcut
shortCut.Save();
}
4. Ahora creamos un nuevo documento de word con el contenido que ustedes deseen y los adicionamos al proyecto. Procedemos a cambiar las propiedades del documento:
Build Action: Content
Copy to Output Directory: Copy Always

5. Es necesario crear un método que sea el encargado de llamar al método CreateShortcut cuando se este realizando el proceso de deploy, para lo cual es haremos uso de la API de ClickOnce, asi que agregamos la directiva:
using System.Deployment.Application; en el cs de la forma ShortCut.
///
/// Este método verifica si la aplicación se ejecuta a través de ClickOnce y si es
/// la primera vez que se ejecuta en el cliente
/// Es necesario adicionar la referencia directiva using System.Deployment.Application
///
private bool CheckForShortcut()
{
// Verificando si el deploy se esta haciendo a través de la red con ClickOnce
if (ApplicationDeployment.IsNetworkDeployed)
{
// Creando una nueva instancia de la clase ApplicationDeployment
ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
// Verificando si es la primera vez que la aplicación se ejecuta en el cliente
if (ad.IsFirstRun)
{
// Obteniendo el path del folder que contiene los data files de la aplicación
string dataFilePath = ad.DataDirectory;
// Verificando que el archivo Documento.doc exista en el folder de los data files de la aplicación
if (System.IO.File.Exists(dataFilePath + @"Documento.doc"))
{
MessageBox.Show("Creating shortcut...");
// Path donde se creará el shortcut
string shortcutPath = string.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"\Documento.lnk");
// Nombre del shortcut
string shortcutName = "Documento.doc";
// Target path del shortcut
string documentPath = string.Concat(dataFilePath, @"\Documento.doc");
// Llamando al método que crea el shortcut
CreateShortcut(shortcutPath, shortcutName, documentPath);
return true;
}
}
}
return false;
}
Ahora creamos el método que responderá al manejador del evento click del botón btnCreateShortcut que es donde se hará la llamada al método CheckForShortcut
private void btnCreateShortcut_Click(object sender, EventArgs e)
{
if (CheckForShortcut())
MessageBox.Show("ShortCuts added");
}
7. Finalmente realizamos el proceso de deploy a través de Visual Studio. Damos click derecho sobre el proyecto y seleccionamos la opción Properties, cuando se muestren las propiedades seleccionamos la pestaña Publish.
Verificamos si en los Applications Files del despliegue se encuentra incluido el archivo del documento de word. En la columna Publish Status cambiamos a la opción Data File el documento de word

Luego de hacer este cambio cerramos la ventana de Application Files y hacemos click sobre el botón Publish Now y realizamos con esto la publicación.

Es hora ya de probar la aplicación, así que realizamos la instalación de nuestra aplicación. Cuando su proceso de instalación finalice esta de ejecutará automáticamente, damos click en el botón Create Shortcut... y en este momento debería crearse un shortcut a nuestro documento.

Con esto finalizamos el ejemplo, espero les sea de ayuda!
sábado, abril 28, 2007
Consideraciones de seguridad para implementaciones con ClickOnce
030506/voices/ClickOnceSec.mspx
Understanding .NET Code Access Security
http://www.codeproject.com/dotnet/UB_CAS_NET.asp
ClickOnce Cache Storage Quota
yment\OnlineAppQuotaInKB
en la que se expresa el tamaño del cache en kilobytes
Si deseas saber mas acerca del tema, este es el enlace:
http://msdn2.microsoft.com/en-us/library/267k390a.aspx