tags:

views:

1724

answers:

3

I have a Clickonce application that is launched from the start menu (local). I would like to be able to specify a parameter so that the application can load certain data. The application lives on a fileshare and will be launched using the URL only once (like described here on MSDN). This implies that the method describe in this link will not work; users will be launching the application using an .appref-ms shortcut in the Start Menu.

I haven't been able to find a solution. Is it possible to somehow pass a parameter into the click once application? If so, how? If not, what are some alternatives?

+3  A: 

Since you get to the deployment manifest via a Url, you can pass all of that information via the querystring (i.e. "http://clickonce.thing.com/shell.application?p1=this&p2=that")

I was going to type out the steps, then googled and found this blog that basically lists out all the steps. I've done something similar in one instance with no issues. The only slightly difficult thing is that you have to re-mage after setting things up, but if you got it to deploy in the first place, you already know how to set things up.

Good luck!

joshua.ewer
Even though this isn't exactly what I'd like, I think I can make this work.
siz
I have the same feeling every time I use ClickOnce. It's so simple to use, but only if you're doing the handful of things it does well. So, it's just a matter of making sure the tool fits your circumstances. If you have simple deployment needs, ClickOnce is one of the easiest tools I've ever used
joshua.ewer
A: 

You pass the parameters as a query string and use HttpUtility.ParseQueryString, as discussed in this MSDN article.

Magnus Johansson
A: 

Perhaps you could pass a parameter on the URL the first time, and have the app take notice of that, and write the parameters to a config file, or environment variables or somesuch.

On subsequent runs, load from the config file

Orion Edwards