Foundations [2 Days]
CSI-300
Foundations of the Native
Windows Application Environment
This component course lays the ground work for understanding how the operating system interacts with natively installed Windows applications. Understanding the way in which applications and the operating system expect to be interacting 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 and Server 2008.
Topics
Fundamentals of Windows Processes
Anatomy of a process, Permissions, Loading DLLs and Other Code, Security Tokens, Sessions.
COM Fundamentals
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 (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
Application Internals
The main ways in whch an application integrates with Windows. Environment variables, App Paths, Shortcuts, Extension Mapping, Shell Extensions, etc.
Labs & Templates:
Procmon filter templates
Tracing COM
Replacing internal UAC manifests
Virtualization: Detecting, Tracing, Cleaning Up
Tools:
Process Explorer (Procexp.exe)
Process Monitor (Procmon.exe)
Explorer Suite EXE Editor
whoami
RegScanner
RegfromApp
AppCompat
AppVerifier
Troubleshooting (Abbreviated) [1 Day]
CSI-350
Testing and Troubleshooting Applications on Win7 with Sysinternals Tools & CSI-Toolkit
This course provides a foundational skills, tools and methods for
finding the cause of application problems. Learn systematic troubleshooting and how to setup and use new tools.. Course is applicable to three perspectives - complete testing of a single application (developers), testing of a portfolio of applications (system engineers / administrators) as well as production troubleshooting (support professionals).
Topics
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.
Tool Portability
For production debugging and software testing environments - keep from having to contantly re-install your tools.
Post-Compile Orientation
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).
Tool Portability
For production debugging and software testing environments - keep from having to constantly re-install your tools.
Recording Results / Audit Trails
Documentation of test and diagnostic information assisted by free software utilities.
Monitoring Common Software Operations
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:
Loading Code (DLLs/Assemblies)
COM Operations
Security Permissions
File and Registry Access
Applied Shims
Windows APIs
Soft Skills For Application Testing
A successful software testing effort heavily relies on the soft skills of the testing engineer. Learn key softskills that apply directly to coordinating and executing software testing.
Labs & Templates:
VMWare Templates for XP, Vista, Win7.
Portable Test Tools
Running from USB and network drives.
Tools:
VMWare
Application Verifier
Process Monitor (procmon.exe)
Process Explorer (procexp.exe)
Autoruns (autoruns.exe)
Nirsoft.net Tools
Resplendence Tools
CSI-Windows Toolbox
App-V Sequencing [2 Days]
CSI-470 - APP-V Sequencing
This App-V training focuses on sequencing. App-V infrastructure features and options are not covered except where they affect how an application should be sequenced.
Topics
Application Integration
How applications integrate into the OS, beyond files and registry keys into special folders, resource protection, services, shell extensions, COM Registrations and much more.
Assessing Virtualizability
For many companies, 25% or more of their applications will not be able to be virtualized - learn how to assess this before hand. To support non-virtualizable applications, consider taking Win7 LUA/Non-Admin Application Integration Engineer (TRK-60).
Application Discovery and CaptureSetup and procedures for clean-machine capture of applications, before and after snapshots, cleaning up snapshots, the art of exclusions, virtual machines and reducing capture noise.
APP-V Virtualization Architecture
Application Containerization
API Virtualization
Virtual Stores
Layered Names spaces
OS Integration
Editing Virtual Application Projects
APP-V allows many aspects of your virtualized project to be tuned or customized - learn what these options are and when to use them.
OS Integration of Virtualized Applications
APP-V leverages Windows Installer (MSI) when your virtualized application needs to install items such as shortcuts, services and drivers.
Bundling Runtimes and Suiting Apps
Learn to bundle runtimes such with your App-V package. Learn how to allow two virtualized applications to interoperate.
Maintenance and Upgrades of Virtual Apps
Learn how to use the facilities of APP-V to maintain and upgrade virtual applications.
Sequencing with InstallShield AdminStudio
Learn how InstallShield AdminStudio creates App-v packages through either of two methods: a) direct conversion of an MSI, b) repackaging.
Labs & Templates:
Sequencing Applications
Dynamic Suite Composition
Upgrading and Updating
Setting Up App Capture
Tools:
APP-V Sequencer
Process Monitor (procmon.exe)
Process Explorer (procexp.exe)
InstallShield AdminStudio (optional)
Compatibility Admin
VMware