Apps on Win7 [2 Days]
How Applications Work on Windows 7 and Windows 8
This training course lays the ground work for understanding how the operating system interacts with natively installed Windows applications. This understanding is critical for engineering applications to successfully run under alternative environments such as application virtualization, compatibility shimming, application streaming and cloud environments. This course first covers the Windows Application Environment of the traditional Win32 core up to Windows XP. Next it covers the many new changes to the native application environment that were made in version 6 of the OS kernel that was released with Windows Vista and is in Windows 7, Windows 8 and Server 2008. Windows 8 Metro applications packaging and deployment is also covered.
Fundamentals of Windows Processes
Anatomy of a process, Permissions, Loading DLLs and Other Code, Security Tokens, Sessions.
COM Operations, HKCR, Tracing COM, DLL Loading, Loading Overrides (.LOCAL)
Windows Code Files
Anatomy of EXEs and DLLs, DLL Loading, Editing EXEs.
Processes for Kernel 6 (Win8, Win7, Vista, Win2008)
Windows Integrity Mechanism (WIM) Integrity Levels (IL), User Account Control (UAC), Security Manifesting, UAC Virtualization, COM and UAC, Disable UAC, Windows Resource Protection (WRP), User Interface Privilege Isolation (UIPI), Win7: Per-User Applications (PUA), Win7: XP Mode
IE Changes for Kernel 6
IE Protected Mode (IEPM), Usage of ILs, Usage of UAC Virtualization
The main ways in whch an application integrates with Windows. Environment variables, App Paths, Shortcuts, Extension Mapping, Shell Extensions, etc.
Windows 8 Metro Applications
Installation and Management of AppX, AppX Package Formats, Metro Programming Model
Labs & Templates:
Procmon filter templates
Replacing internal UAC manifests
Virtualization: Detecting, Tracing, Cleaning Up
Process Explorer (Procexp.exe)
Process Monitor (Procmon.exe)
Explorer Suite EXE Editor
Troubleshooting [1 Day]
Testing and Troubleshooting Applications on Win7 with Sysinternals Tools & CSI-Toolkit
CSI-350 provides foundational skills, tools and methods for finding the cause of application problems. Learn systematic troubleshooting and use the Portable CSI-Toolkit to test during application development, packaging or production operations in native and virtual environments.
Systematic Troubleshooting and Debugging
Disciplines and methods for debugging and troubleshooting tough problems. Experience a boost in productivity gain by applying the correct attitudes, principles and procedures for locating the source of problems.
Leveraging Virtual Machines
Manging virtual machines and virtual hard disks to make the most of your testing environment.
For production debugging and software testing environments - keep from having to contantly re-install your tools.
All tools, techniques and methods assume that you do not have the source code for the troubled application. The course is still very helpful if you do have the source code - especially if your code relies on other compiled code for which you do not have the source code (including the operating system).
Recording Results / Audit Trails
Documentation of test and diagnostic information assisted by free software utilities.
Monitoring Common Software Operations
Loading Code (DLLs/Assemblies)
File and Registry Access
Use a variety of tools to monitor the operations of software. These tools and methods apply equally to virtualized and natively installed Windows Software Applications. Learn to monitor:
Labs & Templates:
VMWare Templates for XP, Vista, Win7.
Portable Test Tools
Running from USB and network drives.
Process Monitor (procmon.exe)
Process Explorer (procexp.exe)
64-bit [1 Day]
Provisioning and Supporting Applications on
CSI-330 Brings to light the many unexpected little differences when applications run on 64-bit Windows. You will learn how 32-bit applications are supported and what you will need to watch out for when installing, managing and supporting them. Many of the issues discussed in this course are also relevant to Remote Desktop Services (RDS) on 2008 R2 as it is exclusively a 64-bit platform that will run 32-bit applications for end users.
64-bit Windows 7 VM: For many computers you can use 32-bit XP or Windows 7 to run the provided 64-bit Windows 7 VM. Please remember that if you plan to work from home for class, this issue may affect whether you can use a personally owned machine to perform labs using the provided 64-bit Windows 7 VM. Please read here for more details and testing instructions.
64-bit Platform Overview
Advantages, Requirements, 32-bit Application Support, Simultaneous Supporting Applications on 32-bit XP, 32-bit Win7 and 64-bit Win7.
Compatibility Impacts and Mitigations
Drivers, EXEs, IPC, RPC, COM, 32-bit Printing, UAC Virtualization.
32-bit Subsystem (WOW64) Internals
Registry Redirection, File System Redirection, Accessing Windows EXEs, Implementation of 32-bit Support.
64-bit "Ready" Software
32-bit Software Fitted for 64-bit, Native 64-bit, .NET x86 and x64, Mixed Bitness Software.
64-bit User Desktop
Explorer and Internet Explorer Compatibility.
Scripting on 64-bit
32 and 64-bit VBScript (.VBS), Shell Scripts (.CMD), PowerShell (.PS1), Registry Scripting, WMI on 64-bit, HTAs, supporting 32 and 64-bit in a single script.
Software Installation on 64-bit
Challenges unique to running 32-bit and 64-bit installers on 64-bit Windows, including recognizing incorrectly built installers. How 64-bit Windows Installer is implemented.
32-bit and 64-bit Application Compatibility (AppCompat), Changes in x64 for Win7.
64-bit Microsoft Office
64-bit MS Office compatibility and co-existence.
Take Home Testing Lab
This course utilizes a virtual machine based test lab that can be setup again anytime in the future.
Portable Toolkit that does not require installation - with preconfigured tools and ability to add your own.
Script Migration / Dual-Mode Kit
Script code and samples to ease the migration of existing scripts to support by 32-bit and 64-bit.
Engineering Checklist: 64-bit Application Support
Our Engineering Checklists give structured best practice discussion points to help speed your development of designs, best practices and operational procedures.
Labs & Templates:
Examining 64-bit Execution
Dissecting Registry Redirection
Understanding File Redirection
Windows 7 64-bit SP1 VM
Process Explorer (procexp.exe)
MSI 5 Update [1 Day]
CSI-460 - MSI Packaging Update for Windows 7
This component course brings you up to speed on the new functionality in Windows Installer since XP. There are both challenges and benefits to the new features in these releases. This course outlines how to take advantage of the new features in package authoring. It also discusses the possible impacts on corporate IT software deployment and what steps can be taken during both package authoring and package deployment to ensure software distribution is reliable on Windows 7.
New for Windows Installer 4.0, 4.5 & 5.0
Overview of all the new functionality added since the 3.1 release in Windows XP SP2. Windows Installer 4.5 interim release is covered as well.
Integrating with Software Distribution
Ensuring that packages run well with software distribution system as well as user self-serve installations.
Package Authoring Best Practice
Deploying Packages to Vista / Windows 7
Package code signing, changes in source files format.
How UAC and MSI Elevated privileges compare, differ and interact. Avoiding UAC problems. Windows 7 Dual Purpose Packages for supporting profile isolated software installs. New AppCompat support for packages.
Managing User Admins
The course discusses the Windows Installer issues that need addressing if you will be eliminating XP user admins when migrating to Windows 7. It also discusses how to configure Windows Installer for maximum control if you will be supporting User Admins for some or all of your end users. Topics include Software Restriction Policies (certificates), Integrated Package Security, Configuration of Pre-4.0 MSI policies and properties that help when managing User-Admins
Managing Custom Actions
When custom actions need to be SDK compliant and when they don't. Custom actions in commercial packages. Special custom action compatibility in Windows 7.
Labs & Templates:
New MSI Logging Features
Analyzing custom action permissions
Analyzing MSI 4.0, 4.5 and 5.x logs
CSI Test Harness Package for Windows Installer 4.5, 4.0 and 5.0 Features
Shell Incept Configuration
Special .ADMX for Group Policy
Log File Analysis and Diagnostics Utility for New Windows 7 Features
Tool To Prevent Packages from Running on Non-Company Machines and When Double-Clicked Without Proper Command Line