Übergabe des Parameters vom Client-CMD durch die ICA-Datei zum Starten der veröffentlichten Citrix App

9

Ich versuche, einen einfachen String-Parameter aus C # -Web-App-Code mit CMD-Zeilenaufruf an ICA-Datei an Citrix XenApp Server zu senden, um eine bestimmte veröffentlichte Anwendung (Makro-Scheduler-Makro in exe kompiliert) zu starten, NICHT den gesamten Citrix-Desktop.

Ich habe eine Web-App mit cmd-Zeilencode mit

%Vor%

Ich habe auch für die Parametersyntax versucht: /username=SomebodysName, /Param:"/username=SomebodysName"

und ungefähr eine Million anderer Kombinationen von Anführungszeichen und Schrägstrichen.

Ich habe Citrix QuickLaunch verwendet, um meine ICA-Datei zu schreiben, in der ich nur InitialProgram=#ApplicationName \Param geändert habe (ich habe das \ Param hinzugefügt). Ich habe auch /username und \Param=SomebodysName ausprobiert und ich kann auch keine davon zum Arbeiten bekommen. Ich habe sogar versucht, den Namen nur darin zu codieren und ich kann es nicht durchmachen.

Die EXE erwartet einen Parameter " username " und wenn sie lokal von der Eingabeaufforderung cmd aufgerufen wird, arbeitet sie mit UsernameProgram.exe /username=somebodysname . Ich habe dafür gesorgt, dass " %* " am Ende von commandlineexecutable in den Citrix XenApp-Anwendungsspeicherorteigenschaften enthalten ist, um sicherzustellen, dass ein Befehlszeilenparameter akzeptiert werden kann.

Dies alles verwendet C # und XenApp 6. Alles funktioniert, außer dass der Parameter übergeben wird, und ich habe keine Ahnung, wo der Parameter verloren geht, wenn er überhaupt irgendwo hinkommt. Ich habe das Gefühl, dass ich jede Kombination von / s ausprobiert habe und wenn jemand mir mit der Syntax helfen könnte, würde ich das wirklich schätzen! Ich habe versucht, das ICA Client SDK im c # zu betrachten. Code, aber es scheint nur manuell zu tun, was eine externe ICA-Datei tun wird.Wenn das aber falsch ist, lass es mich bitte wissen.Ich komme an den Punkt, wo ich es nur versuchen werde, egal, weil ich komplett bin aus Ideen, bitte helfen Sie.

Danke!

    
Beckyjoon 13.01.2012, 17:21
quelle

1 Antwort

5

Ich habe eine .bat-Datei von meinem C # -Code aus aufgerufen, indem ich Folgendes verwendet habe:

%Vor%

Referenz: Bat-Datei in c # ausführen mit .exe und .def Code

In der .bat-Datei erstelle ich eine ICA-Datei, die den Benutzernamen parameter wie folgt übergibt:

%Vor%

Das% 1 in der InitialProgram-Komponente ist, wo das Argument aus dem C # -Code verwendet wird.

Referenz: Ссылка

Als letzten Schritt stellen Sie in Ihrer Citrix Delivery Console sicher, dass die Standorteigenschaften der veröffentlichten Anwendung für die CommandLineExecutable hinter dem Zeichen "% **" stehen, einschließlich der doppelten Anführungszeichen. Ich glaube, das Hinzufügen des 2. Sterns lässt den Parameter die Befehlszeilenvalidierung durchlaufen und erlaubt es, wenn die Anwendung geöffnet wird. Wie auch immer, es funktionierte mit zwei von ihnen und nicht mit einem von ihnen.

    
Beckyjoon 17.01.2012 20:29
quelle