Customize Deployment - Windows Server Essentials
Windows Server 2016 Technical Preview 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 2016 Technical Preview Essentials and 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
Put the installation media you get from Microsoft onto your technician PC. For example, insert the DVD or mount the ISO file.
Copy all content from the media to a local folder, for example, C:\essentials-image\.
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"
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.
Add additional language packs using DISM. For more info, see Add Language Packs to Windows.
Commit the changes to the image.
dism /Unmount-Image /MountDir:"C:\essentials-mount" /Commit
Now, you have a customized Windows Server 2016 Technical Preview Essentials wim file.
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\10\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:
Put the installation media you get from Microsoft onto your technician PC. For example, insert the DVD or mount the ISO file.
Copy all content from the media to a local folder, for example, C:\essentials-host-image\.
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"
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"
if you’re configuring this on Windows Server 2016 Technical Preview Standard or Windows Server 2016 Technical Preview 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
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
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
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%)>
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
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
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.
Commit the changes to the image.
dism /unmount-Wim /MountDir:C:\essentials-host-mount /commit
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\10\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
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.
Enable Hyper-V role and Hyper-V Management Tools.
Set the following registry key to specify the deployment settings. For more information, see the Samples.
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="https://www.w3.org/2001/XMLSchema"
xmlns:xsi="https://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 2016 Technical Preview Standard or Windows Server 2016 Technical Preview 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
Start the installation media you get from Microsoft and put in on your technician PC.
Put the installation media you get from Microsoft onto your technician PC. For example, insert the DVD or mount the ISO file.
Copy all content from the media to a local folder, for example, C:\essentials-image\.
Mount the image. Use
/Index:2
for Windows Server 2016 Technical Preview Standard or/Index:4
for Windows Server 2016 Technical Preview Datacenter.md c:\essentials-mount dism /Mount-Image /ImageFile:"C:\essentials-mount\sources\install.wim" /Index:4 /MountDir:"C:\essentials-mount"
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
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
Commit the changes to the image.
dism /Unmount-Image /MountDir:"C:\essentials-mount" /Commit
Seal it to an ISO file:
cd C:\Program Files (x86)\Windows Kits\10\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