Navigation
GuidesUpdated July 3, 2026

Epic Application Installation Playbooks

guideepicansibleautomationapplication-installationpreinstallwindowsazureplaybooksconfiguration-management

Epic Application Installation: Playbooks Overview

Introduction

This document provides a high-level operational overview of the Ansible playbooks in the EoA Playbooks directory.

These playbooks are designed to automate the preinstallation steps required before deploying Epic applications on Azure infrastructure.

The primary goal of these playbooks is to ensure that all necessary Windows installations, configurations, and environment preparations are completed for the 11 Epic-related applications listed below.

Purpose of Preinstall Playbooks

Preinstall playbooks perform essential setup tasks that must be completed prior to the main application installation process. These steps typically include, but are not limited to:

  • Installing required Windows features and roles
  • Configuring system environment variables
  • Preparing directories and file systems
  • Setting up required services and dependencies
  • Applying group policy or security settings
  • Ensuring connectivity and prerequisites for subsequent application installations

By executing these preinstall playbooks, you ensure a consistent, repeatable, and validated environment for each Epic application, reducing manual effort and the risk of misconfiguration.

Applications Covered

The following Ansible playbooks represent preinstall steps for these Epic applications:

Each playbook is tailored to the specific installation requirements of its respective application, but they share a common approach and often include similar foundational steps.

When to Use These Playbooks

  • Prior to Initial Application Installation: Run the relevant preinstall playbook for each application before starting its main installation.
  • When Rebuilding Application Hosts: If a server is rebuilt or reimaged, rerun the preinstall playbook to restore the baseline configuration.
  • For Environment Consistency: Use these playbooks in test and production environments to maintain uniformity.

Next Steps

The following documentation sections will provide detailed, task-level breakdowns of each playbook, including parameter explanations, prerequisites, and operational tips.


BCA

This section outlines the preinstallation tasks automated by the Ansible BCA role. These steps ensure the Windows environment is properly prepared for deploying the BCA Epic Client Application.

Key Preinstall Tasks

1. Windows Feature Installation

The playbook ensures that all required Windows features and roles are present for BCA. It installs a set of features using ansible.windows.win_feature:

  • .NET Framework 4.5 WCF Services (NET-WCF-Services45)
  • .NET Framework 4.5 HTTP Activation (NET-WCF-HTTP-Activation45)
  • ASP.NET 4.5 (Web-Asp-Net45)
  • Web Server (IIS) (Web-Server, Web-WebServer, Web-App-Dev)
  • FTP Server and FTP Service (Web-Ftp-Server, Web-Ftp-Service)
  • Microsoft Message Queuing (MSMQ) (MSMQ)

These features are essential for application hosting, web functionality, messaging, and integration.

2. Visual C++ Redistributable Validation and Installation

The playbook checks if any Microsoft Visual C++ Redistributables are installed using a PowerShell script. If none are detected, it proceeds to:

  • Create a temporary directory (C:\Temp)
  • Download the Visual C++ 2017 Redistributable installer from a provided source (visualc_src), using secured credentials (jfrog_user and jfrog_token)
  • Install the redistributable silently via ansible.windows.win_package
  • Remove the installer after completion

Key Variables Used:


Digital Signing Server

This section describes the preinstallation steps automated by the Ansible role for the Digital Signing Server Epic Client Application. These steps ensure the Windows target system is properly prepared for deploying the Digital Signing Server application.

Key Preinstall Tasks

1. IIS Role Installation

The playbook ensures that the Internet Information Services (IIS) web server role is installed on the Windows host, using the following Ansible module:

  • ansible.windows.win_feature installs the Web-Server feature, which includes the IIS Role and its Management Tools.

This is a foundational requirement for hosting the Digital Signing Server application, ensuring the necessary web server infrastructure is present prior to installation.


EpicCare Link

This section details the preinstallation automation provided by the Ansible role for the EpicCare Link application. The tasks in this role ensure the required Windows and IIS environment is properly prepared for EpicCare Link deployment.

Key Preinstall Tasks

1. Windows and IIS Feature Installation

A set of essential Windows features and IIS roles are installed using ansible.windows.win_feature, including:

  • Web Server core features: Web-Server, Web-Common-Http, Web-Static-Content, Web-App-Dev
  • .NET and ASP.NET support: Web-Net-Ext, Web-Net-Ext45, Web-Asp-Net45
  • IIS Management: Web-Mgmt-Console, Web-Mgmt-Compat, Web-WMI
  • WCF and HTTP Activation: NET-WCF-HTTP-Activation45, NET-HTTP-Activation
  • Microsoft Message Queuing: MSMQ

These features are critical for web application hosting, .NET support, and messaging.

2. Application Pool Recycling Event Logging

The playbook configures IIS application pools to enable recycling event logging for several recycle triggers using community.windows.win_iis_webapppool. This includes events such as:

  • Time-based and request-based recycling
  • Scheduled recycling
  • Memory thresholds and unhealthy process detection
  • On-demand and configuration change recycling

The following pool settings are updated:

  • AppPoolRecycleTime
  • AppPoolRecycleSchedule
  • AppPoolRecyclelsapiUnhealthy
  • AppPoolRecycleOnDemand
  • AppPoolRecycleConfigChange
  • AppPoolRecyclePrivateMemory
3. Disable HTTP Compression

To avoid potential issues with compressed HTTP responses, the playbook disables both dynamic and static HTTP compression in IIS by running:

C:\Windows\System32\inetsrv\appcmd.exe set config /section:urlCompression /doDynamicCompression:False
C:\Windows\System32\inetsrv\appcmd.exe set config /section:urlCompression /doStaticCompression:False

This is achieved via the ansible.windows.win_shell module.


Hyperspace

This section describes the preinstallation steps automated by the Ansible role for the Hyperspace Epic Client Application. These steps ensure that the Windows environment is ready and optimized for Hyperspace deployment.

Key Preinstall Tasks

1. IIS and .NET Feature Installation

The playbook installs the required IIS (Internet Information Services) role and .NET Framework 4.5 features using ansible.windows.win_feature. The following features are installed:

  • Web-Server: Installs the IIS web server
  • NET-Framework-45-Features: Installs all .NET Framework 4.5 features
  • include_management_tools: yes ensures IIS management tools are also installed

This provides the necessary web and application hosting infrastructure for Hyperspace.

2. Power Plan Configuration

To ensure optimal performance, the playbook configures the Windows power plan:

  • Retrieves the current power plan using powercfg /GETACTIVESCHEME
  • Sets the power plan to "High performance" (using community.windows.win_power_plan) if it is not already active
  • Verifies and logs the active power plan after the change

This step ensures the server is not using a power-saving plan, which could negatively impact application performance.


Interconnect

This section details the preinstallation tasks automated by the Ansible role for the Interconnect Epic Client Application. These playbook steps ensure the Windows server is provisioned with the necessary components to support the Interconnect application.

Key Preinstall Tasks

1. IIS Feature Installation

The playbook installs a set of Internet Information Services (IIS) and related Windows features using ansible.windows.win_feature, including:

  • Web-Static-Content: Enables serving of static files (HTML, images, etc.)
  • Web-Asp-Net45: Installs ASP.NET 4.5 support for web applications
  • Web-Net-Ext45: .NET Framework 4.5 extensibility features
  • Web-Filtering: Enables request filtering in IIS for enhanced security and control
  • Web-Windows-Auth: Enables Windows Authentication for secure access
  • Web-Mgmt-Console: Provides IIS Management Console for administrative tasks

These features are critical for hosting, managing, and securing the Interconnect application and related Epic components.


Kuiper

This section outlines the preinstallation automation provided by the Ansible role for the Kuiper application. These steps ensure the Windows environment is properly prepared for Kuiper deployment and that installation prerequisites are addressed.

Key Preinstall Tasks

1. Windows Feature Installation

The playbook installs a core set of IIS and .NET features required by Kuiper, using ansible.windows.win_feature:

  • Web-Server: IIS Web Server
  • Web-Common-Http
  • Web-Static-Content
  • Web-App-Dev
  • Web-Net-Ext
  • Web-Net-Ext45
  • Web-Asp-Net
  • Web-Asp-Net45

These features enable robust web application hosting and .NET support for Kuiper.

2. Antivirus Exclusions

The playbook excludes several Kuiper directories from antivirus scanning by executing PowerShell commands (Add-MpPreference -ExclusionPath). The excluded paths are:

  • C:\ProgramData\Epic\KuiperTemp
  • C:\ProgramData\Epic\ECSMTools
  • C:\Program Files\Epic\KuiperTemp
  • C:\Program Files\Epic\ECSM Tools

This step prevents performance issues and potential conflicts during Kuiper operation and installation.

Related Install Tasks (for Reference)

Though not strictly part of preinstallation, the playbook also covers:

  • Downloading the Kuiper MSI installer if not already present, using secure credentials (kuiper_msi_src, jfrog_user, jfrog_token)

Key Variables Used:

  • kuiper_msi_src: URL to the Kuiper installer MSI
  • jfrog_user, jfrog_token: Credentials for secure download.

MyChart

This section describes the preinstallation steps automated by the playbook for the MyChart Epic Client Application, found in the main playbooks repository. This playbook prepares the Windows environment and credentials needed for subsequent MyChart installation and configuration.

Key Preinstall Tasks

1. Base OS Configuration

After credentials are set up, the playbook applies a foundational configuration to the target systems:

  • Runs the os_base_configuration role to ensure all basic OS-level settings and prerequisites are in place before MyChart installation.
  • This role typically handles Windows feature installation, system settings, and other required baseline tasks (see that role's documentation for further detail).

Print Server

This section documents the preinstallation automation included in the Ansible role for the Epic Print Server application. These steps ensure that the print server environment is configured with critical settings required for the Epic Print Server to function reliably.

Key Preinstall Tasks

1. SplWOW64TimeOutSeconds Registry Configuration

The playbook sets the SplWOW64TimeOutSeconds registry value on the target Windows server using ansible.windows.win_regedit:

  • Registry Path: HKLM:\SYSTEM\CurrentControlSet\Control\Print
  • Value Name: SplWOW64TimeOutSeconds
  • Value Data: 10

This setting configures the timeout for 32-bit print processes running on 64-bit Windows systems, which can be critical for reliable print operations in Epic environments.


System Pulse

This section outlines the preinstallation automation provided by the Ansible role for the System Pulse application. The tasks ensure the Windows environment is configured with all required features and settings to support the System Pulse application.

Key Preinstall Tasks

1. Windows and IIS Feature Installation

The playbook installs essential IIS and messaging features in two steps:

  • Without Management Tools: Installs core IIS, .NET, WCF, and MSMQ features:

    • Web-Server
    • Web-Common-Http
    • Web-Static-Content
    • Web-App-Dev
    • Web-Net-Ext
    • Web-Net-Ext45
    • Web-Asp-Net45
    • Web-WMI
    • NET-WCF-HTTP-Activation45
    • NET-HTTP-Activation
    • MSMQ
  • With Management Tools: Installs IIS management features:

    • Web-Mgmt-Console
    • Web-Mgmt-Compat
    • include_management_tools: yes ensures that IIS management interfaces are available.
2. Antivirus Exclusions

The playbook excludes the MSMQ storage directory from antivirus scanning to prevent possible interference with messaging operations:

  • C:\Windows\System32\msmq\storage

Add-MpPreference -ExclusionPath "C:\Windows\System32\msmq\storage"

While not strictly part of preinstallation, the playbook also includes:

  • Creating a temporary directory (C:\Temp)

  • Downloading the System Pulse MSI installer if it is not already present, using secure credentials (system_pulse_msi_src, jfrog_user, jfrog_token)

  • Installing the application from the MSI file Key Variables Used:

  • system_pulse_msi_src: URL to the installer MSI file

  • jfrog_user, jfrog_token: Credentials for secure artifact download.

Web Blob

This section documents the preinstallation automation included in the Ansible role for the Web Blob Epic Client Application. These tasks ensure the Windows environment is properly set up with all prerequisites for Web Blob deployment.

1. Windows Feature and IIS Setup

The playbook installs a collection of .NET and IIS features required by Web Blob, using ansible.windows.win_feature:

  • NET-WCF-Services45
  • NET-WCF-HTTP-Activation45
  • Web-Net-Ext45
  • Web-Asp-Net45
  • NET-Framework-45-Features
  • Web-Server
  • Web-WebServer
  • Web-App-Dev

These features provide the foundation for .NET application hosting, web services, and application development support.

Note: Web Blob requires Windows Management Framework (WMF) version 5.1 or newer, which is included by default with Windows Server 2022. If running on an older version, ensure WMF is updated as a prerequisite.

2. Visual C++ Redistributable Validation and Installation

The playbook checks for existing Microsoft Visual C++ Redistributable installations via PowerShell. If none are found:

  • Creates a temporary directory (C:\Temp)

  • Downloads the Visual C++ 2017 Redistributable installer from a specified source (visualc_src), using secure credentials (jfrog_user, jfrog_token)

  • Installs the redistributable silently

  • Deletes the installer after installation Key Variables Used:

  • visualc_src: URL of the Visual C++ installer

  • jfrog_user, jfrog_token: Credentials for secure download.


Welcome Web

This section documents the preinstallation automation provided by the Ansible role for the Welcome Web Epic Client Application. These tasks ensure that the Windows environment is prepared with all necessary features and dependencies for the Welcome Web application.

Key Preinstall Tasks

The playbook installs the core IIS and application development features required by Welcome Web using ansible.windows.win_feature:

  • Web-Server — IIS Web Server
  • Web-WebServer — Core IIS Web Server components
  • Web-App-Dev — IIS Application Development features

These features provide the essential web hosting infrastructure for the Welcome Web application.

2. Visual C++ Redistributable Validation and Installation

The playbook checks for the presence of any Microsoft Visual C++ Redistributables using a PowerShell script. If none are found:

  • Creates a temporary directory (C:\Temp)
  • Downloads the Visual C++ 2017 Redistributable installer from a specified source (visualc_src), using secure credentials (jfrog_user, jfrog_token)
  • Installs the redistributable silently
  • Deletes the installer after installation
  • Deletes the installer after installation

Key Variables Used:

  • visualc_src: URL of the Visual C++ installer
  • jfrog_user, jfrog_token: Credentials for secure download.