2010-12-17 16 views
3

Ich erstelle ein Programm, das in einer Citrix Instanz laufen kann oder auch nicht. Das Programm muss dies erkennen, da es sich auf Citrix anders verhalten muss. Wie kann es zuverlässig erkannt werden? Bisher war meine beste Schätzung, zu überprüfen, ob der Computer ein C-Laufwerk hat.Wie kann ein Programm erkennen, dass es auf Citrix ausgeführt wird?

+0

Virtuenv-Tag entfernt, das Python-spezifisch zu sein scheint. –

Antwort

1
bool(os.environ.get('citrix_version')) 

Ich denke, das ist der beste Weg, um in Python zu erkennen.

3

Ich nehme an, Sie möchten wissen, ob Ihre Anwendung in einer XenApp (alias Presentation Server/Metaframe) Sitzung ausgeführt wird?

Überprüfen auf die Existenz von Laufwerk C: ist nicht der richtige Weg, es zu tun. In der Vergangenheit wurden die Laufwerkbuchstaben auf Citrix-Terminalservern häufig neu zugeordnet, z. von C: bis M :. Aber das ist nicht mehr "en vogue".

Für die korrekte Bestimmung des Sitzungstyps siehe my earlier answer.

Wenn Sie stattdessen feststellen möchten, ob XenApp/Presentation Server installiert ist, suchen Sie die entsprechenden Registrierungswerte wie unter Citrix Knowledgebase article CTX107570 beschrieben.