Windows 8 Compat Cookbook Summary

If you want to know what breaking app-compat changes are in Windows 8 Consumer Preview but don’t want to read the 100 page cookbook here http://www.microsoft.com/download/en/details.aspx?id=27416

Here’s a summary:

  • OS version is 6.2. Remember to use VerifyVersionInfo Win32 API http://msdn.microsoft.com/library/ms725492(VS.85).aspx PLEEASSSE remember this!!!
  • All metro apps installed to %ProgramFiles%\Applications. This could cause collisions with existing applications. In addition some antivirus/antimalware detect this as a malware location.
  • To check SHIM status of an application refer to Event log located at Applications and Services Logs\Microsoft Windows Application-Experience Program\Telemetry.
  • Server apps must be able to run without a graphical shell
  • Applications are no longer able to programmatically set themselves as the default handler for a file type or protocol. Instead, now the user always controls what the default handler is for a file type or protocol.
  • Desktop Activity Moderator (DAM)

    • Only present client devices that support connected standby, not present on servers.

    • Connected standby occurs when the device is powered on, but the screen is turned off. In this power state, the system is technically always “on” (to support key scenarios like mail, VoIP, social networking, and instant messaging with Metro style apps). It is analogous to the state a smart phone is in when the user presses the power button.

    • As such, software (including applications and operating system software) must be well-behaved during connected standby. The DAM was created to suppress non-Metro style app execution in a manner similar to the Sleep state (S3 on ACPI devices). It does this by suspending or throttling non-Metro style software processes across the system upon connected standby entry. This enables systems that support connected standby to deliver minimized resource usage and long, consistent battery life while enabling Metro style apps to deliver the connected experiences they promise.

    • Your machine supports connected standby by checking if AOAC field in SYSTEM_POWER_CAPABILIITES (http://msdn.microsoft.com/en-us/library/windows/desktop/aa373215(v=vs.85).aspx) returned by CallNtPowerInformation (http://msdn.microsoft.com/en-us/library/windows/desktop/aa372675(v=vs.85).aspx) is set to TRUE.

    • You can also check if your machine supported connected standby by running powercfg /energy and checking section of HTML report like below:

      Platform Power Management Capabilities:Connected Standby Support

      Connected standby allows the computer to enter a low-power mode in which it is always on and connected. If supported, connected standby is used instead of system sleep states.

      Connected Standby Supported  false

    • When screen is on DAM is disengaged and does not impact any processes.

    • Read the full cookbook for more details!

  • .NET Framework 4.5 is default and .NET Framework 3.5 is optional. Any .NET 2.0 or 3.5 will trigger a request for necessary files, normally Windows update is required. To avoid using Windows update:

1. Copy \sources\sxs\ from the mounted operating system build ISO image to dotnet35 or similar folder. For example:

xcopy e:\sources\sxs\*.* c:\dotnet35 /s
2. Execute the following command line using admin privileges:

Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:c:\dotnet35 /LimitAccess

For an automated deployment:

  1. Copy \sources\sxs\ from the mounted operating system build ISO image to the dotnet35 or similar folder. For example:

xcopy e:\sources\sxs\*.* c:\dotnet35 /s

2. Set the regkey:

[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing] “LocalSourcePath”=”c:\dotnet35”

 

  • Desktop Apps Might Not Be Visible after Launching the Default Web Browser
    • In Windows 8 Consumer Preview, the default web browser can be either a desktop app or a Metro style app. Therefore, when a browser is launched, you can no longer assume that the browser will open in a desktop window alongside your app.
    • Users who have a wide-screen monitor can snap the web browser to the edge of the screen to expose the desktop and thereby view both the webpage in the browser and the app at the same time.

    • Users can change the Internet Options in the Control Panel to change the behavior of Internet Explorer. On the Programs tab, users can change how Internet Explorer handles links.

  • High-contrast mode

    • In previous Windows operating systems, high contrast mode was limited to themes running under classic themes, which were not visually styled. In Windows 8 Consumer Preview and Windows Server 8 Beta, classic mode has been removed and replaced with visually styled high contrast themes. One of the main developer benefits of this change is the removal of a separate code path for applications running in classic mode.

    • In Aero, text is always black and the highlight color is a light blue. In high-contrast black, however, the highlight color is black. If a developer assumes black text, as has been the case in many in-box applications prior to Windows 8, and uses the system default for highlighting, the user will see black text on a black background.

    • Ensure your application manifest has 4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38 GUID valie for Windows 8; otherwise client areas are rendered without a theme.

    • Do not use a hardcoded text color, even if it’s assumed to look fine in all common scenarios. COLOR_HIGHLIGHTTEXT is meant to be used with COLOR_HIGHLIGHT as a background and COLOR_WINDOWTEXT is meant to be used with COLOR_WINDOW

  • Application (Executable) Manifest

    • Since Windows Vista the application manifest can specify OS application designed for. XP and earlier ignore the manifest.

    • Cookbook details changes depended on your OS GUID (Vista/Windows 7 or Windows 8)

    • Supported OS GUIds

  • · {e2011457-1546-43c5-a5fe-008deee3d3f0} for Windows Vista: This is the default value for the switchback context

  • · {35138b9a-5d96-4fbd-8e2d-a2440225f93a} for Windows 7: Apps that set this value in the app manifest get the Windows 7 behavior

  • · {4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} for Windows 8 Consumer Preview: Apps that set this value in the application manifest get the Windows 8 Consumer Preview behavior

 

  • Advanced Format (4K) Disk Compatibility Update
    • Builds upon the Windows 7 SP1 support for 4K disks with emulation (512e), and provides full inbox support for disks with 4K sector size without emulation (4K Native). Some supported apps and scenarios include:

    • Ability to install Windows to and boot from a 4K sector disk without emulation (4K Native Disk)

      • New VHDx file format
      • Full HyperV support
      • Windows backup
      • Full support in the NT file system (NTFS)
      • Full support with new Storage Spaces and Pools (SSP)
      • Full support with Windows Defender
    • Provides a new API to query for physical sector size (FileFsSectorSizeInformation)
      • Available for network volumes issued to any file handle
      • Available for unprivileged apps
      • Friendlier usage model
    • Includes enhanced “fsutil” command line utility to query for logical and physical sector size of volume with alignment information (basic version of utility without alignment information is available for Windows 7 with Microsoft KB 982018 and Windows Server 2008 R2 with Microsoft KB 982018)

    • Refer to http://support.microsoft.com/kb/2510009 for mode details

    • Cookbook contains much more details

  • Thin Provisioning of LUNs

    • Allows storage administrators to create a larger LUN with fewer physical disk resources
    • Adds or removes physical disk resource without interrupting the storage provisioning service
    • Alerts users to the storage volume usage through the threshold setting
    • Supports storage provisioning through the shared storage pool configuration
    • Increases or decreases the size of the storage pool according to the demand and usage of storage space
  • Enhanced Storage Is Now Optional for WINPE and Server SKU
    • Enhanced storage was always available in Windows 7 USB devices. With the release of Windows 8 Consumer Preview, it is available for all storage devices. In client-based devices, it is enabled by default; in server devices it is optional and must be provisioned through WinPE.
  • VDS Is Transitioning to WMIv2-based Windows Storage Management
    • Virtual Disk Storage (VDS) application programming interfaces (APIs) are being deprecated and superseded by the WMIv2-based Windows Storage Management API with the Storage PowerShell command line utility. Dynamic Disks are being deprecated as part of this transition. Coincidentally, Storage Spaces, a highly available and resilient storage virtualization solution, and a corresponding control panel are being added. These changes do not affect support for Basic Disks.
    • You can continue to use DiskPart, DiskRAID, and Disk Management during the deprecation period, but these tools will not work with Storage Spaces or with any other new WMIv2 based Windows Storage Management APIs or in-box storage management utilities or clients.
  • Volume Shadow Copy Service UI Removed

    • Earlier versions of Window employed the Volume Shadow Copy Service (VSS). VSS is a service that exposes a set of COM APIs that implements a framework to allow volume backups to be performed on file servers while apps on a system continue to write to the volumes. It does this by creating restore points or “shadow copies” of file share data. In Windows 7 users could create and schedule shadow copies and later use them to restore previous versions of individual files from a shadow copy.
    • This feature was available in the Windows Explorer as “Previous Versions”.
    • User-triggered shadow copies were rarely used and negatively impacted the overall Windows performance. In Windows 8 Consumer Preview, the ability to create or schedule a shadow copy was removed. As a result the “Previous Versions” feature in the Windows Explorer became obsolete and was removed too.
    • Thus, users can no longer create shadow copies from which to restore files. However, the APIs are still present and usable by developers, if needed.
  • StorAHCI Replaces MSAHCI
    • StorAHCI, a Storport miniport, supports serial advanced technology attachment (SATA) advanced host controller interface (AHCI) controllers in Windows, and replaces MSAHCI, an ATAport miniport. There should be no change in functionality or performance; this driver supports all the same devices that MSAHCI supports.
    • This change is transparent to the user.

  • Windows 7 Backup and Restore Deprecated
    • While there is no behavioral change to Backup and Restore, this function is being deprecated and will not be updated. It was rarely used and its functionality has been replaced by the new File History feature. It will ship in Windows 8 Consumer Preview and enthusiasts who upgraded from Windows 7 to Windows 8 Consumer Preview or depend on Backup and Restore or disk image backup will be still able to use it. However, all access points to Backup and Restore, with the exception of the Control Panel, have been removed.
    • OEMs that were setting the registry key to disable backup notification in their images will no longer need to do that.
    • We do not recommend using both features at the same time. File History checks if Backup schedule exists and is active and if it finds one, it will not let users to turn it on.
  • Offloaded Data Transfers
    • To advance the storage data movement, Microsoft has developed a new data transfer technology – offloaded data transfer (ODX)
    • This feature will only work on storage devices with T10 11-059r8 XCOPY Lite specification implementation.
  • Desktop Window Manager Is Always On
    • In the Developer Preview version of Windows, Desktop Window Manager (DWM) is always ON and cannot be disabled by end users and apps. As in Windows 7, DWM is used to compose the desktop. In addition to experiences enabled in Windows 7, now DWM desktop composition enables desktop composition for all themes, support for Stereoscopic 3D, and management, separation, and protection of the experience with Metro style apps.
    • DWM desktop composition enables separation and protection of desktop app windows from the new Metro style app windows by managing and separating the desktop app windows from the Metro style app windows. Since desktop composition is responsible for managing all app windows, disabling desktop composition can result in unexpected behavior. In addition desktop composition is responsible for composing the new Start menu as well as additional window animations that form the core personality of the new Windows operating system.
    • If a system does not have a WDDM-compliant graphics driver, Windows 8 Consumer Preview uses Microsoft Basic Display Adapter as the default adapter. Since DWM always runs on the default adapter, it will choose Microsoft Basic Display Adapter to compose the desktop when a WDDM-compliant graphics driver is not available (whether not installed or disabled) on the system.
    • Microsoft Basic Display Adapter is a software rasterizer that uses the CPU rather than the GPU to perform all the drawing. Note that the performance of desktop composition on Microsoft Basic Display Adapter (especially animations) may not be as smooth as when running desktop composition on a GPU.
    • You cannot change to any color depth except 32 bits per pixel, either from control panel for via Windows APIs.
    • DWM doesn’t depend on WinSat scores, WinSAT no longer has DWM assessment
    • Does not support mirror drivers for remoting scenarios; while most of the existing apps that use mirror drivers should continue to work, due to the infrastructural change required to support existing mirror drivers in Windows 8 Consumer Preview with DWM ON, some features or apps that use mirror drivers may not work
    • Does support Desktop Duplication APIs for app developers who use mirror drivers for remoting scenarios.
    • Does not support existing Accessibility Mirror Drivers
    • Existing Mirror Drivers must be updated to ensure that they are compatible with Windows 8 Consumer Preview
    • Desktop composition always enabled for Remote Desktop connection. Color Depth is alway 32-bit & Composition always enabled when using Windows 8 remote desktop, irrsepective of remote desktop client setting.

 

  • Direct2D Rendering Does Not Support Rendering to “Rich” Metafiles in Internet Explorer 9
  • Changes in DX9 Legacy Hardware Support
    • Intel and AMD/ATI no longer support their DX9 graphics parts and will not be updating drivers for these devices for Windows 8 Consumer Preview. Older drivers for Vista/Win7 are expected to have problems in Windows 8.
    • All of these driver/part combinations are on the Internet Explorer 9 software fallback list. This means that for either performance or stability reasons, Internet Explorer 9 uses software rendering on these devices. This is a good indication that the experience with Metro style apps will not be satisfactory on these drivers and parts.
    • As there is no in-box support for these devices, many users with these parts will wind up running on the Microsoft Basic Display Driver. This is a WARP-based WDDM 1.2 software GPU, and is actually faster than some of the parts in this class, for example, the Intel GMA500 series). It supports aero-glass and DWM, and can run Metro style apps. However, it has some important limitations:
        • · It doesn’t support multiple monitors or projection
        • · It doesn’t support sleep, though it does support hibernation
        • · It often will not allow changing screen resolution
  • MSAA Is Not Available to Metro style Apps
    • Windows 8 Consumer Preview does not support MSAA (Microsoft Active Accessibility) for reading or automating accessible data from Metro style apps. The UI Automation (UIA) API, available since Windows 7, should be used instead.
  • Port 3 Is Deprecated for NDIS 6.30 Drivers
    • Windows 8 Consumer Preview introduces a native Wi-Fi Direct stack compatible with the WFA standard.

New Features

  • Secured Boot
    • As antimalware (AM) software has become better and better at detecting runtime malware, attackers are also becoming better at creating rootkits that can hide from detection. Detecting malware that starts early in the boot cycle is a challenge that most AM vendors address diligently. Typically, they create system hacks that are not supported by the host operating system and can actually result in placing the computer in an unstable state. Up to this point, Windows has not provided a good way for AM to detect and resolve these early boot threats. Windows 8 Consumer Preview introduces a new feature called Secured Boot, which protects the Windows boot configuration and components, and loads an Early Launch Anti-malware (ELAM) driver. This driver starts before other boot-start drivers and enables the evaluation of those drivers and helps the Windows kernel decide whether they should be initialized.
  • Measured Boot
    • Windows 8 Consumer Preview introduces a new feature called Measured Boot, which measures each component, from firmware up through the boot start drivers, stores those measurements in the Trusted Platform Module (TPM) on the machine, and then makes available a log that can be tested remotely to verify the boot state of the client.
  • Startup Apps
    • Startup apps are classified to include those leveraging the following mechanisms to start:

      • · Run registry keys (KHLM, KHCU, wow64 nodes included)

      • · RunOnce registry keys

      • · Startup folders under the start menu for per user and public locations

      New functionality has been added to Windows to ensure that end users are always in control of the apps that run on their systems. To achieve this, Task Manager now will allow users to disable these startup apps and the user’s choice for each app is considered final.

      (Cookbook has good table here of various situations…)

  • Resilient File System (ReFS)

The key features of ReFS are:

  • · Integrity: ReFS stores data so that it is protected from many of the common errors that can cause data loss. File system metadata is always protected. Optionally, user data can be protected on a per-volume, per-directory, or per-file basis. If corruption occurs, ReFS can detect and, when configured with Storage Spaces, automatically correct the corruption. In the event of a system error, ReFS is designed to recover from that error rapidly, with no loss of user data.

  • · Availability: ReFS is designed to prioritize the availability of data. With ReFS, if corruption occurs, and it cannot be repaired automatically, the online salvage process is localized to the area of corruption, requiring no volume down-time. In short, if corruption occurs, ReFS will stay online.

  • · Scalability: ReFS is designed for the data set sizes of today and the data set sizes of tomorrow; it’s optimized for high scalability.

  • · Application Compatibility: To maximize AppCompat, ReFS supports a subset of NTFS features plus Win32 APIs that are widely adopted.

  • · Proactive Error Identification: The integrity capabilities of ReFS are leveraged by a data integrity scanner (a “scrubber”) that periodically scans the volume, attempts to identify latent corruption, and then proactively triggers a repair of that corrupt data.

 

  • File Server API Support in SMB 2.2 http://go.microsoft.com/?linkid=9797692
  • Automatic Maintenance
    • Has several different modes:
      • a fully automatic mode
      • user-initiated mode
      • automatic stop
      • deadlines and notification
      • enterprise control.
  • Input language and input method switch changes
    • Instead of showing all the IME mode icons along with the IME branding icon, only one IME mode icon along with the IME branding icon is shown.
  • New API Allows Apps to Send “TRIM and Unmap” Hints to Storage Media
    • TRIM hints notify the drive that certain sectors that previously were allocated are no longer needed by the app and can be purged. This is typically used when an app makes large space allocations via a file and then self-manages the allocations to the file (for example, Virtual Hard Disk files).
    • More details in cookbook!
  • Multipath I/O Now Supports Extended SRBs
    • In Windows 8 Consumer Preview, a new structure, the STORAGE_REQUEST_BLOCK (extended SRB) replaces the SCSI_REQUEST_BLOCK (legacy SRB) in the core storage stack. Extended SRBs replicate the functionality of the legacy SRBs, but are also extensible and scalable.
  • New File History Feature
    • The new File History feature replaces the existing Backup and Restore function, and offers protection for user files stored in user libraries. A set of APIs is provided that allows developers to programmatically enable File History and select a specific storage target.
    • It may affect workflows related to data protection and documentation that depend on the Windows Backup and Restore feature.
    • We do not recommend using both features at the same time. File History checks if a Backup schedule exists and is active and if it finds one, it will not let users to turn it on.
  • Operating System Now Controls Power to Optical Disk Drives
    • If there is no media present in the optical disk drive (ODD), the operating system turns off the power to the optical drive. This feature is called zero power ODD (ZPODD). The feature is applicable only to optical drives that use a Slimline SATA (Serial Advanced Technology Attachment) connector.
    • You can revert to always on status via registry setting by setting HKLM\SYSTEM\CurrentControlSet\Services\cdrom\Parameters\ZeroPowerOD DEnabled to 0 (32-bit DWORD)
  • Support for USB 3.0

New Tools

 

  • Windows Assessment Toolkit http://msdn.microsoft.com/library/windows/hardware/br259106.aspx
    • Combines functionality of Velocity Test Suite (VTS/VOS), Fundamental Quality Tools Suite (FQTS), and System Power and Performance Tools Suite (SPPTS), and more.
  • Windows App Certification Kit http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27414 and Windows Server App Certification Kit (SCK)
    • The Windows App Certification Kit (ACK) is used to validate compliance with certification requirements, and replaces the Windows Software Logo Kit (WSLK) used for validation in the Windows 7 Software Logo program. Desktop, desktop device, and Metro style apps can be certified; however, plug-in, ActiveX, and other web apps cannot be certified. The Windows ACK is included in the Windows Software Development Kit (SDK) and the Windows SDK for Metro style apps.

image

About chentiangemalc

specializes in end-user computing technologies. disclaimer 1) use at your own risk. test any solution in your environment. if you do not understand the impact/consequences of what you're doing please stop, and ask advice from somebody who does. 2) views are my own at the time of posting and do not necessarily represent my current view or the view of my employer and family members/relatives. 3) over the years Microsoft/Citrix/VMWare have given me a few free shirts, pens, paper notebooks/etc. despite these gifts i will try to remain unbiased.
This entry was posted in Application Compatibility, Migration, Windows 8 and tagged . Bookmark the permalink.

4 Responses to Windows 8 Compat Cookbook Summary

  1. Andrew says:

    Fantastic entry Mal. A1. Excellent.

  2. You are kidding me right? People are sitll advocate dropping ‘random’ directories off the root of C:?
    “xcopy e:\sources\sxs\*.* c:\dotnet35 /s”
    I know this is in the cookbook – P16. However it wouldn’t harm to point out here that this is not good practice and you personally would use a better practice.

    • Yeah actually I will add a note with process I use for our corp image. I mount WIM and use DISM /image instead of /online to apply to mounted WIM, no special directories needed. the necessary files get copied into final location within image. Works perfectly.

  3. Patrick says:

    Thanks for this great overview, really excellent!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s