Windows 10 Compatibility Toolbox · 2 Windows 10 Compatibility Toolkit Tools: Research, Inventory,...
Transcript of Windows 10 Compatibility Toolbox · 2 Windows 10 Compatibility Toolkit Tools: Research, Inventory,...
Windows 10 Compatibility Toolbox
Introduction .......................................................................................................................................................... 1
General References: ....................................................................................................................................... 1
Tools: .................................................................................................................................................................... 2
Research, Inventory, and Rationalization ............................................................................................. 2
Testing Tools (Automated and Static Analysis) ................................................................................. 3
Free Troubleshooters .................................................................................................................................... 3
Remediation ...................................................................................................................................................... 4
References ......................................................................................................................................................... 5
Troubleshooting .............................................................................................................................................. 5
Remediation ...................................................................................................................................................... 6
Misc. ..................................................................................................................................................................... 8
Deprecations and Changes ........................................................................................................................ 9
1 Windows 10 Compatibility Toolkit
Introduction Use this compendium of Microsoft tools and resources to assess your application’s
compatibility with Windows 10, with guidelines, frameworks and references to assist you
across all the various testing stages.
General References:
Windows 10 application compatibility:
Find tools and step-by-step guides to help you discover applications, assess the compatibility of your applications with Windows 10,
and address compatibility issues prior to deployment. https://technet.microsoft.com/en-us/windows/mt703793
Windows 10 Compatibility Cookbook:
Windows 10, Windows 8, Windows 8.1, and Windows Server 2012 R2 introduce the latest operating system technology and software
development platforms for use by app developers and enterprises worldwide. Learn how to optimize your apps and take advantage of
what this newest release of Windows has to offer. https://msdn.microsoft.com/en-us/windows/compatibility/index
Windows Internals, 6th Edition, Parts 1 and 2
Delve inside Windows architecture and internals—and see how core components work behind the scenes.
Part 1: https://www.microsoftpressstore.com/store/windows-internals-part-1-9780735656567
Part 2: https://www.microsoftpressstore.com/store/windows-internals-part-2-9780735665873
Troubleshooting with the Windows Sysinternals Tools
IT pros and power users consider the free Windows Sysinternals tools indispensable for diagnosing, troubleshooting, and deeply
understanding the Windows platform. In this extensively updated guide, Sysinternals creator Mark Russinovich and Windows expert
Aaron Margosis help you use these powerful tools to optimize any Windows system’s reliability, efficiency, performance, and security.
https://www.microsoftpressstore.com/store/troubleshooting-with-the-windows-sysinternals-tools-9780735684447
2 Windows 10 Compatibility Toolkit
Tools:
Research, Inventory, and Rationalization
CWA (Classic Windows Applications - Win32/.NET) Application Compatibility Tools
Ready for Windows:
The Ready for Windows Directory makes it easy for solution providers to list and showcase their Windows 10 and Office 365 ProPlus
solutions so IT pros can find compatibility information for their solutions.
https://developer.microsoft.com/en-us/windows/ready-for-windows
Windows Analytics Upgrade Readiness:
Windows Analytics Upgrade Readiness collects computer, application, and driver data, enabling data-driven insights to help IT reduce
deployment, servicing and support costs.
https://docs.microsoft.com/en-us/windows/deployment/upgrade/upgrade-readiness-get-started
Setup Compat Scan:
Beginning with Windows 10, version 1607, you can use a setupconfig file as an alternative to passing parameters to Windows Setup on
a command line.
https://msdn.microsoft.com/en-us/windows/hardware/commercialize/manufacture/desktop/windows-setup-command-line-options
Windows Sysinternals Web Site:
Sysinternals Live is a service that enables you to execute Sysinternals tools directly from the Web without hunting for and manually
downloading them.
https://docs.microsoft.com/en-us/sysinternals/
Web Application Compatibility Tools
EMIE Site Discovery Toolkit:
Use this toolkit to enable Internet Explorer to collect information about sites in your enterprise deployment.
https://www.microsoft.com/en-us/download/details.aspx?id=44570
Office Application Compatibility Tools
Office Telemetry Dashboard:
Manage add-ins by using telemetry Dashboard in Office 2016.
https://technet.microsoft.com/en-us/library/mt599631(v=office.16).aspx
3 Windows 10 Compatibility Toolkit
Office: Office365 Centralized Compatibility Checker:
Administrators that wish to deploy Add-Ins within an Organization using Centralized Deployment can use the Compatibility Checker to
confirm which users are able to use the functionality.
https://www.microsoft.com/en-us/download/details.aspx?id=55270
Testing Tools (Automated and Static Analysis)
Windows Applications – Win32/.NET/UWP Tools
WACK: Windows App Certification Kit:
Use the Windows App Certification Kit to test your app before submitting to the Microsoft Store, or check existing desktop applications.
https://developer.microsoft.com/en-us/windows/develop/app-certification-kit
Web Application Tools
F12 Developer Toolbar for Internet Explorer:
The F12 tools menus and buttons provide page and visual tools to help you navigate the tool suite. Within the tools, you can create
report lists of all the links in your document, change document modes, or visually outline a specific element on a page.
http://msdn.microsoft.com/en-us/library/ie/gg589500(v=vs.85).aspx
Office Application Tools
Office: Readiness Toolkit for Office Add-ins and VBA Macros:
The Readiness Toolkit for Office add-ins and VBA helps you identify compatibility issues with your Microsoft Visual Basic for
Applications (VBA) macros and your installed add-ins. Use this tool to inspect VBA macro code and get readiness information for
installed Office add-ins.
https://www.microsoft.com/en-us/download/details.aspx?id=55983
Free Troubleshooters
Program Compatibility Troubleshooter:
The Windows Assessment and Deployment Kit (Windows ADK) has the tools you need to customize Windows images for large-scale
deployment, and to test the quality and performance of your system, its added components, and the applications running on it.
(Includes Standard User Analyzer.)
https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit
4 Windows 10 Compatibility Toolkit
Debugging Tools for Windows (Windows 10 SDK):
The Windows 10 SDK provides the latest headers, libraries, metadata, and tools for building Windows 10 apps. When used in
conjunction with the latest version of Visual Studio 2017, the Windows 10 SDK provides the optimum experience for building apps for
Windows 10.
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk
LUABuglight:
LUA Buglight is a utility for identifying admin-permissions issues (a.k.a., "LUA bugs") in desktop applications.
https://blogs.msdn.microsoft.com/aaron_margosis/2015/06/30/lua-buglight-2-3-with-support-for-windows-8-1-and-windows-10/
Windows Error Reporting:
Windows Error Reporting (WER) is a set of Windows technologies that capture software crash and failure data from end users. This data
is analyzed to create a list of top user-mode (software) and kernel-mode (operating system) failures associated with a company’s
mapped products.
https://docs.microsoft.com/en-us/windows-hardware/drivers/dashboard/windows-error-reporting-getting-started
AppVerifier (Part of SDK):
A runtime verification tool for native code that assists in finding subtle programming errors that can be difficult to identify with normal
application testing, the appverifier is designed to detect and help debug memory corruptions and critical security vulnerabilities.
https://developer.microsoft.com/en-US/windows/downloads/windows-10-sdk
Windows Performance Toolkit (Part of ADK):
The Windows Performance Toolkit assesses the quality and performance of systems or components.
https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit
Message Monitor:
Message Analyzer enables you to capture, display, and analyze protocol messaging traffic; and to trace and assess system events and
other messages from Windows components.
https://www.microsoft.com/en-us/download/details.aspx?id=44226
IEDigest:
IEDigest has been designed for collecting and comparing Internet Explorer settings.
https://www.microsoft.com/en-us/download/details.aspx?id=51694
Remediation
CWA (Classic Windows Applications - Win32/.NET) Tools
Compatibility Administrator:
The Compatibility Administrator tool, provided by the Application Compatibility Toolkit (ACT) enables you to resolve many of your
potential application compatibility issues, before deploying a new version of Windows to your organization, by:
• Providing individual compatibility fixes, compatibility modes, and AppHelp messages that you can use to resolve specific
compatibility issues
• Enabling you to create customized compatibility fixes, compatibility modes, AppHelp messages, and compatibility databases
• Providing a query tool that enables you to search for installed fixes on your local computers.
https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit
5 Windows 10 Compatibility Toolkit
C++ Runtime frameworks for Desktop Bridge:
C++ Runtime framework packages help developers reference the C++ Runtime from their desktop apps that will be distributed through
the Store. These framework packages are provided to help developers convert their C++ desktop apps to UWP.
V11 Runtime: https://www.microsoft.com/en-us/download/details.aspx?id=53340
V12 Runtime: https://www.microsoft.com/en-us/download/details.aspx?id=53176
V14 Runtime: https://www.microsoft.com/en-us/download/details.aspx?id=53175
Web Application Tools
EMIE Site List Manager:
This tool lets IT Professionals create and update the Enterprise Mode Site List in the version 2.0 (v.2) XML schema. The Enterprise Mode
schema has been updated to v.2 to be easier to read and to provide a better foundation for future capabilities. The v.2 schema is
supported on Windows 7, Windows 8.1, and Windows 10.
https://www.microsoft.com/en-us/download/details.aspx?id=49974
F12 Developer Toolbar for Internet Explorer:
Microsoft Edge F12 DevTools are built with TypeScript, powered by open source, and optimized for modern front-end workflows.
http://msdn.microsoft.com/en-us/library/ie/gg589500(v=vs.85).aspx
Web Dev Tools for the Modern Web:
Check and debug your site with cross platform tools, including free remote testing from Browserstack, free virtual machines, and
conduct site scans with sonarwhal.
https://developer.microsoft.com/en-us/microsoft-edge/tools/
Office Application Tools
Office App Compatibility Kit (Office Store):
Use the Office App Compatibility Kit to check your app before you submit it to the Apps for Office Store. It will help you identify and
resolve validation failures that commonly lead to app resubmissions, which can save you time in getting your app approved and
available to customers.
https://www.microsoft.com/en-us/download/details.aspx?id=46831
References
Troubleshooting
CWA (Classic Windows Applications - Win32/.NET)
Wow64 Troubleshooting:
Common Issues with 32-bit Applications Failing on 64-bit.
http://blogs.msdn.com/b/patricka/archive/2009/12/17/common-issues-with-32-bit-applications-failing-on-64-bit.aspx
Office Applications
Using the Office Readiness Toolkit:
The Readiness Toolkit for Office add-ins and VBA can help you identify compatibility issues with your Microsoft Visual Basic for
Applications (VBA) macros and add-ins that you use with Office. The Readiness Toolkit includes the Readiness Report Creator, which
6 Windows 10 Compatibility Toolkit
creates an Excel report with VBA macro compatibility and add-in readiness information to help your organization assess its readiness to
move to Office 365 ProPlus.
https://support.office.com/en-us/article/Use-the-Readiness-Toolkit-to-assess-application-compatibility-for-Office-365-ProPlus-
9b0b48f2-1937-4b10-8274-1ccdb2f5d019?ui=en-US&rs=en-US&ad=US
Web Applications
Sonar:
The next evolution of the static scan tool: sonar, a new linting tool and site scanner for the modern web, brings many improvements
compared to previous scanners: execution of website code instead of static analysis, a more flexible and modernized set of rules, parallel
test execution, integration with other services, a completely open source code base from day one, and more.
https://blogs.windows.com/msedgedev/2017/10/25/introducing-sonar-site-scanner/#PVsSHDakCLa31Htt.97
Zone Analyzer:
IEZoneAnalyzer is a utility for viewing and comparing Internet Explorer security zone settings – that is, the configuration settings that
grant web sites in the Intranet zone more capabilities in the browser than web sites in the Internet zone.
http://blogs.technet.com/b/fdcc/archive/2011/09/22/iezoneanalyzer-v3-5-with-zone-map-viewer.aspx
How to use F12 Developer Tools to Debug your Webpages:
Microsoft Edge F12 DevTools include:
• An Elements panel to edit HTML and CSS, inspect accessibility properties, view event listeners, and set DOM mutation
breakpoints
• A Console to view and filter log messages, inspect JavaScript objects and DOM nodes, and run JavaScript in the context of the
selected window or frame
• A Debugger to step through code, set watches and breakpoints, live edit your code, and inspect your web storage and cookie
caches
• A Network panel to monitor and inspect requests and responses from the network and browser cache
• A Performance panel to profile the time and system resources required by your site
• A Memory panel to measure your use of memory resources and compare heap snapshots at different states of code execution
• An Emulation panel to test your site with different browser profiles, screen resolutions, and GPS location coordinates
https://docs.microsoft.com/en-us/microsoft-edge/f12-devtools-guide
Remediation
CWA (Classic Windows Applications - Win32/.NET)
ACT Technical References/Windows Analytics Upgrade Readiness:
We've replaced the majority of functionality included in the Application Compatibility Toolkit (ACT) with Upgrade Analytics, a solution in
the Microsoft Operations Management Suite. Upgrade Analytics gives enterprises the tools to plan and manage the upgrade process
end to end, allowing them to adopt new Windows releases more quickly.
https://technet.microsoft.com/en-us/itpro/windows/plan/act-technical-reference
CWA: Desktop Bridges (Centennial):
Users can confidently install and update apps and games that use the Desktop Bridge. And developers spend less time authoring setup
experiences and keeping users up to date.
https://developer.microsoft.com/en-us/windows/bridges/desktop
7 Windows 10 Compatibility Toolkit
Manifest Madness:
This blog post discusses Application Manifest elements for use in Win32 desktop applications.
https://blogs.msdn.microsoft.com/chuckw/2013/09/10/manifest-madness/
Manifests for UAC
This updated article details how to specify User Account Control (UAC) information in the program manifest.
https://msdn.microsoft.com/en-us/library/bb384691.aspx
User Account Control Step-by-Step Guide:
User Account Control (UAC) is a security component that allows an administrator to enter credentials during a non-administrator's user
session to perform occasional administrative tasks. This step-by-step guide provides the instructions that are necessary for using UAC in
a test environment. You can use this guide to test how your line-of-business (LOB) applications run in Windows 7 and Windows Vista.
https://technet.microsoft.com/en-us/library/cc709691.aspx
User Account Control for Game Developers
This article describes the guidelines and best practices for game developers to work effectively with the User Account Control (UAC)
security feature introduced in Windows Vista.
https://msdn.microsoft.com/en-us/library/ee419001.aspx
AppCompat Fixes:
This article describes how you can fix some compatibility issues that are due to the changes made between Windows operating system
versions. These issues can include User Account Control (UAC) restrictions.
https://technet.microsoft.com/en-us/library/cc722305(v=ws.10).aspx
FAQ: Where Do I Save Files, and How Exactly Do I Do That?
The correct ways to identify folder paths to store files depends on the programming technology you use. This blog post shows how to
do it in C++, C# and VB. NET, PowerShell, Windows Script Host (VBScript and JScript), and as a last resort, environment variables.
http://blogs.msdn.com/b/aaron_margosis/archive/2011/09/25/faq-where-do-i-save-files-and-how-exactly-do-i-do-that.aspx
Hard Links and Junctions:
There are three types of file links supported in the NTFS file system: hard links, junctions, and symbolic links. This topic is an overview of
hard links and junctions.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365006(v=vs.85).aspx
Symbolic Links:
A symbolic link is a file-system object that points to another file system object. The object being pointed to is called the target. This
topic is an overview of symbolic links.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365680(v=vs.85).aspx
Using the CorrectFilePaths Fix
This section includes information about using the CorrectFilePaths compatibility fix, including the available variables, command-line
options, usage, and any default file path and API-related information.
http://technet.microsoft.com/en-us/library/cc766201(v=WS.10).aspx
Older Shim Reference for Technical Debt:
This table lists in alphabetical order the known compatibility fixes for all Windows operating systems that have been released from
Windows Vista® through Windows® 8.
https://technet.microsoft.com/en-us/library/cc722305(v=ws.10).aspx
Web Applications
8 Windows 10 Compatibility Toolkit
Enabling standards-based sites (IE Dev Center):
Recent versions of Windows Internet Explorer have improved support for a variety of established and emerging standards, such as
HTML5, CSS3, SVG, and others. Here, you'll learn about document modes, which control the way a webpage is displayed by Internet
Explorer. You'll also learn how to enable standards support, how to recognize document mode issues, and how to troubleshoot these
issues.
http://msdn.microsoft.com/en-us/library/ie/gg699338(v=vs.85).aspx
W3C Doctype Specifications:
When authoring document is HTML or XHTML, it is important to Add a Doctype declaration. This makes sure the document will be
parsed the same way by different browsers. Use the following markup as a template to create a new HTML document using a proper
Doctype declaration.
http://www.w3.org/QA/2002/04/valid-dtd-list.html
Building plug-in free experiences (IE Dev Center):
As a Windows app, Internet Explorer runs without plug-ins so that you have a clean, fast, and secure web browsing experience, while
also providing a native Adobe Flash player. By removing plug-in dependencies from their sites and opting instead for analogous
standards-based technologies, web developers can benefit from better site interoperability and easier maintenance. Here we offer
guidance and strategies for preparing your sites and web applications for plug-in free browsing in IE.
http://msdn.microsoft.com/library/ie/hh968248(vs.85)
Using feature detection over browser detection (IE Dev Center):
Traditionally, many web developers have used browser detection in an attempt to provide a consistent experience between browsers.
The typical implementation performs a single comparison operation, usually involving the user-agent string, and then makes several
design assumptions about the features supported by that browser. In practice, however, feature detection has proven to be a more
effective technique that requires less maintenance. This article shows how to use feature detection to verify support for standards-based
featured and demonstrates different ways to detection features effectively.
http://msdn.microsoft.com/en-us/library/ie/hh273397(v=vs.85).aspx
Investigating Document Modes:
In order for Windows Internet Explorer and other modern browsers to enable all supported features, webpages must be in standards
mode. Put your webpages into standards mode by declaring a standards-based document type. This topic helps you learn how to use
the F12 tools to research and identify a problem related to the document type of a webpage.
https://msdn.microsoft.com/en-us/library/gg699340(v=vs.85).aspx
Understanding the Compatibility View List:
In recent versions, Windows Internet Explorer has dramatically improved support for established and emerging industry standards, such
as HTML5, Cascading Style Sheets (CSS), Level 3 (CSS3), and Scalable Vector Graphics (SVG). By default, Internet Explorer properly
displays webpages designed to support these standards. In order to help such websites display correctly, Internet Explorer supports a
display mode called Compatibility View, which displays webpages as if they were viewed by an earlier version of the browser. This article
describes different ways that enable Compatibility View.
https://msdn.microsoft.com/en-us/library/dd567845(v=vs.85).aspx
Misc.
9 Windows 10 Compatibility Toolkit
Deprecations and Changes
Deprecated Shell APIs
https://msdn.microsoft.com/en-us/library/windows/desktop/jj635743(v=vs.85).aspx
Deprecated Win32APIs
https://msdn.microsoft.com/en-us/library/windows/desktop/ff818516(v=vs.85).aspx
1703 Deprecations:
https://support.microsoft.com/en-us/help/4014193/features-that-are-removed-or-deprecated-in-windows-10-creators-update
1709 Deprecations:
https://support.microsoft.com/en-us/help/4034825/features-that-are-removed-or-deprecated-in-windows-10-fall-creators-up
What’s New in Windows 10 Anniversary Update For Developers: https://msdn.microsoft.com/en-us/windows/uwp/whats-new/windows-
10-sdk-preview
Windows 10 1607 API Changes : https://msdn.microsoft.com/en-us/windows/uwp/whats-new/windows-10-version-1607-api-diff
Windows Insider Preview Change Log: https://blogs.windows.com/windowsexperience/tag/windows-10-insider-preview/
Edge Change Log: https://developer.microsoft.com/en-us/microsoft-edge/platform/changelog/
Packaging/Repackaging
ORCA: https://msdn.microsoft.com/en-us/library/windows/desktop/aa370557(v=vs.85).aspx
Visual Studio: https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
WiX Toolset: http://wixtoolset.org/
Walkthrough: Creating a Custom Installer for a ClickOnce Application: https://msdn.microsoft.com/en-
us/library/dd997001.aspx
Application Compatibility Operations
Operations:
One of the most important decisions you can make when it comes to running an app compat project is to determine how much time (if
any) you should be spending investigating any given application. By making every application important, you’re ending up making none
of them important, as you just end up treating them all the same. This blog includes suggestions for how to categorize applications.
Taxonomies for Categorizing Apps to Drive Your App Compat Project
Telemetry Documentation:
The Windows Customer Data Opt-in (CDO) is an optional setting for enterprise-managed devices that instructs Windows to gather
devicespecific telemetry data. By configuring CDO, enterprises will be able to gather information from their Windows 7, Windows 8, or
Windows 8.1 devices about apps, drivers, hardware configurations, and other engagement with the operating system to generate
upgrade related insights. This document lists telemetry events, grouped by event area, and the fields within each event gathered by
Windows 7, Windows 8, and Windows 8.1 through CDO for Windows Analytics: Upgrade Readiness.
Windows 7/8.x telemetry documentation
10 Windows 10 Compatibility Toolkit
Application Compatibility Database API description:
The compatibility infrastructure uses a database to identify application compatibility issues and their solutions. This database is an
indexed binary file with an .sdb extension. The compatibility infrastructure provides a programming interface to access the database.
https://msdn.microsoft.com/en-us/library/bb432182(v=vs.85).aspx
Excluding Programs from the Program Compatibility Assistant (PCA):
PCA is intended to detect issues with older programs and not intended to monitor programs developed for Windows Vista and
Windows Server 2008. The best option to exclude a program from PCA is to include, with the program, an application manifest with run
level (either Administrator or as limited users) marking for UAC. This marking means the program is tested to work under UAC (and
Windows Vista and Windows Server 2008). PCA checks for this manifest and will exclude the program. This process applies for both
installer and regular programs.
https://support.microsoft.com/ja-jp/kb/2545347
Secure Development Lifecycle
Microsoft Security Development Lifecycle (SDL):
An introduction to the secure development lifecycle.
https://www.microsoft.com/en-us/sdl/default.aspx
Update 5.2: https://msdn.microsoft.com/en-us/library/cc307748.aspx
Windows ISV Software Security Defenses:
Starting with Windows XP SP2 and Windows Server 2003, Microsoft Windows offers a number of defensive enhancements designed to
protect customers. Applications that run on these platforms should take full advantage of these defenses. The purpose of this paper is
to detail the available defenses and to explain how software vendors can take advantage of these defenses to protect our shared
customers.
https://msdn.microsoft.com/en-us/library/bb430720.aspx
Simplified Implementation of the Microsoft SDL:
This document illustrates the core concepts of the Microsoft Security Development Lifecycle (SDL) and discusses the individual security
activities that should be performed in order to follow the SDL process.
https://www.microsoft.com/en-us/download/details.aspx?id=12379
Microsoft Threat Modeling Tool 2014:
The Microsoft Threat Modeling Tool helps engineers analyze the security of their systems to find and address design issues early in the
software lifecycle.
https://www.microsoft.com/en-us/download/details.aspx?id=42518
Microsoft SDL - Developer Starter Kit
The Microsoft SDL - Developer Starter Kit provides a compilation of baseline developer security training materials on core Microsoft
Security Development Lifecycle (SDL) topics.
https://www.microsoft.com/en-us/download/details.aspx?id=4645
11 Windows 10 Compatibility Toolkit
The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as
of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be
a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the
date of publication.
This paper is for informational purposes only. Microsoft makes no warranties, express or implied, in this document.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no
part of this document may be reproduced, stored in, or introduced into a retrieval system, or transmitted in any form or by
any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written
permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject
matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this
document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.
© 2012 Microsoft Corporation. All rights reserved.
Microsoft, list Microsoft trademarks used in your white paper alphabetically are either registered trademarks or trademarks of
Microsoft Corporation in the United States and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their respective owners.