Customize Deployment - Windows Server Essentials

Applies To: Windows Server 2012 R2 Essentials

Windows Server 2012 R2 Essentials offers the partner an option to provide a virtualized deployment for Windows Server Essentials. By virtualizing the instance, customers can enjoy more flexibility.

After OEM has done the appropriate configuration, which will be described in detail in the later sections, the end user can choose to deploy Windows Server Essentials as a virtualized instance, or perform a physical deployment.

Note

This approach applies to Windows Server 2012 R2 Essentials, as well as Windows Server 2012 R2 Standard and Windows Server 2012 R2 Datacenter with the Windows Server Essentials Experience role.

The user will have one of two installation variations depending on the variable: AllowDeployOnHost, from the OEM configuration file (discussed later in this section):

  • The end user can choose to install Windows Server Essentials as a virtual instance or on physical hardware:

  • The end user can deploy to virtualized instances only:

In either case, if end user chooses a virtualized deployment, the Windows Server Essentials host will have the Hyper-V role installed, and will be able to run VMs. The wizard creates a customized VM based on end user’s settings. To reduce the footprint on the host, you can remove Windows Server Essentials roles, other VM-hosting roles, and any other unnecessary roles. If the user chooses to do a physical deployment, the configuration wizard installs and configures the Windows Server Essentials Experience role on the physical box.

To prepare a virtualized deployment

Your hardware must support virtualization and it must be turned on.

You’ll need to prepare a customized image that contains the images for Windows Server Essentials Host and Windows Server Essentials Guest. To do this, perform the following steps:

  • Prepare the virtual machine image.

  • Prepare the virtual machine host.

Prepare the virtual machine image

  1. Put the installation media you get from Microsoft onto your technician PC. For example, insert the DVD or mount the ISO file.

  2. Copy all content from the media to a local folder, for example, C:\essentials-image\.

  3. Mount the Windows source image file:

    md c:\essentials-mount
    
    
    dism /Mount-Image /ImageFile:"C:\essentials-image\sources\install.wim" /Index:1 /MountDir:"C:\essentials-mount"
    
  4. Customize the image using DISM. The later sections provide guidance on how to customize the essentials image, such as adding branding, changing registry keys, and adding files. Depending on your needs, you can selectively apply these settings offline using DISM. If you’re just evaluating how to make a virtualized deployment, you can skip this step.

  5. Add additional language packs using DISM. For more info, see Add Language Packs to Windows.

  6. Commit the changes to the image.

    dism /Unmount-Image /MountDir:"C:\essentials-mount" /Commit
    

    Now, you have a customized Windows Server 2012 R2 Essentials wim file.

  7. Depending on your needs, seal the installation into an ISO file or a VHD.

    • To seal it to an ISO file, download the Windows Assessment and Deployment Kit (Windows ADK) and run the following commands:

      cd C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg
      
      oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,b"c:\essentials-image\boot\etfsboot.com"#pEF,e,b"c:\essentials-image\efi\microsoft\boot\efisys.bin" C:\essentials-image C:\OEMEssentials.iso
      
    • To convert it to a VHDX, download the Windows Assessment and Deployment Kit (Windows ADK), download Convert-WindowsImage to C:\scripts, and run the following command:

      powershell -c "Set-ExecutionPolicy Unrestricted; C:\scripts\Convert-WindowsImage.ps1 -VHDFormat vhdx -sizebytes 127GB –sourcepath C:\OEMEssentials.iso -vhdpath C:\OEMEssentials.vhdx"
      

    At this point, you have a customized image for your VM guest that contains Windows Server Essentials features, such as Remote Web Access, Dashboard, etc. You can test the image by installing it in a Hyper-V PC, and prepare a Virtual Machine Host.

Preparing the virtual machine host:

  1. Put the installation media you get from Microsoft onto your technician PC. For example, insert the DVD or mount the ISO file.

  2. Copy all content from the media to a local folder, for example, C:\essentials-host-image\.

  3. Mount the Windows source image file:

    md c:\essentials-host-mount
    
    
    dism /Mount-Image /ImageFile:"C:\essentials-host-image\sources\install.wim" /Index:1 /MountDir:"C:\essentials-host-mount"
    
  4. Remove Windows Server Essentials roles and any other features you do not want installed by default. For info about removing other roles, see Remove roles.

    dism /Image:C:\essentials-host-mount /Disable-Feature:"wss-product-package"
    
  5. if you’re configuring this on Windows Server 2012 R2 Standard or Windows Server 2012 R2 Datacenter, install the Windows Server Essentials role.

    dism /Image:C:\essentials-host-mount /Enable-Feature:wss-product-package /all
    
    dism /Image:C:\essentials-host-mount /Enable-Feature:Microsoft-Windows-ServerEssentials-ServerSetup
    
  6. Enable Hyper-V, Hyper-V Management PowerShell and Hyper-V Management RSAT Tools.

    dism /Image:C:\essentials-host-mount /Enable-Feature:Microsoft-Hyper-V /All
    
    dism /Image:C:\essentials-host-mount /Enable-Feature:Microsoft-Hyper-V-Management-Clients /All
    
    dism /Image:C:\essentials-host-mount /Enable-Feature:Microsoft-Hyper-V-Management-PowerShell /All
    
  7. Set registry key to not pop up server manager.

    reg load HKLM\test C:\essentials-host-mount\windows\system32\config\software
    
    reg add "HKLM\test\Microsoft\ServerManager" /v DoNotOpenServerManagerAtLogon /t REG_DWORD /d 1 /f
    
  8. Set registry key to specify the deployment settings.

    reg add "HKLM\test\Microsoft\Windows Server\Setup\OEM" /v DeployAsVM /t REG_SZ /d C:\DeployAsVM\ICConfig.xml /f
    
    reg unload HKLM\test
    
Key Value

Path

HKLM\Software\Microsoft\Windows Server\Setup\OEM

Name

deployasvm

Type

REG_SZ or REG_EXPEND_SZ

Value

<path to settings file, which can contain environment variables and/or be relative to the %SYSTEMROOT% (i.e., %WINDIR%)>

  1. Create the setting files following the Sample called C:\ICConfig.xml and copy it to C:\essentials-host-mount\DeployAsVM.

    md C:\essentials-host-mount\DeployAsVM
    
    copy C:\ICConfig.xml C:\essentials-host-mount\DeployAsVM\ICConfig.xml
    
  2. Integrate the Windows Server Essentials virtual guest image (*.vhdx or *.iso) into the Hyper-V host image.

    copy C:\OEMEssentials.vhdx  C:\essentials-host-mount\DeployAsVM\OEMEssentials.vhdx
    
  3. Add additional language packs using DISM. For more info, see Add Language Packs to Windows.

    The set of languages on guest image and host image should be the same.

  4. Commit the changes to the image.

    dism /unmount-Wim /MountDir:C:\essentials-host-mount /commit
    
  5. Now, you have a customized Windows Server Essentials image file for the Host. To seal it to an ISO file:

    cd C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64
    
    oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bc:\essentials-host-image\boot\etfsboot.com#pEF,e,bc:\essentials-host-image\efi\microsoft\boot\efisys.bin C:\essentials-host-image C:\OEMEssentialsHost.iso
    

To preconfigure Windows Server Essentials running in a VM

  1. Evaluate roles and features you want installed by default. For more information about removing roles that are already enabled in your image, see Remove roles.

  2. Enable Hyper-V role and Hyper-V Management Tools.

  3. Set the following registry key to specify the deployment settings. For more information, see the Sample configuration files.

  4. Customize Windows Server Essentials VM and capture the image to an ISO file.

Note

Your image should only support one Windows Server Essentials image.

Remove roles

Windows Server Essentials installs the following dependent roles by default. You can safely remove them from the Host.

[X] Essentials

ServerEssentialsRole

[X] File and Storage Services

FileAndStorage-Services

[X] File and iSCSI Services

File-Services

[X] File Server

FS-FileServer

[X] BranchCache for Network Files

FS-BranchCache

[X] DFS Namespaces

FS-DFS-Namespace

[X] Web Server (IIS)

Web-Server

[X] Web Server

Web-WebServer

[X] Common HTTP Features

Web-Common-Http

[X] Default Document

Web-Default-Doc

[X] Directory Browsing

Web-Dir-Browsing

[X] HTTP Errors

Web-Http-Errors

[X] Static Content

Web-Static-Content

[X] Health and Diagnostics

Web-Health

[X] HTTP Logging

Web-Http-Logging

[X] Tracing

Web-Http-Tracing

[X] Performance

Web-Performance

[X] Static Content Compression

Web-Stat-Compression

[X] Security

Web-Security

[X] Request Filtering

Web-Filtering

[X] Basic Authentication

Web-Basic-Auth

[X] Windows Authentication

Web-Windows-Auth

[X] Application Development

Web-App-Dev

[X] .NET Extensibility 4.5

Web-Net-Ext45

[X] ASP.NET 4.5

Web-Asp-Net45

[X] ISAPI Extensions

Web-ISAPI-Ext

[X] ISAPI Filters

Web-ISAPI-Filter

[X] Server Side Includes

Web-Includes

[X] Management Tools

Web-Mgmt-Tools

[X] IIS Management Console

Web-Mgmt-Console

[X] ASP.NET 4.5

NET-Framework-45-ASPNET

[X] HTTP Activation

NET-WCF-HTTP-Activation

[X] BranchCache

BranchCache

[X] Group Policy Management

GPMC

[X] Remote Server Administration Tools

RSAT

[X] Role Administration Tools

RSAT-Role-Tools

[X] File Services Tools

RSAT-File-Services

[X] DFS Management Tools

RSAT-DFS-Mgmt-Con

[X] Remote Access Management Tools

RSAT-RemoteAccess

[X] Remote Access module for Windows PowerShell

RSAT-RemoteAccess-PowerShell

[X] Windows Process Activation Service

WAS

[X] Process Model

WAS-Process-Model

[X] Configuration APIs

WAS-Config-APIs

[X] Windows Server Backup

Windows-Server-Backup

Sample configuration files

Virtual Machine sample file: ICConfig.xml

<?xml version="1.0" encoding="utf-8"?>
<DeploymentSettings
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="https://schemas.microsoft.com/WindowsServer/Essentials/2013/01/ServerDeployment/Virtualization">
 <InstallationMedia>C:\DeployAsVM\OEMEssentials.vhdx </InstallationMedia>
<VMBaseDirectory> %SYSTEMROOT%\vms </VMBaseDirectory>
<VMProcessorCount>4</VMProcessorCount>
<VMMemorySizeMB>4096</VMMemorySizeMB>
<VMSystemDiskSizeGB>127</VMSystemDiskSizeGB>
<VMDataDiskSizeGB>999</VMDataDiskSizeGB>
</DeploymentSettings>

Note

All paths can contains environment variables and/or be relative to the %SYSTEMROOT% (i.e., %WINDIR%).

The following table describes the deployment settings in the configuration file.

Setting

Description

InstallationMedia

Specify the path to the image that will be used for the virtual guest instance of Windows Server Essentials. It can be in .iso or .vhdx format.

AllowDeployOnHost

(Optional) Specify whether the physical installation option is available.

If the value is "true", the user sees options for either a physical or a virtual installation.

If the value is "false", the user only sees option for the virtual installation.

VMBaseDirectory

(Optional) Specify where the VM file is located.

VMProcessorCount

(Optional) Specify the number of logical processor cores assigned to the VM.

VMMemorySizeMB

(Optional) Specify the size of memory size allocated to the VM. By default it will use the 80% of available Memory for VM.

VMSystemDiskSizeGB

(Optional) Specify the size of system drive. By default it is 127GB.

VMDataDiskSizeGB

(Optional) Specify the size of the data drive. By default it will use the available space of the hard disk. Your total size of hard drives shouldn’t exceed the physical capacity of the disk.

Best Practices

  • Make sure your hardware has virtualization capability turned on.

  • After installation the Windows Server Essentials VM is not activated by default. Please instruct your customer to activate the image using the product key you provided.

  • If you ship a multi-language image to your customer, please make sure you have the same set of languages available for the VM Host and guest. The language for the guest VM will be the same as the VM Host.

  • If you want to prepare a factory reset DVD for your customer, make sure you include the installation media for the VM and the necessary settings in the DVD image. If the image size exceeds the size of a DVD9, consider using multiple DVDs for your image.

  • We highly recommended that your use .vhdx instead of .iso for your installation media. This provides your customer with faster deployment.

  • This deployment type is only applicable when you ship Windows Server Essentials.

  • If your hardware doesn’t support virtualization, do not specify the registry key as described in previous section. Then Essentials will be set up on the physical server.

Using the Windows Server Essentials role on Windows Server Standard/Datacenter

An OEM or System Builder can ship Windows Server 2012 R2 Standard or Windows Server 2012 R2 Datacenter with the Windows Server Essentials Experience role. If the end user wants to configure Windows Server Essentials Experience once they finished OS setup, similar as what they do on Windows Server Essentials edition, they can add it in by using DISM.

Show the Windows Server Essentials configuration wizard

  1. Start the installation media you get from Microsoft and put in on your technician PC.

  2. Put the installation media you get from Microsoft onto your technician PC. For example, insert the DVD or mount the ISO file.

  3. Copy all content from the media to a local folder, for example, C:\essentials-image\.

  4. Mount the image. Use /Index:2 for Windows Server 2012 R2 Standard or /Index:4 for Windows Server 2012 R2 Datacenter.

    md c:\essentials-mount
    
    dism /Mount-Image /ImageFile:"C:\essentials-mount\sources\install.wim" /Index:4 /MountDir:"C:\essentials-mount"
    
  5. Enable the Windows Server Essentials Experience.

    dism /Image:C:\essentials-mount /enable-feature:wss-product-package /all
    
    dism /Image:C:\essentials-mount /enable-feature:Microsoft-Windows-ServerEssentials-ServerSetup
    
  6. Set registry key to not open the Server Manager dialog at logon.

    reg load HKLM\test C:\essentials-mount\windows\system32\config\software
    
    reg add "HKLM\test\Microsoft\ServerManager" /v DoNotOpenServerManagerAtLogon /t REG_DWORD /d 1 /f
    
    reg unload HKLM\test
    
  7. Commit the changes to the image.

    dism /Unmount-Image /MountDir:"C:\essentials-mount" /Commit
    
  8. Seal it to an ISO file:

    cd C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg
    
    oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,b"c:\essentials-image\boot\etfsboot.com"#pEF,e,b"c:\essentials-image\efi\microsoft\boot\efisys.bin" C:\essentials-image C:\OEMEssentials.iso
    

See Also

Other Resources

Windows Deployment Tools Technical Reference