Skip to main content

Windows

Considerations

  • OEM versions of Microsoft Windows Operating Systems may contain third-party software which can potentially cause issues and undesired side effects when used in a hypervisor. Frame strongly recommends the use of a Microsoft-provided OS image (instead of an OEM version from a third party) or an OS image provided by the public cloud provide, if you are using a public cloud.
  • Automatic Windows updates can impact the ability for users to connect to their Frame workloads or user experience while in their sessions. Automatic Windows updates should be disabled. Updates should be performed and tested before releasing in scheduled maintenance windows:
    • In the template image
    • Locally in Sandboxes and non-domain-joined workload VMs
    • Via GPOs in domain-joined workload VMs.
    • Leaving Windows updates enabled could potentially impact user performance in certain situations.
  • Before registering the template image VM to Frame, Windows sysprep will need to be run to generalize the template image VM. The sysprep step will remove your template image VM from your domain. You will need to configure your Frame account for Windows Domain Join if you wish to have domain-joined workload VMs for your users.
  • During image generalization with sysprep, there are certain conditions where Microsoft Store apps (AppX packages) could cause sysprep to fail. Please reference this Microsoft article for additional details.
  • If you require HTTPS traffic from your workload VMs to pass through an authenticated (or unauthenticated) proxy server to reach the Internet, you will need to:
    • Configure the Frame Guest Agent proxy settings. Frame Guest Agent supports authenticated (username/password) and unauthenticated proxy servers, provided they can handle HTTPS and Secure WebSocket traffic. Refer to our FGA Proxy Server documentation page for further details.
    • Configure your Windows proxy server settings for your end user applications.
  • Create a local Windows user account with local administrator privileges, if one does not exist in your template image. Do not use the reserved Frame local Windows users Frame (added to local Windows Administrators group) and FrameUser.
  • Enable Microsoft RDP in your template image before installing the Frame Guest Agent to access the template image VM. Verify you can access your template image using RDP with your local Windows administrator user.
Image Optimization
  • Third party image optimizers can be used to optimize the efficient operation of the Windows image during Sandbox creation.
  • Some examples of third party image optimizers that can be used with Frame are: Citrix Optimizer, Best Practice Analyzer, or the Frame WOSTT.
  • These tools are used with no warranty or support, and Frame strongly suggests you create a backup of your Sandbox before running any of these optimizer tools.
  • Using the VMWare Horizon Optimizer with Frame workloads disables key services needed by Frame Guest Agent and renders the Windows image unusable with Frame.

Minimum Instance Type Configuration

End user experience is highly dependent on the underlying VM resources in combination with the demands of the operating system and user applications. For Windows OS, we recommend a minimum instance type configuration of:

  • 2 vCPU
  • 4 GB memory
  • 45 GB disk

You may need to increase the vCPU count, memory, and disk space based on your use case(s), operating system, applications, and user experience expectations.

Supported Windows versions

Frame supports the following Windows operating system versions:

  • Windows 10, 1909 and higher
  • Windows Server 2016, 1607 and higher
  • Windows Server 2019, 1809 and higher

Prepare your Windows Template Image

GPU Drivers

If you plan to use AMD or NVIDIA GPU-backed instance types, only use the Frame-verified drivers listed below. Frame cannot offer support for any other driver version or combinations. The following drivers have been validated:

AWS

  • NVIDIA driver version: 513.46
  • AMD driver version: 20.10.25.04

Azure

  • NVIDIA driver version: 512.78
  • AMD driver version: 21Q2-1

GCP

  • NVIDIA driver version: 513.46

Register Template Image

Once you have successfully created and tagged your template image(s) in your infrastructure, you will register your template image.

Frame Sysprep Helper Tool

The Frame Sysprep Helper Tool is designed to simplify the Microsoft Sysprep process by parsing errors reported by sysprep and immediately repairing them when possible. Sysprep is executed:

  1. When a Windows template image is prepared.
  2. Each time an administrator publishes a Sandbox in a domain-joined Frame account.

Frame Sysprep Helper Tool

Frame Sysprep Helper Tool

Frame Sysprep Helper can be used in two ways:

  1. As a desktop application for Sysprep testing.

  2. As a console app, used in scenarios where administrators want to automate sysprep error-fixing during account publishing.

note

If you start the Sysprep Helper Tool as a desktop application on your Sandbox and Sysprep succeeds, you must reboot your instance.

Using Sysprep Helper Tool

The Sysprep Helper Tool is included as part of the Frame Guest Agent Installer. The executable is located at C:\ProgramData\Nutanix\Frame\Tools\FrameSysprepHelper.exe. The tool can be used instead of Microsoft-provided Sysprep.exe when attempting to automatically resolve issues during Sysprep execution.

To use the Frame Sysprep Helper Tool when publishing a DJI-enabled Frame account, add default Sysprep type key in the Windows system registry.

HKLM:\Software\Nutanix\Frame\MachineImage Key AdvancedSysprep

  • 0 for standard Sysprep
  • 1 for Sysprep using Sysprep Helper Tool

You can also enable/disable this setting by using the checkbox in the Sysprep Helper UI.

note

If the registry entry is missing or the value is 0, generalization during publish will run the standard Sysprep process.

Publishing Process

In use cases where Sysprep needs to be performed during a publish (persistent desktops and non-persistent, domain-joined instances), the following PowerShell script will be executed:

C:\ProgramData\Nutanix\Frame\FGA\Scripts\System\Sysprep.<cloudprovider>.ps1

Sysprep script will perform various cleanup tasks and then execute a final generalization task: Sysprep.exe with appropriate arguments.

The Sysprep.<cloudprovider>.ps1 workflow:

  1. Retrieves OS information
  2. Checks activation status
  3. Checks antivirus status
  4. Removes existing user profiles
- Start-Process -FilePath "$env:windir\System32\Sysprep\Sysprep.exe" -ArgumentList "/oobe /quit /generalize /unattend:$env:ProgramData\Nutanix\Frame\Sysprep\Unattend.xml" -Wait -NoNewWindow

Logging

Frame Sysprep Helper logs can be found in:

C:\ProgramData\Nutanix\Frame\Logs\Sysprep-helper.txt