SYSK 139: Multiple Environments Support by a ClickOnce Application


How do you configure an application distributed via ClickOnce technology to treat different environments (e.g. integration, QA, staging, production) as different “versions” and not override each other?  In other words, does ClickOnce technology support side-by-side environment?


 


The answer is quite simple – you need to use a different certificate for each environment and use a different name so you get a different menu item for each environment.


 


For example, if you use the mage utility, your manifest and deployment file commands would look something like this:


 


mage.exe -New Application -ToFile .\WindowsApplication1_1_0_0_6\windowsapplication1.exe.manifest -Name “QA TEST” -Version 1.0.0.6 -FromDirectory .\WindowsApplication1_1_0_0_6


mage -sign WindowsApplication1_1_0_0_6\windowsapplication1.exe.manifest -certfile cert_qa.pfx -password “your_password”


 


mage.exe -New Deployment -ToFile windowsapplication1.application -Name “QA TEST” -Version 1.0.0.6 -AppManifest WindowsApplication1_1_0_0_6\windowsapplication1.exe.manifest -providerUrl “file:\\yourserver\publishqa\windowsapplication1.application”


mage -sign windowsapplication1.application -certfile cert_qa.pfx -password “your_password “


 


Just change the name and certificate file (in bold) for each environment and live happily thereafter with multiple version of your application for each environment living on your computer side-by-side.


 

Comments (3)

  1. Mike Bouck says:

    I’ve already been down this road and thought you might find this interesting:

    http://blog.gatosoft.com/PermaLink,guid,d0a0dd1e-c9ac-4fa9-a408-615454d49702.aspx

  2. I was also dealing with this problem today.

    I noticed that only renaming the applicationname with an environment-postfix value is enough to get multiple versions of the application working together side-by-side.