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
jueves, abril 12, 2007
Strings in .NET and C# - Introduction
http://www.developerfusion.co.uk/show/4709/
lunes, abril 09, 2007
Walkthrough: Deploying a ClickOnce Application Manually
http://msdn2.microsoft.com/en-us/library/xc3tc5xx(VS.80).aspx
Manifest Generation and Editing Tool (MAGE)
Tanto Mage desde la línea de comandos como MageUI nos permiten generar el manifesto de aplicación (.manifest file) y el manifesto de despliegue (.deploy file), los cuales son generados automáticamente cuando se hace el despliegue a traves de VS2005. Claro está el proceso de publicación del instalador en un directorio virtual del IIS tambien debe hacerse manualmente, lo bueno del tema manual es que se sabe exactamente que es lo que sucede con ClickOnce.
Así que si lo primero es saber acerca de los comandos que nos brinda ésta herramienta:
Mage: http://msdn2.microsoft.com/en-us/library/acz3y3te(VS.80).aspx
MageUI: http://msdn2.microsoft.com/en-us/library/xhctdw55(VS.80).aspx
ClickOnce en FireFox
https://addons.mozilla.org/es-ES/firefox/addon/1608
domingo, marzo 11, 2007
Definiciones
1. Qué es ClickOnce?
Es una tecnología de despliegue de aplicaciones windows forms (principalmente Smart Clients), basada en el concepto de publicación en un servidor Web, FTP o de archivos compartidos, para permitir la descarga, instalación y actualización automática de la aplicación.
ClickOnce no es el reemplazo de otras tecnología de despliegue como Windows Installer, y tampoco en posible de implementar en todos los escenarios.
El core de esta tecnología de despliegue esta basado en dos archivos XML: un archivo de manifiesto de aplicación y un archivo de manifiesto de despliegue
2. Manifest file: El manifesto de aplicación (.manifest file) describe los ensamblados y archivos que comprenden la aplicacion, incluyendo información de identidad de los ensamblados (nombre, hash/public key token, versión, y localización), dependencia de la aplicación, e informacion de confianza que afecte las políticas de seguridad bajo la cual la aplicación esta ejecutándose.
http://msdn2.microsoft.com/en-us/library/k26e96zf(VS.80).aspx
3. Application file: El manifesto de despliegue (.application file), contiene un resumen de la información de despliegue en si misma. incluyendo información de versión, donde encontrar el manifiesto de la información, y el numero de opciones respecto al comportamiento en la clase de despliegue y actualización que se llevará cabo
http://msdn2.microsoft.com/en-us/library/ws1c2fch(VS.80).aspx
Y como no hay mejor lugar que el hogar para aprender, este es el link de la libreria de MSDN para ClickOnce, así que les recomiendo que le den una mirada para empezar por la derecha.
ClickOnce Deployment for Windows Forms Applications (MSDN Resources)
http://msdn2.microsoft.com/en-us/library/wh45kb66.aspx
jueves, febrero 01, 2007
Welcome to ClickOnce!
Así entonces quiero compartirle algunas de mis experiencias con ClickOnce, y mostrarles a través de ejemplos, tips y enlaces especializados el camino para conocer acerca de esta tecnología.