Citrix app layering error

No new issues have been identified in this release.The documentation links in the management console open as a blank page in Internet Explorer 11.

No new issues have been identified in this release.

App Layering upgrades

  • The App Layering 2005 upgrade package is large enough that older appliances cannot download it automatically. If you are running version 2001 or older, download the package manually from the downloads site.

  • We recommend running the upgrade from a management console in Secure HTTP (HTTPS). If you upgrade while in HTTP, messages do not display in the browser. If that happens, refresh the browser after 20 minutes. (Refreshing won’t cause issues in spite of the message that says not to refresh.) If the upgrade is still running, you get a “service unavailable error.” It is safe to ignore the message and keep refreshing the browser every few minutes until the login page appears.

  • If you have two upgrade packages with the same name in different folders in Network File Share, selecting one of those packages causes both packages to be selected. If both packages have the same version, the upgrade succeeds. If they have different versions, the system chooses the lower version number. This occurs with Enterprise Layer Manager (ELM) version 22.2.

App Layering appliance and management console

  • In the new UI, platform types cannot be edited. Edit Platform Types still functions correctly in the old UI. (UNI-86856)
  • When installing the App Layering appliance, you must use the default CPU setting of 4 CPUs.
  • If you use roles in a complex Active Directory environment and logins are slow, assign all roles to explicit users rather than to groups.

App Layering documentation links

The documentation links in the management console open as a blank page in Internet Explorer 11. To get around this issue, paste the link into another browser. The documentation displays correctly.

App Layering agent

By default, the Citrix App Layering Agent runs under the Local System account on the Hyper-V server. If you change the account to anything other than Local System, the agent cannot transfer disks to and from the appliance.

  • (Release 19.5 only) After upgrading to release 19.5 (or later) from 19.3 (or earlier), be sure to update KMS Office Activation to use Office 2019. When preparing your OS image for layering, download and run the new App Layering OS Machine Tools.

  • (Release 19.1 only) When preparing your OS image for layering, ensure that your KMS Office Activation is triggered at desktop startup. For this release only, download and run the App Layering OS Machine Tools from Release 18.12.

Elastic Layering

  • Microsoft Office cannot be elastically layered due to the way its licenses are integrated with the Windows Store. The Office app layer must be included in the Layered image.
  • When you enable an image with elastic layering, users might be able to view files and directories from other sessions in Windows Explorer. Directories explored in the other session might create folders visible to all sessions that have permission to browse that directory.
  • If you use elastic layer assignments with Windows Server 2008 or Windows 7, create your file share with a sector size of 512. For details about this issue and related operating system updates, see the following:
    • Microsoft support policy for 4K sector hard drives in Windows
    • Update that improves the compatibility of Win 7 and Win Server 2008 R2 with Advanced Format Disks (UNI-48984)
  • When launching a small set of Universal Windows Platform (UWP) bridge apps on Windows 10 with Elastic Layering enabled, the apps sometimes fail to launch. (ALHELP-15, UNI-71062)
  • When delivering ArcMap 10.7 as an elastic layer, the app takes up to 60 seconds to launch. Normally it takes 3 seconds when delivered as part of the base image. To optimize start times, add a version to the app layer. In the new version of the layer, increase the registry “miss-cache” optimization setting to 100 (decimal) or more, with a max of 250. Create the DWORD value below the Unifltr service key, making sure that the value is decimal and not hex. (ALHELP-387, UNI-74957)

     HKLMSystemCurrentControlSetServicesUnifltrMaxMissCacheEntries [DWORD] 100.
     <!--NeedCopy-->
    

User layers

  • Signing on after upgrade starts the Windows First Sign-in screens: When you sign in after upgrading to 4.10 or later, the usual Windows First Sign-in brings the user layer up-to-date with the OS version. The process preserves user layer files.

  • When user layers are enabled on provisioned desktops, MSI installers are blocked from running at system startup: The Layering service must already be running when the MSI file runs. The Layering service runs when a user logs in. If an MSI attempts to run, you get this error:

    The Windows Installer service depends on the Citrix App Layering Guest Service service which failed to start with the following error: The service cannot start, either because it is disabled or because it has no enabled devices associated with it.

Windows 10 support

  • Windows 10, version 20H2 upgrades. If you upgrade the OS layer to Windows 10 20H2 from an earlier release, upgrade directly to Build 19042.630, or later. Upgrading from builds of Windows 10 20H2 released before 11/16/2020 can result in inconsistent image deployments. For example, if you publish images using a template with Generalize Offline selected, the published images may not work correctly.
  • Upgrading requires extra steps when going to a new Windows 10 major release: During the upgrade, Windows 10 can create a recovery volume on the same disk as the OS layer version. Always delete this volume before you finalize the OS layer version. Otherwise, the recovery volume can cause desktops to fail to start correctly. For more information, see Issue 9 under Windows 10 v2004, 20H2, 21H1 & 21H2 — Citrix Known Issues.
  • If you have generated and applied the App Layering Optimizations.cmd script to a Windows 10 1909 OS layer, the Search option on the Start menu might not work as expected. To avoid this issue, add a version to the OS layer and run the program c:windowssetupscriptsOptimize.hta. To build a new Optimizations.cmd script to apply to the new layer version, deselect Disable tablet input service (Section 6, Option M) and select Save File. Before finalizing the OS layer, run the command Powershell Set-Service TabletInputService -startuptype manual to undo the effect of any previous Optimizations.cmd that might have disabled the service.

Connectors

  • When using the Azure Deployments connector, if you delete all templates and edit the connector to choose a new template, a deleted template version appears. Then when you click Save, an error appears. As a workaround, re-select a valid template version before clicking Save. (UNI-88412)
  • When using the Windows mini-boot disk option, you can specify up to four Prerequisite layers for any given App layer. If an app requires more than four other applications to be present during installation, install multiple apps in one layer. (UNI-69524)
  • When creating a layer (app, OS, or platform) on Windows 7 64-bit, if you select Offload Compositing in the connector configuration, you can have issues adding a version to the layer. An error occurs, and the packaging machine is not created. When Offload Compositing is not selected in the connector configuration, the packaging machine is created. (UNI-82545)
  • Receiving 503 error, “Server Busy issues” from Azure. If you consistently receive this error, follow the steps in CTX310868. This issue happens sporadically, and a solution for it is being tested. (ALHELP-1383)

Citrix Provisioning

  • When you create an image template, the target device hardware settings must match the Windows operating system and platform layer settings. Ensure that the hardware settings on the target device match the operating system and platform layer hardware settings, especially the number of CPUs. If the settings don’t match, you can get a restart required message when you start the published image. (UNI-50799)
  • If you use Provisioning Services, you must disable IPv6 in the OS layer and not in the Platform layer. (UNI-53600)
  • When importing VHDX files published from App Layering to the PVS disk store, you sometimes receive an invalid disk message. Eliminate the error by changing the period (.) characters in the published file name’s date and time. A valid file name contains only one period for the VHDX file name extension. (UNI-75902)
  • When Offload Compositing is selected in the connector configuration:
    • The path for the Citrix Provisioning Store fails to validate if it contains spaces. Replace the spaces with %20 to make the name valid. (UNI-84868)
    • Publish jobs fail if the File Share Path ends with a backslash (). (UNI-85045)
    • Publish jobs fail with a ComponentActivator error message if the Domain User does not have Read and Write permission to the File Share Path. (UNI-85020)
  • When you select a Hyper-V connector for the offload compositing configuration, and the OS Layer is Gen 2, you must create another version of the OS layer, and then create the platform layer from that OS version. Otherwise, the target does not boot. (UNI-85044)
  • When setting the Compositing File Share Path for the connector configuration, connectivity between the compositing engine and the Citrix Provisioning Store is not verified. If the store path doesn’t map to the File Share Path, you receive an error similar to:

    • Error: “An unexpected system error occurred. Retry the operation or contact technical support. Exception Message: Response status code does not indicate success: 404 (Not Found). [Exception Details]
      (UNI-85045), (UNI-85020)

Citrix Hypervisor

  • When you prepare your operating system image for use in your Citrix Hypervisor, you must open port 5900 to allow console access. (UNI-50846)
  • Always set the Citrix App Layering connector configuration to point to the master node. (UNI-52454)
  • Prerequisite layers:
    • If a machine hangs at boot and a prerequisite layer is selected, one of the layer disks is probably not attached. Ensure that the Citrix Guest Tools are included in either the OS or platform layers.
    • If you are using Prerequisite layers to create either the OS or platform layer, Citrix Tools must be present. Without the tools, the packaging machine fails and you receive a blue screen. Citrix Hypervisor isn’t able to see any devices attached after the DVD drive. The DVD drive is always in the third slot.
      (UNI-67741)

Citrix Virtual Apps and Desktops (CVAD)

  • When updating CVAD to version 7.15 CU4, you must first install .NET Framework 4.7.1 on a new version of your OS layer, rather than on the platform layer. Installing .NET Framework 4.7.1 on the OS layer ensures that all app layers, platform layers, and images work correctly. The latest Windows updates already include .NET Framework 4.7.1 as part of the updates. (ALHELP-588, UNI-75108)

Google Cloud

  • When importing layers from another platform, you must add a version to the OS layer, and switch to using the new layer version from then on. Otherwise, packaging machines and published images are likely to fail with a blue screen.

  • Google Cloud Connector Configuration. “Check Credentials” should verify Service Account User role. If the service account specified in the Google Cloud connector configuration Service Account JSON key file is different than the service account associated with your selected Instance Template, your service account in the configuration must have the Service Account User role. If it does not, then you receive an error when deploying a machine using that connector configuration. (UNI-82082)

Nutanix Acropolis

  • The following message during app layer creation indicates that the app layer settings specify a platform layer. Do not use platform layers with the app layer’s performance enhancing caching feature. (UNI-67742)

    image

VMware vSphere

  • When creating the OS layer using the Create OS Layer Wizard, Unified Extensible Firmware Interface (UEFI) virtual machines are listed. You cannot, however, create UEFI machines using the wizard. Instead, use the new ImportOsLayer.ps1 script to import the OS onto the new OS layer machine.
  • When using a vSphere connector configuration with VMware Cloud and a vSAN 7.0 Update 2 (or later) datastore, Offload Compositing must be selected. (UNI-85216)

VMware Horizon View

  • Elastic layers are only supported with floating desktop pools. (UNI-53442)
  • When creating a Windows 10 or Windows Server 2016 virtual machine on VMware version 6.7, the machine’s boot options default to the Unified Extensible Firmware Interface (UEFI). App Layering does not support UEFI virtual machines. Use the BIOS setting instead. (UNI-69435)
  • VMware Virtual Volumes (VVols) are not supported in App Layering. (UNI-62302)

Microsoft Azure

  • App Layering does not support Azure File storage. For storage in Azure, create an SMB file share or a network file share. (UNI-42272)
  • Managed disks are only supported for OS imports. Packaging app layers and publishing images only produce unmanaged disks. When creating a virtual machine in Azure, select No managed disks.

Microsoft Hyper-V

  • When selecting a Hyper-V connector configuration for Offload compositing and your OS layer is Gen 2, the layer must have at least one version besides the original. Also, the platform layer where the Citrix Provisioning target device software is installed must be created using the new OS layer version. (UNI-85044)
  • When a Hyper-V connector configuration is set for Offload Compositing with Gen 2 (UEFI) and VHDX, choosing VHD as the Disk Format in the Citrix Provisioning connector configuration is allowed, but this configuration is not supported.
  • When you configure Elastic Layering in Hyper-V, you must use unmanaged RDS pools (UNI-53545)
  • When creating an app layer, if a platform layer is specified in the app layer settings, you receive an error. Do not use platform layers with App Layering’s caching feature. (UNI-71868, UNI-67743)

    image

  • Creating an OS layer on Hyper-V Server 2019 can result in this error:

    ‘Failed to create VHD. Make sure there is enough space on the share specified in the connector configuration.’

    This error is due to an issue with the Microsoft PowerShell New-VHD cmdlet. We are keeping our eye out for a fix from Microsoft. In the meantime, use the following workaround for this error:

    1. Make sure the Gold VM has no checkpoints.
    2. Make sure the Gold VMs disk is in the same directory path that is configured in the connector config. Example:
      Local path is D:Brock
      Gold VM disk is stored in D:BrockWIn10GoldWin10GoldDisk.vhdx
  • Support Knowledge Center
  • Enterprise Architect TechTalks: Citrix App Layering FAQ
  • Citrix App Layering Discussions
  • Application Layering Recipes

Время прочтения
6 мин

Просмотры 2K

Континент со светящимися точками ночных городов в один миг погружается во мрак — так выглядит энергетический коллапс во всех блокбастерах. Приблизительно также можно представить сбой системы доставки приложений в крупной компании: щелк! — и перед тысячами пользователей «мертвый» экран. В ИТ-инфраструктурах виртуальных рабочих мест крупных заказчиков способ доставки приложения пользователю играет большую роль. От него зависит время простоя, скорость работы и, наконец, стоимость содержания рабочих мест. Сегодня мы хотим рассказать о самом масштабном (по данным Citrix) внедрении решения Citrix App Layering, которое мы недавно завершили в банке Топ-10.

Для крупного банка с большим числом филиалов, доставшихся в итоге поглощения, проблема централизованного управления ИТ-сервисами стояла очень остро. Действовавшая система доставки приложений выполняла эту задачу не всегда корректно. Нередко ее сбой останавливал работу десятков тысяч пользователей по всей стране. Из работы, как при выключении рубильника, выпадали все: от сотрудников фронт-линии и call-центра до головного офиса и внешних разработчиков.

Тема внедрения новых систем для организации виртуальных рабочих мест, которые бы работали лучше, чем терминальный доступ, прорабатывалась банком давно. Но, чтобы перейти на наиболее технологичные решения, были нужны две вещи: экспертиза в работе с новинками и миграция уже используемых приложений на новую платформу.

Карточный домик из 200 сервисов и его обновление

Итак, банк серьезно вырос за счет слияний и поглощений, что добавило сложностей в работу с приложениями. На момент старта нашего проекта у заказчика работало 6 ферм Citrix разных версий, а также еще одна инсталляция VMware. При этом использовались устаревшие версии Citrix, уже давно не поддерживаемые вендором.

Чтобы создать виртуальные рабочие места пользователям, ИТ-отдел банка использовал исторически сложившийся монолитный образ, состоящий из более чем 200 приложений в одной операционной системе. Весь этот набор ПО был тесно связан с системным софтом, компонентами и драйверами. Дополнительные изменения в этом образе без предварительного тестирования почти гарантировали поломку одного или нескольких внутренних программных компонентов внутри образа. Поэтому развертывание новых версий ПО, а значит, и образов для виртуальных рабочих мест замедлялось, пользователи с большой задержкой получали новые сервисы, а для ИТ-службы заказчика это создавало дополнительные сложности в работе.

Пять специалистов банка непрестанно трудились над эверестом задач, связанных с поддержкой ИТ-инфраструктуры, и контролировали работу систем доставки приложений. На поиск причин сбоев уходило до двух часов, на протяжении которых бизнес-пользователям приходилось пить чай и обсуждать погоду. Наконец, дальнейшее масштабирование инфраструктуры в таком виде было просто невозможно, так как привело бы к еще большим периодам простоя.

Приложения в отдельных слоях

Достойной альтернативой имеющемуся в банке монолитному образу была система разделения приложений по слоям. Этот способ доставки приложений напоминает работу контейнеров. Каждый сервис предоставляется в своем слое, а слои можно при необходимости совмещать и доставлять на рабочий стол пользователя в зависимости от назначенных ему прав.

Когда каждое приложение работает в отдельном слое (App Layer), нужный сервис подключается в момент старта виртуального рабочего стола. На диске виртуальной машины такие приложения выглядят как отдельные сущности файловой системы, легко подключаются и отключаются и существуют независимо друг от друга (если иное не требуется). Это дает возможность обновлять и поддерживать каждый сервис в отдельности. Разные пользователи и группы получают свои наборы приложений или даже разные их версии. А администратор через единую консоль видит всю картину — где и какие слои использованы. Через консоль можно менять настройки, а также модифицировать виртуальное рабочее место сотрудника практически без остановки его работы. Частным случаем слоя приложения являются так называемые эластичные слои (Elastic Layer): это те же самые слои приложений (App Layer), но с возможностью их подключения в момент Logon пользователя в виртуальное рабочее место. Плюс этого подхода в том, что с его помощью можно создать довольно «тонкий» основной образ виртуального рабочего места и при необходимости подключать к нему остальные приложения в виде эластичных слоев.

Рис. 1. Схема App Layering поверх виртуализации

Рис. 1. Схема App Layering поверх виртуализации

ИТ-служба банка хорошо знакома с решениями Citrix, и они были совместимы с существующей ИТ-инфраструктурой. Поэтому выбор был сделан в пользу системы доставки приложений Citrix App Layering (CAL). 

Правила «слоистости» 

После анализа ситуации и выбора технологий наша команда стартовала пилотный проект. В первую волну внедрения за 1,5 месяца мы развернули систему доставки приложений и перенесли на новую платформу около 100 наиболее часто используемых приложений, для которых вопросы конфигурации решались проще.

Рис. 2. Схема запуска «один после другого»

Рис. 2. Схема запуска «один после другого»

Но дьявол кроется в деталях. При миграции в отдельные слои многие приложения мигрировали без проблем, но иногда возникали ситуации, когда одному из приложений требовалось другое приложение. Учитывая такие взаимосвязи, мы выстраивали запуск отдельных слоев при назначении их на определенные группы пользователей в очередь. В основном задача миграции приложения таким путем решалась. Но, когда интеграция у нескольких приложений была еще больше (например, Oracle Client, ПО криптографии/ЕЦП плюс некоторые самописные модули прикладного ПО), мы их располагали в одном слое. Подготовленные подобным образом слои доставлялись на виртуальные рабочие места пользователей.

Для большинства сотрудников сохранять данные после сессии не нужно. Пользователь работает с нужными приложениями в слоях CAL, а в конце рабочего дня виртуальное рабочее место удаляется. Но топ-менеджерам, руководителям подразделений, разработчикам и прочим группам нужно сохранять рабочие данные. Поэтому дополнительным элементом платформы банка стали пользовательские слои (User Layers), которые кастомизируют рабочие места.

Рис. 3. Графическая схема пользовательских слоев

Рис. 3. Графическая схема пользовательских слоев

Теоретически для этого можно пойти стандартным путем: подключить сетевой диск, монтировать устройство и сохранять файлы только там. Но с подключением User Layer все намного удобнее: элементы кастомизации рабочего места (его внешний вид, персональные настройки ПО, в том числе доставляемого в виде App/Elastic Layer, возможность установки персонального ПО, хранение файлов в папках пользователя) хранятся и управляются централизованно.

От внедрения до результата

Внедрение в целом заняло меньше года. Мы разворачивали систему в стандартном виде и последовательно переносили отдельные приложения монолитного образа на новую схему работы. Некоторые из приложений нужно было загружать раньше других, другие — группировать в одном слое, для третьих порядок был не так важен. Для ряда приложений при переезде с устаревших версий Citrix перенастраивались параметры или делалась небольшая доработка. И, чтобы проверить, как работает каждый сервис после переноса на платформу Citrix App Layering, мы готовили рабочие места и размещали приложения в слоях. После этого тестировали в несколько этапов:

  1. Запуск ПО: открываются ли приложения? корректно ли они выполняют свои функции?

  2. Оценка фокус-группой работоспособности необходимых функций в реальных условиях.

  3. Обратная связь от широкой группы пользователей о работе приложения.

Так, слой за слоем, мы выстроили работающую систему доставки приложений. Результаты перехода на Citrix App Layering оказались впечатляющими.

Ранее в банке рутинным администрированием фермы виртуальных рабочих мест занималось пять человек, а сейчас — один специалист.

Число терминальных серверов тоже уменьшилось, а значит, снижены затраты на обслуживание и содержание оборудования. У заказчика получилось обновить отдельные компоненты ИТ-инфраструктуры и число инцидентов сократилось: если до начала проекта за год было отработано более 10 крупных сбоев, то после внедрения — всего один за полгода. При этом время локализации проблемы сжалось с 2 часов до 15 минут.

Выбор в пользу Citrix App Layering оправдал себя и с точки зрения дальнейшего развития инфраструктуры. Появились возможности миграции между платформами виртуализации, поэтому банк смог перенести систему виртуализации рабочих мест на новую гиперконвергентную платформу. Повторюсь, это было бы невозможно в случае выбора закрытой платформы с Vendor Lock-In.

Инфраструктура с уже переведенными по разным слоям приложениями распределена по двум ЦОД. Это, во-первых, обеспечивает катастрофоустойчивость ИТ-инфраструктуры, а во-вторых, гарантирует бесперебойную работу всех 20+ тысяч пользователей, если в одном из ЦОД происходят работы или обновления.

Еще один важный факт — у системы виртуализации рабочих мест банка появилась возможность масштабирования. Теперь нужный сервис конкретному работнику или группе пользователей можно добавить одним кликом мышки. 

И вишенка на торте: мы постарались передать экспертизу по переводу приложений в отдельные слои ИТ-службе заказчика, так что сегодня коллеги сами прекрасно справляются с организацией доставки приложений.

Автор: Иван Краснов, инженер-проектировщик вычислительных комплексов «Инфосистемы Джет»

While trying to import layers, App Layering console displays an error: “An unexpected exception occurred. If this problem continues, contact Technical Support and provide them with the details of this exception”.

User-added image

Looking at the ELM Web logs, we might see the below errors:

ERROR [2832] HandlerHelper: Unhandled System Error while processing ‘Query’ ‘ImportableRevisionsQuery’

System.Threading.ThreadAbortException

at <0x00000 + 0x00000> <unknown method>

at (wrapper remoting-invoke) Unidesk.Ma.Core.Contract.IMaFileShareBaseService:QueryPortableVersionDetails (Unidesk.Ma.Core.Contract.Queries.PortableRevisionDetailsQuery)

at MaFileShareService.QueryPortableVersionDetails (Unidesk.Ma.Core.Contract.Queries.PortableRevisionDetailsQuery ) [0x00006] in <c95541a62bf14d94b006de7142aab25b>:0

2020-02-16 07:02:26,689 ERROR [2832] HandlerHelper: Title: System Error Message: An unexpected system error occurred. Retry the operation or contact technical support. Details: Exception Message: ThreadAbortException Exception Details:

  • Feb 03, 2018
  • /

  • App Layering, Citrix Fixes

A list containing the majority of Citrix App Layering support articles collated to make this page a one stop place for you to search for and find information regarding any issues you have with the product and its related dependencies.

The page is updated daily with new support articles and information. Articles will change from time and if information here is outdated or incorrect please let me know using the comments. Links may also expire or change so if you find broken links, please again let me know. For each issue, known product versions affected are recorded however that does not mean products versions that aren’t listed are not affected.

There is a search box that you can use if looking for a specific fault. For example if you have an error code or error message, use that to perform a search. You can also use your browsers search feature which will perform a search against the whole page based on the words you enter.

App Layering:

wdt_ID Brief Description of Issue Brief Description of Fix Applicable Product Versions Affected (if known) Link to supplemental Support Article(s)
20 Whilst logged on to the App Layering Management Console, you get unexpected errors and disconnects. From the console you may also see «Connectivity Failure» or «No connection to Layering Service». Reboot the Enterprise Layer Manager appliance. This allows the internal services to reconnect to each other and is the most likely solution. Citrix App Layering 4.x. https://support.citrix.com/article/CTX226405
21 Windows 10 major upgrade may result in new Recovery Volume partition. Make sure to remove the volume using diskpart before finalising the OS layer. Failure to do so could result in desktops failing to boot correctly. This also applies to booting Virtual Machines via PVS. https://support.citrix.com/article/CTX226407
22 «SYSTEM_THREAD_EXCEPTION_NOT_HANDLED CVhdMP.sys» message when booting images created by App Layering via Citrix Provisioning Services. 1. Check the NIC slot number if using ESX. 2. Make sure Target Device hardware is not too different from the Packaging Machine. 3. Check publishing Platform layer hypervisor version is set correctly for the hypervisor you are using. 4. Make sure E1000 NICs are not in use. 5. If using Hyper-V, create the Platform layer on a Packaging Machine that has a Legacy NIC attached. http://www.jgspiers.com/0x0000007e-bnistack-failed-vmware/
24 When publishing an image to PVS, you receive the following error: «A failure occurred while publishing the image to PVS server servername (servername.fqdn). Error: The operation being requested was not performed because the user has not logged on to the network. The specified service does not exist. (Exception from HRESULT: 0x800704DD)». Uninstall then install the App Layering agent again. Try running the install media locally instead of over the network. https://discussions.citrix.com/topic/388589-after-upgrade-to-app-layering-43-publish-to-pvs-79-failing/
25 You receive various App-V related issues including publishing issues. Upgrade to App Layering 4.4+ Citrix App Layering 4.2 and 4.3.
26 Unable to import Windows 10 gold image into App Layering. During the import job, you receive the following error: «The CachePoint Appliance could not import the gold image VM to create the Operating System Layer. Error is: Failed to copy folders recursively». The import fails if the gold image has Windows Updates from Feburary 2017 and newer installed. From the gold image, delete file «Microsoft.MicrosoftOfficeHub». https://support.citrix.com/article/CTX222733
27 When trying to create or edit a connector, you receive a «Authentication Failed (401)» error. This is a problem caused by long-running Active Directory queries inside the ELM appliance create a database lock that causes the rest of the connector transaction to timeout. Upgrade to App Layering 4.3+. This version introduces some improvements however some issues still remain. https://support.citrix.com/article/CTX224176
28 When clicking the search box within Outlook 2016/2013 in an Elastic Layered image, a prompt for credentials is displayed and an installer launches and hangs. Install the Windows Search Service in a new OS layer version. https://support.citrix.com/article/CTX224077
29 You receive error «Failed to probe partitions from virtual disk» when importing the OS layer. This is most often seen when importing a XenServer Windows 10 gold image that was exported as an OVF, however could happen to any image. Extend the gold image virtual disk by 1GB. Don’t extend the partition within Windows. https://support.citrix.com/article/CTX223716
30 When creating a layer, you get the following error: «Failed to execute script: vCenter returned an unexpected failure. A specified parameter was not correct». This issue was due to attempts at creating a layer on ESXi 5.1 which is not supported by App Layering. You must point App Layering connectors to ESXi 5.5+ hosts. https://support.citrix.com/article/CTX223690

Hi all,

I’m doing a deployment of Traps 6.1.4 on a new Windows 10 installation, using Citrix App Layering and MCS. According to this, I should be able to install Traps in the OS layer, so that’s what I’ve done (I also tried it in an App layer with similar results as below). I’ve used the msiexec /i c:installtraps.msi /l*v C:temptrapsinstall.log /qn VDI_ENABLED=1 command to install, because it’s becoming the golden image for my MCS. After compiling the image with all the layers, I’ve started it up and did a cytool vdi update, because it got a new name when publishing. It’s showing up in TMS just fine as a Golden Image.

But when doing the cytool imageprep scan, I noticed that it failed on a lot of files. While checking this, I noticed that the console says No connection to server (but protection is Enabled) and looking through the logs I found this:

<Error> Error renaming of former Content Update folder with error=5: Access to file denied: C:ProgramDataCyveraLocalSystemDownloadcontent

<Error> Error setting new content 93-18050 with error code 5

<Error> Error applying new policy, error code 5

I have tried changing the permissions for that folder to Everyone/Full Control, but that doesn’t help. When I try to manually change the folder name, I get Access is denied., even though I try to do this from an Administrator command prompt.

So what permissions do I need to change to allow this? Or do I need to take something else into account with App Layering?

— Pud.0

Citrix released Citrix App Layering last week. The Citrix solution layers applications, and optionally the OS, to Citrix desktops and XenApp servers. We’d encourage every Citrix customer that has access to the solution to try it, after all most features are included in the Citrix stack while some advanced features are reserved for Citrix Platinum customers. Ever since the recent introduction of Citrix AppDisk, Citrix customers seemed to have longed for something more capable so it’s good news to customers now that they have another method of layering in their stack to try in the form of Citrix App Layering. When layering works correctly the image management and application delivery benefits of layering can be tremendous.

We recently stood Citrix App Layering up in our labs and found that not a lot has changed since it was sold under the Unidesk name. Citrix App Layering offers two methods for layering applications, one that delivers applications with the OS (formerly known as Unidesk Core), another which sometimes offers the ability to deliver the application as a VHD layer to an existing image – known as an “Elastic Layer.”  Per the management console, not every application is ideal to be delivered as an Elastic layer and you may be warned that applications may not work as an Elastic layer – this was our experience with NotePad++ with Citrix App Layering. You must first go through a rather lengthy packaging process that is the same for both delivery types, only then will you be told whether or not the application is apt to work as an elastic layer (see first video link below).

Just like when VMware released App Volumes, we encourage every Citrix customer to try their new App Layering that may be included in your current license. We’d also like to kindly remind you that when you run into areas where Citrix App Layering does not work for you, we’d encourage you to compare Citrix App Layering to the Citrix Ready Verified solution from us – Liquidware Labs FlexApp. Here are some of the reasons you’ll want to compare the two. If….

  • You may need a faster packaging process. FlexApp is about 10 times faster to package applications. See first video link below.
  • You need a streamlined way to update packaged applications. FlexApp is also about 10 times faster to update applications.
  • You need a solution that works with PVS and MCS seamlessly without the complexities of layering the OS. FlexApp layers are truly flexible and independent, Liquidware was the first with “elastic-like” layering. There is no need to change the way you manage your base images with FlexApp.
  • You need a solution that allows you to go to the Cloud at your own pace, with a management console that can be on-premises or in the cloud. FlexApp has you covered.
  • You need a solution that allows you to truly package once, independent of the OS or Hypervisor version. FlexApp allows you to package once and then most apps will work across Windows 7, 10, Server 2012, and Server 2016.
  • You need a solution that is not tied to your desktop/broker licenses and will work across any connected Windows desktop. FlexApp has you covered.
  • You need a solution that keeps storage to a minimum. FlexApp layers are about 90% smaller (without compression).
  • You need to be able to entitle your layered applications to users quickly. FlexApp entitlement takes less than 2 minutes! Contrast that with a 22 minute process for the same app. See second video link below.
  • You need a solution that has integrated but optional User Environment Management (ProfileUnity) options including entitlement based on context aware groups beyond Microsoft AD.
  • You need a integrated Layering and UEM solution like ProfileUnity that has optional built in Application Rights Management and Privilege Elevation.
  • You don’t want to couple your app layering to OS layering for complex applications such as those with drivers and services. FlexApp is capable of delivering apps with drivers and services while remaining independent of specific OS and hypervisor based images/layers.

Options are Good!
Citrix customers benefit when there are clear options. Options in the market keep Liquidware Labs, Citrix, and VMware on their toes and customers benefit with continued improvement in features and design. That’s why the Citrix Ready program is so great. If you need alternative solutions like monitoring, UEM, application delivery, printer management, etc., there are many Citrix Ready partners to choose from that can meet your organization’s needs while remaining in the Citrix ecosystem.

FlexApp will continue to Push the Envelope
In addition to these advantages we have a new release with even more features for any well connected Windows desktop and we’ll also offer enhanced support for XenApp around the corner in FlexApp v6.7. Be on the lookout for that about the time of Citrix Synergy next month.

You might say that you don’t have time to compare the two? Don’t worry, we’ve done the hard work for you with the following two videos.
1) Watch this video of Citrix App Layering/Unidesk compared directly to Liquidware Labs FlexApp when packaging a simple app like Notepad++.

2) Watch this video comparing the process of entitling an application to a group of users.

These videos detail the differences that I have outlined above.

Summary
We encourage you to try Citrix App Layering but just like any of the included Citrix tools, keep your options open and know there are clear Citrix Ready alternatives in the market if it does not work for your organization’s needs. If you are not already a FlexApp customer, you can download and try the solution here. See you at Citrix Synergy in May!

  • Pathfinder
  • 0 replies

Specs:

Citrix App Layering Version: 4.11

AOS: 5.5

Prism Central: 5.5

We are running into an issue when creating new app layers and platform layers after upgrading to 5.5. If I disconnect our clusters from prism central, the creation process works. The app layering appliance appears to have issues creating a packaging VM on the nutanix clusters as prism central is now managing the CRUD operations, as opposed to being managed strictly by the cluster.

The error message we get in app layering is:

The Nutanix server has encountered a failure processing the request: (500) Error: Internal Server Error, Details: Error occurred while creating Disk Image

I’m not the most familiar with the low end nutanix platform, and where to search for logs, but it appears to be caused by the centralized image managed, or the centralized VM management function of prism.

Has anyone else ran into this issue, or possibly know when this will be fixed? Citrix’s response is lackluster (as usual), and they state that they only support prism element, not prism central. Any help is GREATLY appreciated! This may not be the appropriate subforum for this question…

icon

Best answer by jariangibson 14 June 2018, 15:29

View original

Статья обновлена: 24 августа 2021
ID: 15748

Статья относится к Kaspersky Security для виртуальных сред 5.2 Легкий агент.

Проблема

Когда компонент Контроль запуска программ работает в режиме Список разрешенных программ, он может блокировать Citrix App Layering. Подробнее о режимах компонента Контроль запуска программ смотрите в справке.

Решение

Перед использованием Citrix App Layering совместно с Kaspersky Security для виртуальных сред Легкий агент:

  1. Откройте Kaspersky Security Center.
  2. Создайте новую категорию программ и добавьте в нее файл C:Program FilesUnideskLayering ServicesLayerInfo.exe

    Инструкция в справке.
  3. Создайте новое правило Контроля запуска программ для режима Список разрешенных программ. Инструкция в справке. В шаге 9 выберите категорию, которую вы создали ранее.

Вам помогла эта страница?

#==========================================================================

#

# CITRIX APP LAYERING AGENT

#

# AUTHOR: Dennis Span (https://dennisspan.com)

# DATE  : 10.09.2017

#

# COMMENT: This script installs the Citrix App Layering Agent on a Provisioning

#          Server and registers the agent to the Citrix App Layering Enterprise

#          Layer Manager (the ELM)

#

# This script has been designed for the Citrix App Layering Agent version 4.4 to 4.8

#

# This script has been designed for the following operating systems:

# -Windows Server 2008 R2 SP1

# -Windows Server 2012 R2

# -Windows Server 2016 build 1607

#

# This script has been tested on the following operating systems:

# -Windows Server 2016 build 1607

#

# This script works on 32-bit and 64-bit operating systems

#

#==========================================================================

# Get the script parameters if there are any

param

(

    # The only parameter which is really required is ‘Uninstall’

    # If no parameters are present or if the parameter is not

    # ‘uninstall’, an installation process is triggered

    [string]$Installationtype

)

# define Error handling

# note: do not change these values

$global:ErrorActionPreference = «Stop»

if($verbose){ $global:VerbosePreference = «Continue» }

# FUNCTION DS_WriteLog

#==========================================================================

Function DS_WriteLog {

    <#

        .SYNOPSIS

        Write text to this script’s log file

        .DESCRIPTION

        Write text to this script’s log file

        .PARAMETER InformationType

        This parameter contains the information type prefix. Possible prefixes and information types are:

            I = Information

            S = Success

            W = Warning

            E = Error

            — = No status

        .PARAMETER Text

        This parameter contains the text (the line) you want to write to the log file. If text in the parameter is omitted, an empty line is written.

        .PARAMETER LogFile

        This parameter contains the full path, the file name and file extension to the log file (e.g. C:LogsMyAppsMylogFile.log)

        .EXAMPLE

        DS_WriteLog -InformationType «I» -Text «Copy files to C:Temp» -LogFile «C:LogsMylogFile.log»

        Writes a line containing information to the log file

        .Example

        DS_WriteLog -InformationType «E» -Text «An error occurred trying to copy files to C:Temp (error: $($Error[0]))» -LogFile «C:LogsMylogFile.log»

        Writes a line containing error information to the log file

        .Example

        DS_WriteLog -InformationType «-» -Text «» -LogFile «C:LogsMylogFile.log»

        Writes an empty line to the log file

    #>

    [CmdletBinding()]

Param(

        [Parameter(Mandatory=$true, Position = 0)][ValidateSet(«I»,«S»,«W»,«E»,«-«,IgnoreCase = $True)][String]$InformationType,

        [Parameter(Mandatory=$true, Position = 1)][AllowEmptyString()][String]$Text,

        [Parameter(Mandatory=$true, Position = 2)][AllowEmptyString()][String]$LogFile

    )

$DateTime = (Get-Date -format dd-MM-yyyy) + » « + (Get-Date -format HH:mm:ss)

    if ( $Text -eq «» ) {

        Add-Content $LogFile -value («») # Write an empty line

    } Else {

    Add-Content $LogFile -value ($DateTime + » « + $InformationType.ToUpper() + » — « + $Text)

    }

}

#==========================================================================

# FUNCTION DS_InstallOrUninstallSoftware

#==========================================================================

Function DS_InstallOrUninstallSoftware {

     <#

        .SYNOPSIS

        Install or uninstall software (MSI or SETUP.exe)

        .DESCRIPTION

        Install or uninstall software (MSI or SETUP.exe)

        .PARAMETER File

        This parameter contains the file name including the path and file extension, for example C:TempMyAppFilesMyApp.msi or C:TempMyAppFilesMyApp.exe.

        .PARAMETER Installationtype

        This parameter contains the installation type, which is either ‘Install’ or ‘Uninstall’.

        .PARAMETER Arguments

        This parameter contains the command line arguments. The arguments list can remain empty.

        In case of an MSI, the following parameters are automatically included in the function and do not have

        to be specified in the ‘Arguments’ parameter: /i (or /x) /qn /norestart /l*v «c:LogsMyLogFile.log»

        .EXAMPLE

        DS_InstallOrUninstallSoftware -File «C:TempMyAppFilesMyApp.msi» -InstallationType «Install» -Arguments «»

        Installs the MSI package ‘MyApp.msi’ with no arguments (the function already includes the following default arguments: /i /qn /norestart /l*v $LogFile)

        .Example

        DS_InstallOrUninstallSoftware -File «C:TempMyAppFilesMyApp.msi» -InstallationType «Uninstall» -Arguments «»

        Uninstalls the MSI package ‘MyApp.msi’ (the function already includes the following default arguments: /x /qn /norestart /l*v $LogFile)

        .Example

        DS_InstallOrUninstallSoftware -File «C:TempMyAppFilesMyApp.exe» -InstallationType «Install» -Arguments «/silent /logfile:C:LogsMyApplog.log»

        Installs the SETUP file ‘MyApp.exe’

    #>

    [CmdletBinding()]

Param(

        [Parameter(Mandatory=$true, Position = 0)][String]$File,

        [Parameter(Mandatory=$true, Position = 1)][AllowEmptyString()][String]$Installationtype,

        [Parameter(Mandatory=$true, Position = 2)][AllowEmptyString()][String]$Arguments

    )

    $FileName = ($File.Split(«»))[-1]

    $FileExt = $FileName.SubString(($FileName.Length)-3,3)

    # Prepare variables

    if ( !( $FileExt -eq «MSI») ) { $FileExt = «SETUP» }

    if ( $Installationtype -eq «Uninstall» ) {

        $Result1 = «uninstalled»

        $Result2 = «uninstallation»

    } else {

        $Result1 = «installed»

        $Result2 = «installation»

    }

    $LogFileAPP = Join-path $LogDir ( «$($Installationtype)_$($FileName.Substring(0,($FileName.Length)-4))_$($FileExt).log» )

    # Logging

    DS_WriteLog «I» «File name: $FileName» $LogFile

    DS_WriteLog «I» «File full path: $File» $LogFile

    if ([string]::IsNullOrEmpty($Arguments)) {   # check if custom arguments were defined

        DS_WriteLog «I» «File arguments: <no arguments defined>» $LogFile

    } Else {

        DS_WriteLog «I» «File arguments: $Arguments» $LogFile

    }

    # Install the MSI or SETUP.exe

    DS_WriteLog «-« «» $LogFile

    DS_WriteLog «I» «Start the $Result2» $LogFile

    if ( $FileExt -eq «MSI» ) {

        if ( $Installationtype -eq «Uninstall» ) {

            $FixedArguments = «/x ««$File»» /qn /norestart /l*v ««$LogFileAPP»«»

        } else {

            $FixedArguments = «/i ««$File»» /qn /norestart /l*v ««$LogFileAPP»«»

        }

        if ([string]::IsNullOrEmpty($Arguments)) {   # check if custom arguments were defined

            $arguments = $FixedArguments

            DS_WriteLog «I» «Command line: Start-Process -FilePath ‘msiexec.exe’ -ArgumentList $arguments -Wait -PassThru» $LogFile

            $process = Start-Process -FilePath ‘msiexec.exe’ -ArgumentList $arguments -Wait -PassThru

        } Else {

            $arguments =  $FixedArguments + » « + $arguments

            DS_WriteLog «I» «Command line: Start-Process -FilePath ‘msiexec.exe’ -ArgumentList $arguments -Wait -PassThru» $LogFile

            $process = Start-Process -FilePath ‘msiexec.exe’ -ArgumentList $arguments -Wait -PassThru

        }

    } Else {

        if ([string]::IsNullOrEmpty($Arguments)) {   # check if custom arguments were defined

            DS_WriteLog «I» «Command line: Start-Process -FilePath ««$File»» -Wait -PassThru» $LogFile

            $process = Start-Process -FilePath «$File» -Wait -PassThru

        } Else {

            DS_WriteLog «I» «Command line: Start-Process -FilePath ««$File»» -ArgumentList $arguments -Wait -PassThru» $LogFile

            $process = Start-Process -FilePath «$File» -ArgumentList $arguments -Wait -PassThru

        }

    }

    # Check the result (the exit code) of the installation

    switch ($Process.ExitCode)

    {        

        0 { DS_WriteLog «S» «The software was $Result1 successfully (exit code: 0)» $LogFile }

        3 { DS_WriteLog «S» «The software was $Result1 successfully (exit code: 3)» $LogFile } # Some Citrix products exit with 3 instead of 0

        1603 {

            DS_WriteLog «E» «A fatal error occurred (exit code: 1603). Some applications throw this error when the software is already (correctly) installed! Please check.» $LogFile

            Exit 1

            }

        1605 { DS_WriteLog «I» «The software is not currently installed on this machine (exit code: 1605)» $LogFile }

        1619 {

            DS_WriteLog «E» «The installation files cannot be found. The PS1 script should be in the root directory and all source files in the subdirectory ‘Files’ (exit code: 1619)» $LogFile

            Exit 1

            }

        3010 { DS_WriteLog «W» «A reboot is required (exit code: 3010)!» $LogFile }

        default {

            [string]$ExitCode = $Process.ExitCode

            DS_WriteLog «E» «The $Result2 ended in an error (exit code: $ExitCode)!» $LogFile

            Exit 1

        }

    }

}

#==========================================================================

################

# Main section #

################

# Disable File Security

$env:SEE_MASK_NOZONECHECKS = 1

# Custom variables [edit]

$BaseLogDir = «C:Logs»                                   # [edit] add the location of your log directory here

$PackageName = «Citrix App Layering Agent»                # [edit] enter the display name of the software (e.g. ‘Arcobat Reader’ or ‘Microsoft Office’)

# Global variables

$StartDir = $PSScriptRoot # the directory path of the script currently being executed

if (!($Installationtype -eq «Uninstall»)) { $Installationtype = «Install» }

$LogDir = (Join-Path $BaseLogDir $PackageName).Replace(» «,«_»)

$LogFileName = «$($Installationtype)_$($PackageName).log»

$LogFile = Join-path $LogDir $LogFileName

# Custom variables for customer [edit]

$ELMAddress = «DNS name or IP address»                            # [edit] The DNS name or IP address of the ELM

$ELMAdminAccount = «MyDomainMyUser»                              # [edit] The user account with administrative access to the ELM (e.g. MyDomainMyUser, e.g. Contosoadmin1)

$ELMAdminAccountPassword = «MyPassword»                           # [edit] The password of the user account with administrative access to the ELM console. See the article ‘https://dennisspan.com/encrypting-passwords-in-a-powershell-script/’ to learn how to securely parse your password (and not use plain text).

$ErrorLogFile = Join-Path $LogDir «RegisterWithELMErrorLog.log»   # [edit] The location of the error log. Only change this value if you DO NOT want to save the error log in the same

                                                                  # directory as the installation log file. The error log file is only created in case of an error. If there is no

                                                                  # error, no log file is created.

# Create the log directory if it does not exist

if (!(Test-Path $LogDir)) { New-Item -Path $LogDir -ItemType directory | Out-Null }

# Create new log file (overwrite existing one)

New-Item $LogFile -ItemType «file» -force | Out-Null

DS_WriteLog «I» «START SCRIPT — $Installationtype $PackageName» $LogFile

DS_WriteLog «-« «» $LogFile

###########################################################################

# Install or uninstall software

$FileName = «Citrix App Layering Agent.msi»                                                                                                       # [edit] enter the name of the installation file (e.g. ‘MyApp.msi’ or ‘setup.exe’)

if ( $Installationtype -eq «Uninstall» ) {  

    $Arguments = «»                                                                                                                               # [edit] enter arguments (for MSI file the following arguments are added by default: /i #File# /qn /norestart / l*v #LogFile#)

} else {

    $Arguments = «PORT=8016 SKIP_ELM_REGISTRATION=1 TRANSFORMS=»«CitrixAppLayeringAgentSkipELMRegistration.mst»«»                                 # [edit] enter arguments (for MSI file the following arguments are added by default: /i #File# /qn /norestart / l*v #LogFile#)

}

$FileSubfolder = «Files»                                                                                                                          # [edit] enter the name of the subfolder which contains the installation file (e.g. ‘Files’ or ‘MSI’)

$FileFullPath = Join-Path $StartDir $FileSubfolder                                                                                                # Concatenate the two directories $StartDit and $InstallFileFolder

DS_InstallOrUninstallSoftware -File ( Join-Path $FileFullPath $FileName ) -InstallationType $Installationtype -Arguments $Arguments

# Only run the following commands during installation, not uninstallation

If (! ($Installationtype -eq «Uninstall») ) {

    DS_WriteLog «-« «» $LogFile

    # Register agent to the Enterprise Layer Manager

    $Executable = «C:Program Files (x86)CitrixAgentCitrix.AppLayering.Agent.Service.exe»

    $Param1 = «/elmaddress:$ELMAddress»

    $Param2 = «/user:$ELMAdminAccount»

    $Param3 = «/password:$ELMAdminAccountPassword»

    $Param4 = «/errorfile:»«$ErrorLogFile»«»

    $Param5 = «/ignorecerterrors:true»

    DS_WriteLog «I» «Register agent to the Enterprise Layer Manager» $LogFile

    DS_WriteLog «I» «Command: $Executable registerwithelm $Param1 $Param2 /password:***** $Param4 $Param5» $LogFile

    $Error.Clear()

    & $Executable registerwithelm $Param1 $Param2 $Param3 $Param4 $Param5 | Out-Null                                                              # Start the installation (& = run external command)

    if ( $? -eq $True ) {

        DS_WriteLog «S» «The agent successfully registered to the ELM ($ELMAddress)» $LogFile

    } else {

        DS_WriteLog «E» «An error occurred trying to register the agent to the ELM» $LogFile

        DS_WriteLog «E» «See the error log file for more information: $ErrorLogFile» $LogFile

        Exit 1

    }

}

###########################################################################

# Enable File Security  

Remove-Item env:SEE_MASK_NOZONECHECKS

DS_WriteLog «-« «» $LogFile

DS_WriteLog «I» «End of script» $LogFile

Понравилась статья? Поделить с друзьями:
  • Citizen clp 621 condition error
  • Citizen cl s700 error ribbon end как исправить
  • Citizen cl s631 ошибка
  • Citizen ch605 error
  • Citizen 521 condition error