Base Image Script Framework (BIS-F) and Citrix System Optimizer Engine (CTXOE) – A very good combination


As I has written yesterday in my Blog about BIS-F 6.0.3 BETA and the support with Citrix System Optimizer Engine (CTXOE). A great Tool from Martin Zugec (Citrix) developed in Powershell and a very nice GUI, receive the latest Beta today.Florian Frank and I starting our additional test immediately.

Download CTXOE here

[Download not found]

In Combination with BIS-F, CTXOE will start directly and optimize your Operating System without any input. | | Founder Base Image Script Framework (BIS-F) | IT-Architect EUC | Automation Enthusiast

28 thoughts on “Base Image Script Framework (BIS-F) and Citrix System Optimizer Engine (CTXOE) – A very good combination”
  • frank says:

    hi mat, when we use applayering what layer will be best for bisf script, as erik writes, do it wright or wrong? i mean os layer or platform or app layer? greetz frank

    June 23, 2017 at 21:12
  • Eric says:

    Hi Frank, I was referering to this post from Citrix –

    Lot’s of stuff to think about, but using BIS-F will take care of that.

    I would do Optimization in OS & App Layers.

    June 24, 2017 at 13:32
  • Frank says:

    Hi eric. Yes i read this article also, think the need of bisf script i add to OS Layer, but will use it also than on the office applayer as well. It is first time i use applayering so it is not every time clear when to do what. Also a way is to open the vhd on pvs in private mode and use than the bisf script, but than i need to do it outside from elm, not sure if i want that. Greetz frank

    June 25, 2017 at 10:32
    • Brandon says:

      I’m trying to decide which is best, run BIS-F in each layer of the layered image or boot the image in private image mode and run it there? We have Symantec SEP and I’d like a full AV scan and to run the VIEtool to add AV exceptions… Because of SEP, I’m thinking that booting in private image mode is most appropriate but disappointing that we’d be modifying the image outside the ELM.

      July 12, 2017 at 14:21
      • Hi Brandon,

        BIS-F 6.1.0 DEV has AppLayering Support and detect the installation of the Agent itself and run the AppLayering Finalize Command. From my Point of view, you can run BIS-F in each layer.

        July 12, 2017 at 14:29
      • Brandon says:


        Would SEP/VIE still be able to AV exclude each layer? I assume not unless SEP was a dependency layer or in the OS layer.

        July 12, 2017 at 21:52
      • Hi Brandon,

        as Carl Stalhood describes you can Install AV in OS or Application Layer. If you have installed in Application Layer and run BIS-F, it removes the unique ID from your AV, same as you have run this Layer as an dependency layer. The big challenge, how we can scan/flagged all the files in a best practices way, with automated steps. This can be done in OS Layer or dependency layer only at the Moment.

        July 13, 2017 at 10:07
      • Hi Brandon,

        I think this a very good webinar in the next few days to ask

        July 16, 2017 at 23:31
  • frank says:

    hi mat, must the folder where i extract ctxoe, also be named to CTXOE? I enable CTXOE in Template but will not work. So i add the extracted Folder with name “CitrixOptimizer” in the Program Files DIR, but not work, so should i rename it to CTXOE?
    regards frank

    June 26, 2017 at 12:55
    • Florian Frank says:

      Hi Frank, BIS-F is searching the CTXOE script (the PowerShell script itself! –> “CtxOptimizerEngine.ps1”) in the following folders (recursive):
      “C:\Program Files”
      “C:\Program Files (x86)”

      Best Regards,

      June 26, 2017 at 13:15
  • frank says:

    hi florian
    and where did u place the folders from the rest of CTXOE? also directly under program files?

    June 27, 2017 at 10:22
    • Hi Frank,

      I put every file/folder (from the zip) in one folder under C:\Program Files(x86).

      Would you like to share your logfile and the folder structure of the CTXOE folder; you can use the BIS-F form on this blog 🙂


      June 27, 2017 at 20:29
      • We checked the logfile and frank does everything right. But currently CTXOE will be only executed by BIS-F when it is running on a XA/XD-Host (or on a PVS Device) -> I will change this for the RTM version, so CTXOE can be executed on any device (if “installed” + not disabled by GPO/skipped by user).

        July 3, 2017 at 23:27
  • Brandon says:

    I’ve been tinkering with BIS-F 6.1.0 DEV and App Layering, sealing after each layer. For most layers it appears to work, there is red on the screen but I believe that’s ’cause there is no D: drive for the logs but appears to work… The platform layer is another story, the PvS target is installed and it fails to run ’cause there is no attached vDisk. Is there a way to seal the platform layer w/o an attached vDisk?

    Another challenge I had was when creating the layers the VM is in a workgroup and the BIS-F GPOs don’t apply, I ended up exporting the policy in the registry and importing it to my OS layer.

    Thanks for all your work on BIS-F!!!

    July 19, 2017 at 14:11
    • can you sending us the BIS-F logs from the preparation steps with AppLayering, if the WriteCacheDisk (D) is not available, the BIS-F logs can be found in C:\windows\logs

      July 19, 2017 at 16:07
    • for AppLayering with installed PVS TargetDeviceDriver we must implement a Fix in BIS-F – do not check for an attached vDisk attached and skip the convert process

      July 19, 2017 at 16:32
  • Brandon says:

    If I don’t specify PVS WriteCacheDisk Driveletter to D: in my OS or App Layers BIS-F runs w/o issue (no red and the logs are in C:\Windows\Logs). However, if I do the same for the platform layer with PvS target installed I get the following… “PVSWriteCacheDisk not configured with ADMX, configure it and run this script again..!!” Which is expected, I wonder if you could look for the presence of the “App Layering Image Preparation Utility” and skip the PvS imaging wizard? Let me know if you want me to test something.

    July 19, 2017 at 17:27
    • Hi Brandon,

      before we can go in additional test, please send us the BIS-F logs through the BIS-Form on this page.

      July 19, 2017 at 19:43
      • Brandon says:

        Do you want the logs from the platform layer where the PvS target is installed?

        July 19, 2017 at 20:24
      • please send me the logs from all your layers, thx

        July 19, 2017 at 20:31
      • Brandon says:

        Sorry, I was out yesterday, logs submitted.

        July 21, 2017 at 16:03
    • I think we have different steps in BIS-F based on Preparation or Personalization state, if AppLayering installed

      Preparation Phase:
      If AppLayering installed -> ignore Test PVSWriteCacheDisk
      If AppLayering installed -> ignore Test vDisk attached
      If AppLayering installed -> ignore convertion process
      If AppLayering installed -> ignore ADMX confiured for WCD
      If AppLayering installed -> ignore redirect EventLogs, spool, etc
      If AppLayering installed -> someone else ?

      July 19, 2017 at 19:53
      • Brandon says:

        looks good… however when booted into the layered PvS image would PVSWriteCacheDisk still need to be configured via GPO? would the EventLogs, spooler, etc still be redirected?

        July 19, 2017 at 20:26
      • if the PVSWriteCacheDisk is configured through the ADMX and the Drive is still available, the files would be redirected. But we must have a deeper look into, to configure it the right way with BIS-F. Currently i don’t have a AppLayering Environment available for further test. Do you know any additional Information in the registry/FileSystem for AppLayering available to check which Layer is currently mounted (like OS, ApplicationLayer, etc) ?

        July 19, 2017 at 20:36
      • Brandon says:

        Could probably look at the existence of the “Citrix App Layering in guest service” (UniService), let me know if you want something in the filesystem or registry.

        July 21, 2017 at 16:05
      • Brandon, I Little bit wonder and have a look into your logs you sending me, do you have the latest BIS-F Version with AppLayering available from here ?

        I don’t see anyting about AppLayering in your logs but it’s inlcuded in the BIS-F Version link above in the 90_PrepBISF_CTX.ps1 POSH

        July 21, 2017 at 22:38
  • Brandon says:

    Matthias, Yes, I’m using 6.1.0 DEV

    July 24, 2017 at 15:33
Leave A Comment

CAPTCHA ImageChange Image