2009-06-15 4 views
5

Ich habe meine ClickOnce-Anwendung erstellt, die eine kleine Windows-Formularanwendung installieren wird, die auf einem WebBrowser-Steuerelement besteht ... Ich muss einige Argumente übergeben (dies erfolgt pro Client-Installation) um es richtig zu öffnen ...Klicken Sie auf Einmal, Frage zu öffnen Sie es mit Argumenten

als ein Beispiel, sagen wir, dass ich arg (0) brauche, um die URL zu öffnen, wenn ich ein normales Setup erzeuge, werde ich mit der .exe-Datei enden und alles was ich brauche zu tun ist:

myWebBrowser.exe "http://www.google.com" 

sondern weil ich Clickonce-Methode bin mit, ich bin Ende mit

myWebBrowser.appref-ms 

wenn ich es öffne es als normale die URL und andere Parameter

http://www.myWebSite.com/My.WebBrowser/MyWebBrowser.application#My Web Browser.application, Culture = neutral, PublicKeyToken = 5f83fa0e3f8a8c2b, processor = msil

und ich kann Argumente übergeben :(

Was ist der Trick dafür?

hinzugefügt

Ich habe "Allow Parameter" aktiv

alt text http://www.balexandre.com/temp/2009-06-15_1051_clickOnceAllowURLs.png

Ressourcen

ich diesen blog post herausgefunden ... Ich werde versuchen, es und Post meine Ergebnisse

+0

(geantwortet auf Kommentar) –

Antwort

1

Sie sollten Query-String zu verwenden, wie normale Lage sein ...

http://someserver/folder/some.application?a=b&c=d&e=f 

Der Trick ist, wie Sie Ihre App für diese Argumente sieht (plus es muss in den veröffentlichen Eigenschaften aktiviert URL Argumente haben) - Sie sollten System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed überprüfen - Wenn gesetzt, sehen Sie entweder AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData (das erste Element im Array) oder (einfacher) das ActivationUri des current deployment.

+0

bald ändere ich die usrl der Datei zu: http://www.myWebSite.com/My.WebBrowser/MyWebBrowser.application#My Web Browser.application? A = 1 kann ich nicht Öffnen Sie die Anwendung und sagen Sie in der Protokolldatei: + Das Verknüpfungsformat ist nicht gültig. und auch + Die Identitätszeichenfolge ist falsch formatiert. Dies kann an einem nachgestellten Komma, mehr als zwei unbenannten Attributen, fehlendem Attributnamen oder fehlendem Attributwert liegen. (Ausnahme von HRESULT: 0x8007370D) – balexandre

+0

Nun, Sie könnten versuchen, die #My (etc) am fernen Ende der Zeichenfolge, aber es klingt wie das Browser-Hosting ist der Schmerzpunkt. Hast du eine Chance auf Silverlight? –

+0

Das kann ich, kein Problem. Aber ich muss die Anwendung im Offline-Modus ausführen und ich habe herausgefunden, dass ich Parameter auf diese Weise nicht verwenden kann, die Anwendung muss nur für Online erstellt werden :( – balexandre