13 Replies Latest reply on Apr 26, 2011 6:51 AM by ASML2011

    Citrix 12.1 paketieren

    nvandre Apprentice
      Hallo,
      hat schon jemand den neuen Citrix client 12.1 paketiert?
      Hab schon einige Sachen ausprobiert (siehe Paketierung 11.2) aber
      ohne Erfolg.
      Help
        • 1. Re: Citrix 12.1 paketieren
          keydogg Rookie
          Hi.

          Unser Paket sieht derzeit so aus:

          !Variable für Servername
          Set('SERVER','http://serveradresse')
          Set('SERVERcopy','serveradresse')

          MSIInstallProduct('.\Extern$\ICAWebWrapper.msi','',MsiInstMach)
          |.\Extern$\transform_notstrict.mst;
          params:
          EndProc/TW
          MSIInstallProduct('.\Extern$\PNAWrapper.msi','',MsiInstMach)

          params:SERVER_LOCATION="http://lradonxen"
          EndProc/TW
          !MSIInstallProduct('.\Extern$\DesktopViewer.msi','',MsiInstMach)

          params:
          EndProc/TW
          MSIInstallProduct('.\Extern$\SSONWrapper.msi','',MsiInstMach)

          params:
          EndProc/TW
          ClearRestartFlags
          !
          Execute('%ProgramFilesDir%\Citrix\ICA Client\wfcrun32.exe /regserver')/?/x64/TS
          ClearRestartFlags
          !
          If IsRunningOnX64
          RegLoad('.\64.nir')/TS
          Else
          RegLoad('.\32.nir')/TS
          !
          System_Reset/?


          die entsprechenden Reg-Einträge für den XenApp Server:
          32 bit:

          REGEDIT4

          [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\PNAgent]
          "ServerURL"="%SERVER%"
          "ServerURLCopy"="%SERVERcopy%"

          64bit:
          REGEDIT4

          [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\PNAgent]
          "ServerURL"="%SERVER%"
          "ServerURLCopy"="%SERVERcopy%"


          die benötigte MST für die ICAWebWrapper.msi hat einer der Citrix-Mitarbeiter in deren Forum gepostet:
          [URL="http://forums.citrix.com/message.jspa?messageID=1448140"]http://forums.citrix.com/message.jspa?messageID=1448140
          [URL="http://forums.citrix.com/servlet/JiveServlet/download/975-262150-1450072-29364/transform_notstrict.zip"]DL-Link

          klappt ganz gut soweit. Je nachdem welche Komponenten du haben willst, nimmst dir halt die entsprechenden MSI-Dateien aus dem Installpaket von Citrix. Aber unbedingt auf die empfohlene Reihenfolge der Installation achten! -> [URL="http://support.citrix.com/proddocs/index.jsp?topic=/online-plugin-120-windows/ica-extract-msi.html"]http://support.citrix.com/proddocs/index.jsp?topic=/online-plugin-120-windows/ica-extract-msi.html
          • 2. Re: Citrix 12.1 paketieren
            XN04113 Specialist
            Seit 12.1 reicht (Probleme gab es mit 11.x und 12.0):

            ExecuteEx('.\Extern$\CitrixOnlinePluginFull.exe /silent TRANSFORMS=".\Extern$\transform_notstrict.mst"
            oreboot','_return','5')/?/TW
            If %_return%='3010' or %_return%='1641'
            ExecuteEx('%ProgramFilesDir%\Citrix\ICA Client\wfcrun32.exe /regserver','_return','5')/?/TW
            RemoveLink('Online Plug-in','','Startup\',cgAsCommon)/TW
            InitiateSystemShutDown('20',issForceLogoff+issRebootAfterShutdown)
              "reboot by %project.name%
            EndProc/TW
            EndInstallerSession/TW
            ExitProcEx(Done,'%project.name% successfull installed - reboot required')
            If %_return%='0'
            ExecuteEx('%ProgramFilesDir%\Citrix\ICA Client\wfcrun32.exe /regserver','_return','5')/?/TW
            RemoveLink('Online Plug-in','','Startup\',cgAsCommon)/TW
            ExitProcEx(Done,'%project.name% successfull installed')
            Else
            ExitProcEx(Failed,'%project.name% failed with return code: %_return%')
            !
            : $BeginUninstallScript
            • 3. Re: Citrix 12.1 paketieren
              EugenFeuchter Apprentice

              Seit 12.1 reicht (Probleme gab es mit 11.x und 12.0):

              ExecuteEx('.\Extern$\CitrixOnlinePluginFull.exe /silent TRANSFORMS=".\Extern$\transform_notstrict.mst"
              oreboot','_return','5')/?/TW
              If %_return%='3010' or %_return%='1641'
              ExecuteEx('%ProgramFilesDir%\Citrix\ICA Client\wfcrun32.exe /regserver','_return','5')/?/TW
              RemoveLink('Online Plug-in','','Startup\',cgAsCommon)/TW
              InitiateSystemShutDown('20',issForceLogoff+issRebootAfterShutdown)
                "reboot by %project.name%
              EndProc/TW
              EndInstallerSession/TW
              ExitProcEx(Done,'%project.name% successfull installed - reboot required')
              If %_return%='0'
              ExecuteEx('%ProgramFilesDir%\Citrix\ICA Client\wfcrun32.exe /regserver','_return','5')/?/TW
              RemoveLink('Online Plug-in','','Startup\',cgAsCommon)/TW
              ExitProcEx(Done,'%project.name% successfull installed')
              Else
              ExitProcEx(Failed,'%project.name% failed with return code: %_return%')
              !
              : $BeginUninstallScript



              Hi,
              das sieht gut aus. Ich hab nur Probleme das direkt in die script.inc zu kopieren, könnte ich die script.inc mal zugeschickt bekommen? Oder am besten direkt hier im Post als Anhang ranhängen?

              Das wäre fein. Da ich schon ewig mit dem OnlinePlugin am grübeln bin.

              Gruß Eugen
              • 4. Re: Citrix 12.1 paketieren
                XN04113 Specialist
                Das sollte doch einfach sein, die Script.INC mit einem Texteditor öffenen und meinen Text reinkopieren - fertisch
                Trotzdem mal die Datei angehängt.
                • 5. Re: Citrix 12.1 paketieren
                  EugenFeuchter Apprentice
                  Hallo,

                  Danke, hat nun wunderbar funktioniert! Ich hab die 1zu1 auf für Windows 7 übertragen!

                  Gruß Eugen
                  • 6. Re: Citrix 12.1 paketieren
                    nvandre Apprentice
                    Danke für die Beiträge! Werde das ganze mal testen!
                    • 7. Re: Citrix 12.1 paketieren
                      ASML2011 Rookie
                      Hallo,

                      Ich arbeite mit der DSM 7.
                      Die Installation funktioniert auch prima. Mein Problem ist die Deinstallation.
                      Per Hand über die cmd funktionieren beide Aufrufe, die ich gefunden habe prima. Wenn ich sie allerdings über Frontrange (Netinstall) ausführen möchte, hängt sich der Prozess "wfcrun32.exe" scheinbar auf und die Deinstallation bricht ab. Dabei werden allerdings Teile des Programms deinstalliert.
                      Die Deinstallationsaufrufe, die ich verwendet habe, lauten folgendermassen:
                      Execute('"C:\ProgramData\Citrix\Citrix Online Plug-in\TrolleyExpress.exe" /uninstall /cleanup /silent')/?/TS und
                      Execute('".\Extern$\CitrixOnlinePluginFull.exe" /uninstall /silent
                      oreboot')/TS

                      Ich habe auch ExecuteEx mit und ohne Service ausprobiert. Achja MSIUnInstallProduct habe ich auch schon mit den in der exe eingebundenen msi´s probiert. Immer der selbe Fehler.
                      Ich weiß nicht weiter. Hat irgendjemand einen Tipp, was ich noch probieren könnte?

                      Gruß Michael
                      • 8. Re: Citrix 12.1 paketieren
                        LjokajK Expert
                        Hier noch ein weiteres funktionierendes Script...

                        MSIInstallProduct('.\extern$\ICAWebWrapper.msi','NORMAL',MsiInstMach)

                        params:SERVER_LOCATION=http://XXX/citrix/pnagent/config.xml ENABLE_SSON=Yes TRANSFORMS=".\extern$\wfcrun.mst"
                        EndProc/TW
                        Execute('"%programfilesdir%\Citrix\ICA Client\wfcrun32.exe" /regserver')/TS
                        If CheckInstallMode(imWkStaPart)
                        Sleep('10')
                        KillProcess('pnamain.exe',kpByFileName+kpKillAll)/TS
                        KillProcess('wfcrun32.exe',kpByFileName+kpKillAll)/TS
                        MSIInstallProduct('.\extern$\PNAWrapper.msi','NORMAL',MsiInstMach)
                          params:SERVER_LOCATION=http://XXX/citrix/pnagent/config.xml ENABLE_SSON=Yes
                        EndProc/TW
                        KillProcess('pnamain.exe',kpByFileName+kpKillAll)/TS
                        KillProcess('wfcrun32.exe',kpByFileName+kpKillAll)/TS
                        MSIInstallProduct('.\extern$\SSONWrapper.msi','NORMAL',MsiInstMach)
                          params:SERVER_LOCATION=http://XXX/citrix/pnagent/config.xml ENABLE_SSON=Yes
                        EndProc/TW
                        KillProcess('pnamain.exe',kpByFileName+kpKillAll)/TS
                        KillProcess('wfcrun32.exe',kpByFileName+kpKillAll)/TS
                        MSIInstallProduct('.\extern$\CitrixHDXMediaStreamForFlash-ClientInstall.msi','NORMAL',MsiInstMach)
                          params:SERVER_LOCATION=http://XXX/citrix/pnagent/config.xml ENABLE_SSON=Yes
                        EndProc/TW
                        KillProcess('pnamain.exe',kpByFileName+kpKillAll)/TS
                        KillProcess('wfcrun32.exe',kpByFileName+kpKillAll)/TS
                        MSIInstallProduct('.\extern$\DesktopViewer.msi','NORMAL',MsiInstMach)
                          params:SERVER_LOCATION=http://XXX/citrix/pnagent/config.xml ENABLE_SSON=Yes
                        EndProc/TW
                        KillProcess('pnamain.exe',kpByFileName+kpKillAll)/TS
                        KillProcess('wfcrun32.exe',kpByFileName+kpKillAll)/TS
                        MSIInstallProduct('.\extern$\GenericUSB.msi','NORMAL',MsiInstMach)
                        params:SERVER_LOCATION=http://XXX/citrix/pnagent/config.xml ENABLE_SSON=Yes
                        EndProc/TW
                        KillProcess('pnamain.exe',kpByFileName+kpKillAll)/TS
                        KillProcess('wfcrun32.exe',kpByFileName+kpKillAll)/TS
                        !
                        • 9. Re: Citrix 12.1 paketieren
                          ASML2011 Rookie
                          Vielen Dank Kurt,

                          Auch dieses Script installiert mir wunderbar das Citrix Online Plugin.
                          Aber auch hier funktioniert die Deinstallation nicht. Wieder hängt die wfcrun32.exe.

                          Ich weiß nicht mehr weiter. Ich glaube, ich lasse das Paket erstmal ruhen. Installieren tut es ja.
                          Oder hat noch jemand einen Vorschlag? Ich kenne bis jetzt 14 Wege, wie es nicht funktioniert.

                          Gruß Michael
                          • 10. Re: Citrix 12.1 paketieren
                            LjokajK Expert
                            Hast du zu meinem Paket ein sauberes :$BeginUninstallScript unten hin gehängt?? Das sollte funktionieren. Du kannst die Deinstallation auch über den UninstallString in der Registry ausführen.

                            HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

                            Darunter findest du die komplett installierte Software auf dem PC. Blättere hier bis zum Citrix durch. Dann solltest du den UninstallString rechts als Zeichenfolge sehen. (Beispiel: msiexec.exe /X{GUID der Software}

                            Manchmal steht statt dem Parameter /X ein /I. Diesen einfach in /X austauschen und natürlich die Silent Parameter /quiet oder /passive +
                            orestart, falls er einen Neustart benötigt.
                            • 11. Re: Citrix 12.1 paketieren
                              ASML2011 Rookie

                              Hast du zu meinem Paket ein sauberes :$BeginUninstallScript unten hin gehängt?? Das sollte funktionieren.



                              Aber natürlich!

                              Du kannst die Deinstallation auch über den UninstallString in der Registry ausführen.

                              HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

                              Darunter findest du die komplett installierte Software auf dem PC. Blättere hier bis zum Citrix durch. Dann solltest du den UninstallString rechts als Zeichenfolge sehen. (Beispiel: msiexec.exe /X{GUID der Software}

                              Manchmal steht statt dem Parameter /X ein /I. Diesen einfach in /X austauschen und natürlich die Silent Parameter /quiet oder /passive +
                              orestart, falls er einen Neustart benötigt.



                              Habe ich auch schon probiert.
                              Kann es vielleicht daran liegen, dass mein Testclient keinen Zugriff auf die Citrix-Farm hat. Vielleicht möchte ja die wfcrun32.exe "nach hause telefonieren" um den Client aus der Citrix-Umgebung auszutragen?

                              Gruß Michael
                              • 12. Re: Citrix 12.1 paketieren
                                AlexanderDechent Apprentice
                                Hi Michael,

                                wenn du manuell / interaktiv deinstallierst, kommt dann ein Fenster mit der sinngemäßen Meldung: "Citrix Session noch geöffnet" oder auch eine andere Meldung? Wenn ich das noch richtig weiß, läuft über die wfcrun.exe eine jeweilige Session. Die ganzen Prozesse, die zum Citrix Client gehören, sollten vor Deinstallation am besten geschlossen werden (zB per Msgbox für den User).

                                Viele Grüße,
                                Alex
                                • 13. Re: Citrix 12.1 paketieren
                                  ASML2011 Rookie
                                  Hallo,

                                  Wenn ich manuell deinstalliere bekomme ich leider keine Meldung. Sonst wüsste ich ja vielleicht, woran es liegt.
                                  Ich habe sogar schon sämtliche Prozesse, die ich Citrix zuordnen konnte gekillt. Ohne Erfolg, da sie teilweise, wie die wfcrun32.exe während der Deinstallation wieder gestartet werden.
                                  Komischerweise hängt sich diese aber nur bei der Deinstallation per Frontrange auf.

                                  Gruß
                                  Michael