Thursday, April 06, 2006

MageUI Can Be Your ClickOnce Stage To Production Friend...

The Problem Solver - ClickOnce and real deployment

"In the real world deployment to clients directly from a development environment is not exactly the normal or advised way to go. Yet ClickOnce deployment, neat as it is, seems to assume that you deploy straight from development to a production environment. In most applications I work on we take a more sane approach and development deploys to a test/acceptance environment. Only after tests have concluded is the software released to the live production environment.

Yet in the case of ClickOnce you need to specify the install location in Visual Studio 2005, hardly the tool to move an assembly from test/acceptance into a production environment.
 
Fortunately there is a tool for the job and it is Mage, or MageUi depending on your preferences and needs. Mage is the command line utility to use when updating or creating a manifest, use this to automate the deployment of ClickOnce applications. To get started MageUi is the more interesting of the two.
 
..."


I’m digging ClickOnce, but have been wondering how to best tweak the process to allow deployment from Test/QA/Stage to Production. It sounds like Mage/MageUI solves a big piece of the puzzle.

Deploy to Stage from Visual Studio. Test, etc. Then from Stage, use Mage to update the manifest and move the files to Production.

Sounds workable to me...

Technorati Tags: , , ,

3 comments:

Anonymous said...

I've already been down this painful road and thought you might find the following helpful: http://blog.gatosoft.com/PermaLink,guid,d0a0dd1e-c9ac-4fa9-a408-615454d49702.aspx

Greg said...

That SO rocks... Thank you

Anonymous said...

Automatize generation new version (Publish) using WinForms app


Hi misters



USING VS 2005 in XP, VB.NET



I have a Publish of my application, AdministradorWin.exe, in a folder D:\ClickOnce\instalacionExpedienteElectronico (of a server in my LAN).



I have this files as results of Publish:





setup.exe

publish.htm

CertBackup.pfx

AdministradorWin_1_0_0_0.application

AdministradorWin_1_0_0_1.application

AdministradorWin.application



Folders for prerrequisites:

dotnetfx

grupobackup.registrarocx

netfx30

reportviewer



Folder AdministradorWin_1_0_0_0



AdministradorWin.exe.deploy

AdministradorWin.exe.config.deploy

AdministradorWin.exe.manifest

ALHE.Data.dll.deploy

....



Folder AdministradorWin_1_0_0_1



AdministradorWin.exe.deploy

AdministradorWin.exe.config.deploy

AdministradorWin.exe.manifest

ALHE.Data.dll.deploy

....



Now, I want to do this:



1. Create another WinForms Application, called ConfiguratorPublish.exe



2. ConfiguratorPublish app need open last CONFIG of Publish, in this case:

Folder AdministradorWin_1_0_0_1 and file AdministradorWin.exe.config.deploy



3. Modify AdministradorWin.exe.config.deploy and save it in some folder temp ***



4. Try using Process.Start() for call mage.exe to generate New Version 1.0.0.2



AdministradorWin_1_0_0_2.application NEW

AdministradorWin.application MODIFIED



Folder AdministradorWin_1_0_0_2 NEW



AdministradorWin.exe.deploy

AdministradorWin.exe.config.deploy MODIFIED (copy from temp folder ***)

AdministradorWin.exe.manifest

ALHE.Data.dll.deploy

....





Questions:

1. In my ConfiguratorPublish.exe app, how can I know the last Publish version of AdministradorWin.exe app??



2. How can I using mage.exe to generate new version 1.0.0.2, I need steps, step by step, please



3. ANY help will be very grateful for do this, please, any sample code or comments will be gold for me.



Thanks in advanced. Your help will be very grateful and appreciated.