ClickOnce

G

Guest

Hi,

I want to build a single ClickOnce application that will end up getting
exposed in multiple datacenter environments - Test, PreProduction,
Production, etc. I don't necessarily know before hand what the publish URLs
will be. I also want to install the app locally and allow the user to install
from each environment as if the applications were completely different (in
other words, if they installed from all three environments they would have 3
entries in the start menu that point to the respective locations).

If this were an Asp.net application the solution would be easy. We'd just
use a Web Site installer to install on each environment and have users link
to the desired environment (most would just link to production, but QA or
developers would have links to all environments).

What is the recommended way of doing this with ClickOnce? Most of the
deployment stuff I'm finding just talks about how to publish from visual
studio (this is definitely not a viable option). Adding an MSBuild task to
our continuous build is an option, but, as I said, i don't want to have to
know about which urls the app will eventually end up on before hand.

Any thoughts or pointers to articles that cover this?

thanks,
Orlando
 
D

DBxGlock

You could write an ASP.NET page where the user could enter the URL they
are deploying to. It then could make a copy of the manifest and
setup.exe files on the server, run setup.exe to update the URL in it,
and mage.exe to update the server in the manifest. Then package
everything into a zip file that the end-user could download.
 
G

Guest

I can see running mage twice - once to update the application manifest and
once to update the deploy manifest. I didn't get the step to run setup.exe -
could you explain that? Specifically, how do you run the setup.exe in "edit"
mode?

Thanks for the response..
 
J

Jeffrey Tan[MSFT]

Hi ocardoso,

Thanks for your post.

I am not sure if I understand your requirement completely. Do you mean that
your ClickOnce application can not determine the deployment environment at
development time. It may be deployed to many different places. If I have
misunderstood you, please feel free to let me know.

Regarding this scenario, I think the key point is the application manifest
and deployment manifest files. You can use mage.exe or mageUI.exe tools to
update the manifest files. After updating, you can XCopy all the files to
the corresponding deployment location.

Hope this helps!

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 
G

Guest

Thanks for the response. Is there a way to use Mage to allow the same built
application to be installed and available on a single machine from multiple
environments? For example, i want to see this in my start menu:

Start
MyApp
QA Instance
Production Instance

Note that clicking on the QA Instance gives me the click once application
deployed from the QA environment (with QA specific App.config settings),
while clicking on Production gives me the Production instance (with
Production specific app.config settings).

Orlando
 
J

Jeffrey Tan[MSFT]

Hi Orlando,

Thanks for your feedback.

Using Mage you can take a look at the "description" section when creating
the deployment manifest(s). Both Application manifest and deployment
manifest should have the same "Publisher" entry but different entries for
"Product". The "Publisher" string will be used as the name for the folder
that is being created in the start menu. On the target machine, there will
be 2 different installations with their own app settings.

Don't forget to set the Application Reference by clicking "Select Manifest"
and pointing to the application manifest of the application you want to
deploy. Also, create and sign the manifest in this order: 1. application
manifest 2. deployment manifest.

Hope this helps!

Best regards,
Jeffrey Tan
Microsoft Online Partner Support
Get Secure! - www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top