Create a Slipstreamed Hyper-V Server 2019 installation image with working Remote Desktop for Administration

If you have been following the saga of the non-working Hyper-V Server 2019 release from November. You may be aware that the most prominent issue – that of Remote Desktop Services for Administration not working – has now been resolved in the February 2019 patch release cycle.

This article outlines how to create updated media for Hyper-V Server 2019 using the original installation medium and patch it into a working state.

Note from the author

Please note that if you intend to use Hyper-V Server in a production environment, you should wait for Microsoft to re-issue the office ISO. Once it is released, it will be made available in the Microsoft Server Evaluation Centre.

View: Microsoft Evaluation Centre

Pre-requisites

You will need access to a Windows 10, Windows Server 2016 or Windows Server 2019 system in order to update the installer.

Obtain and install the Windows ADK 1809 (or later) selecting the Deployment Tools option (providing you with an updated version of DISM)
Download: Windows Assessment & Deployment Kit (ADK)

Retrieve the original Hyper-V Server 2019 ISO
Download: Hyper-V Server 2019 (1809)

Download following updates from the Microsoft Update Catalogue
Note: This is correct as of early March 2019. It is suggested that you apply newer cumulative and servicing updates as they are released in the future.

  1. KB4470788
  2. KB4482887
  3. KB4483452

View: Microsoft Update Catalogue

[Optional] If you wish to apply any language regionalisation (e.g. EN-GB), source the CAB file(s) for the language features that you require. For example:
Microsoft-Windows-Server-LanguagePack-Package~31bf3856ad364e35~amd64~en-GB~10.0.17763.1.cab

Updating the Installation Image

To update the installation image:

  1. Create a folder on C:\ called ‘Mount’
  2. Add a second folder on C:\ called ‘hvs’
  3. In the hvs folder, create a subfolder called ‘Updates’
  4. Extract the entire contents of the ISO from the Hyper-V Server 2019 ISO into C:\hvs
  5. Place the three MSU files from the Microsoft Update Catalogue into the C:\hvs\Updates folder
  6. [Optionally] Place the CAB file for the language pack into the C:\hvs folder and for convenience rename it ‘lp.cab’
  7. Open an elevated Command Prompt
  8. Issue:
    cd /d "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64"
    To navigate into the working folder for the updated version of DISM.exe
  9. Issue:
    dism.exe /mount-image /ImageFile:"C:\hvs\Sources\install.wim" /Index:1 /MountDir:"C:\Mount"
    To unpack the installation image into the C:\Mount folder
    Note: Do not navigate into this folder with CMD, PowerShell or Windows Explorer. If you leave a handle open against this folder when you try to re-pack the install.wim, it will fail.
  10. Once the mounting is complete, patch the installation by issuing:
    dism.exe /Image:"C:\Mount" /Add-Package /PackagePath:"C:\hvs\Updates"
  11. [Optional] Apply the language pack by issuing (change en-GB to your language as applicable):
    dism.exe /Image:"C:\Mount" /ScratchDir:"C:\Windows\Temp" /Add-Package /PackagePath:"C:\hvs\lp.cab"
    dism.exe /Image:"C:\Mount" /Set-SKUIntlDefaults:en-GB
    If you intend to use ImageX, DISM or WDS to deploy this image, you can skip the following command. If you intend to create a new bootable ISO or UFD, issue:
    dism.exe /image:"C:\Mount" /gen-langini /distribution:"C:\hvs"
    This will create a new Lang.ini file which must be included in the ISO/UFD media (but is not required for other deployment methods)
  12. Dismount and re-package the install.wim file by issuing:
    dism.exe /unmount-image /MountDir:"C:\Mount" /Commit
  13. Once DISM has processed the installation image, the new Install.wim file can be found at:
    C:\hvs\Sources\install.wim
  14. At this point you will have a working installation image which you can use to create a new ISO, UFD or install via WDS. You should delete the Updates folder and [optional] lp.cab from C:\hvs before creating a new ISO or bootable UFD.

If it goes wrong at any point, issue the following command to abort the process and go back and try again:
dism.exe /unmount-image /MountDir:"C:\Mount" /Discard

Delete the C:\Mount and C:\hvs folders once you have finished creating you new deployment media.

Final Word

If you follow the above, you will have not only a fixed RDP experience, but also a current patched version of Hyper-V Server. Eliminating a little time spent waiting for Windows Update to run.

If you are going to enable RDP for Administration. As ever, do not forget to enable the firewall rule in PowerShell. SConfig.cmd does not do this for you!

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

Blue Screen (BSOD): CONFIG INITIALIZATION FAILED after WIM Image Creation Process

System Requirements:

  • Windows 7, 8.0, 8.1, 10
  • Windows Server 2008 R2, 2012, 2012 R2, 2016
  • DISM, MDT, SCCM, WAIK, WADK

The Problem:

I am a DVBLink user. DVBLink does not play nicely with Windows Service and consequently it wants to run on a client OS. This means that I have lots of server hardware running server Operating Systems and one device with 4 TV Tuners in it running Windows 10.

After modifying the registry of an off-line WIM image, after the initial image has been inflated onto the drive, the system blue screens (BSOD) at the first reboot with

:(
Your PC ran into a problem and needs to restart. We'll restart for you.For more information abotu this issue and possible fixes, visit https://www.windows.com/stopcodeIf you call a support person, give them this info:
Stop code: COMFIG INITIALIZATION FAILED

BSOD

The newly imaged system will now get stuck in a boot loop.

More Info

You have a corrupted registry.

The Fix

There are a number of possibilities to explore first

Check that you haven’t deleted the contents of CurrentControlSet (reference machine prior to sysprep) or ControlSet001 (reference machine and WIM file) from the registry

Check that you haven’t deleted the SYSTEM file from C:\Windows\System32\Config (this is a hidden file and it has no file extension)

Finally, if you injected registry data into an offline WIM image, ensure that you did not create the Key .\CurrentControlSet in the C:\Windows\System32\Config\SYSTEM. CurrentControlSet is a virtualised key that is loaded and unloaded dynamically as part of the Windows boot proceess (it is actually a copy of ControlSet001). When the system goes through shutdown or a reboot, CurrentControlSet is cleared and ControlSet001 is copied in-place. If the key CurrentControlSet exists in the WIM file’s registry, Windows will present the CONFIG INITIALISATION FAILED blue screen of death as it is not expecting the CurrentControlSet key to exist at all.

To fix the problem, re-mount your image and from the SYSTEM container move any data from CurrentControlSet into ControlSet001 and then completely delete the key for CurrentControlSet

Windows 10 Registry Paths for Privacy Settings

System Requirements:

  • Windows 10 build 1511, 1607, 1703

The Problem:

If you are trying to tame Windows 10 Privacy settings using the registry (say for the creation of a secure by default base image), at the time of writing there doesn’t appear to be a good mapping reference between the Registry keys and the toggle buttons on the Windows 10 Privacy interface.

More Info

The table below outlines the registry locations for known entries found in the Privacy section of the Windows 10 Settings app.

The article was originally written for Windows 10 build 1511. It has subsequently been updated for build 1607. Specific entreis related to build 1511 are indicated by “[b1511]”. New items found in build 1607 are indicated by “[b1607]”. New items found in build 1703 are indicated by “[b1703]”.

Tab Entry Key Path [HKCU\…] Key(s) Value(s)
General
Let aps use my advertising ID for experiences across apps (turning this off will reset your ID)
SOFTWARE\Microsoft\Windows\CurrentVersion\AdvertisingInfo Enabled
Id
[0|1]
<delete>
General
Turn on SmartScreenFilter to check web content (URLs) that Windows Store apps use
SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost EnableWebContentEvaluation [0|1]
General
Send Microsoft info about how I write to help us improve typing and writing in the future
SOFTWARE\Microsoft\Input\TIPC Enabled [0|1]
General
Let websites provide locally relevant content by accessing my language list
Control Panel\International\User Profile HttpAcceptLanguageOptOut [0|1]
General
[b1703] Let windows track app launches to improve start and search results
SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced Start_TrackProgs [0|1]
Location
Location On/Off
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{BFA794E4-F964-4FDB-90F6-51056BFE4B44} Value
[Allow|Deny]
Location On/Off
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Sensor\Permissions\{BFA794E4-F964-4FDB-90F6-51056BFE4B44} SensorPermissionState [0|1]
[b1607] Location On/Off
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{BFA794E4-F964-4FDB-90F6-51056BFE4B44} InitialAppValue
Type
Unspecified
InterfaceClass
Location
[b1511] <there is no UI element to globally control this>
[b1607] Location Service
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{E6AD100E-5F4E-44CD-BE0F-2265D88D14F5} Value [Allow|Deny]
[b1607] Location Service
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{E6AD100E-5F4E-44CD-BE0F-2265D88D14F5} InitialAppValue
Type
Unspecified
InterfaceClass
Camera
Camera On/Off
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{E5323777-F976-4f5b-9B55-B94699C46E44} Value [Allow|Deny]
[b1607] Camera On/Off
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{E5323777-F976-4f5b-9B55-B94699C46E44} InitialAppValue
Type
Unspecified
InterfaceClass
Microphone
Mic On/Off
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{2EEF81BE-33FA-4800-9670-1CD474972C3F} Value [Allow|Deny]
[b1607] Mic On/Off
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{2EEF81BE-33FA-4800-9670-1CD474972C3F} InitialAppValue
Type
Unspecified
InterfaceClass
Speech, inking & typing
Disable Cortana
SOFTWARE\Microsoft\Windows\CurrentVersion\Search CortanaEnabled [0|1]
Account Info
Let apps access my name, picture and other account info
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{C1D23ACC-752B-43E5-8448-8D0E519CD6D6} Value [Allow|Deny]
[b1607] Let apps access my name, picture and other account info
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{C1D23ACC-752B-43E5-8448-8D0E519CD6D6} InitialAppValue
Type
Unspecified
InterfaceClass
Contacts
[b1511] <there is no UI element to globally control this>
[b1607] Let apps access my contacts
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{7D7E8402-7C54-4821-A34E-AEEFD62DED93} Value [Allow|Deny]
[b1607] Let apps access my contacts
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{7D7E8402-7C54-4821-A34E-AEEFD62DED93} InitialAppValue
Type
Unspecified
InterfaceClass
Calendar
Let apps access my calendar
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{D89823BA-7180-4B81-B50C-7E471E6121A3} Value [Allow|Deny]
[b1607]Let apps access my calendar
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{D89823BA-7180-4B81-B50C-7E471E6121A3} InitialAppValue
Type
Unspecified
InterfaceClass
Call history
Let apps access my call history
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{8BC668CF-7728-45BD-93F8-CF2B3B41D7AB} Value [Allow|Deny]
[b1607] Let apps access my call history
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{8BC668CF-7728-45BD-93F8-CF2B3B41D7AB} InitialAppValue
Type
Unspecified
InterfaceClass
Email
Let apps access and send email
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{9231CB4C-BF57-4AF3-8C55-FDA7BFCC04C5} Value [Allow|Deny]
[b1607] Let apps access my call history
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{9231CB4C-BF57-4AF3-8C55-FDA7BFCC04C5} InitialAppValue
Type
Unspecified
InterfaceClass
Messaging
Let apps read or send messages (text or MMS)
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{992AFA70-6F47-4148-B3E9-3003349C1548} Value [Allow|Deny]
Radios
Let apps control radios
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{A8804298-2D5F-42E3-9531-9C8C39EB29CE} Value [Allow|Deny]
[b1607] Let apps control radios
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{A8804298-2D5F-42E3-9531-9C8C39EB29CE} InitialAppValue
Type
Unspecified
InterfaceClass
Sync with devices
Let your apps automatically share and sync info with wireless devices tat don’t explicitly pair with your PC, tablet or phone
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\LooselyCoupled Value [Allow|Deny]
[b1607] Let your apps automatically share and sync info with wireless devices tat don’t explicitly pair with your PC, tablet or phone
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\LooselyCoupled InitialAppValue
Type
Unspecified
LooselyCoupled
Feedback & diagnostics
Windows should ask for my feedback
SOFTWARE\Microsoft\Siuf\Rules PeriodInNanoSeconds
NumberOfSIUFInPeriod
0/<n>
0/<n>
Feedback & diagnostics
Send your device data to Microsoft
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection AllowTelemetry [0|1|2|3]
Messaging
[b1607] Let apps read or send messages (text or MMS)
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{21157C1F-2651-4CC1-90CA-1F28B02263F6} Value [Allow|Deny]
Messaging
[b1607] Let apps read or send messages (text or MMS)
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{992AFA70-6F47-4148-B3E9-3003349C1548} Value [Allow|Deny]
Notifications
[b1607] Let apps access my notifications
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{52079E78-A92B-413F-B213-E8FE35712E72} Value
InitialAppValue
Type
[Allow|Deny]
Unspecified
InterfaceClass
Background apps
[b1607] Let apps run in the background
SOFTWARE\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications GlobalUserDisabled [0|1]
App diagnostics
[b1703] Let apps access diagnostic information
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{2297E4E2-5DBE-466D-A12B-0F8286F0D9CA} Value
InitialAppValue
Type
[Allow|Deny]
Unspecified
InterfaceClass
Tasks [b1703] Tasks SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{E390DF20-07DF-446D-B962-F5C953062741} Value
InitialAppValue
Type
[Allow|Deny]
Unspecified
InterfaceClass

 

The following list additional configuration settings found in the registry that have unknown consequences on the UI.

Tab Entry Key Path [HKCU\…] Key(s) Value(s)
n/a
[b1607] ???? Possibly something to do with app access to Phone Call history
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{235B668D-B2AC-4864-B49C-ED1084F6C9D3} Value [Allow|Deny]
[b1607] Let apps access my name, picture and other account info
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{235B668D-B2AC-4864-B49C-ED1084F6C9D3} InitialAppValue
Type
Unspecified
InterfaceClass
n/a
[b1607] ????
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{8c501030-f8c2-40b2-8b3b-e6605788ff39} Value
InitialAppValue
Type
[Allow|Deny]
Unspecified
InterfaceClass
n/a
Has something to do with Device Access
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{9D9E0118-1807-4F2E-96E4-2CE57142E196} Value [Allow|Deny]
n/a
Has something to do with Device Access
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{B19F89AF-E3EB-444B-8DEA-202575A71599} Value [Allow|Deny]
n/a
[b1511] Has something to do with Device Access
[b1607] Appears deprecated
SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{E83AF229-8640-4D18-A213-E22675EBB2C3} Value [Allow|Deny]
Location
[b1607] General location. apps that cannot use my precise location can still use my general location, such as city, postcode or region.
? ? ?
n.a [b1703] Unknown SOFTWARE\Microsoft\Windows\CurrentVersion\DeviceAccess\Global\{00EEBD44-EB0F-4A94-A2D4-D5C4ED5FA66D} Value [Allow|Deny]