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:

  1. 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

    ReplyDelete
  2. 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.

    ReplyDelete

NOTE: Anonymous Commenting has been turned off for a while... The comment spammers are just killing me...

ALL comments are moderated. I will review every comment before it will appear on the blog.

Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...

I reserve, and will use, the right to not approve ANY comment for ANY reason. I will not usually, but if it's off topic, spam (or even close to spam-like), inflammatory, mean, etc, etc, well... then...

Please see my comment policy for more information if you are interested.

Thanks,
Greg

PS. I am proactively moderating comments. Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...