5.1
Table Of Contents
- ThinApp User’s Guide
- Contents
- About This Book
- Installing ThinApp
- Capturing Applications
- Phases of the Capture Process
- Preparing to Capture Applications
- Capturing Applications with the Setup Capture Wizard
- Create a System Image Before the Application Installation
- Rescan the System with the Installed Application
- Defining Entry Points as Shortcuts into the Virtual Environment
- Set Entry Points
- Manage with VMware Horizon Application Manager
- Set User Groups
- Defining Isolation Modes for the Physical File System
- Set File System Isolation Modes
- Storing Application Changes in the Sandbox
- Customize the Sandbox Location
- Send Anonymous Statistics to VMware
- Customize ThinApp Project Settings
- Defining Package Settings
- Customize Package Settings
- Opening Project and Parameter Files
- Build Virtual Applications
- Advanced Package Configuration
- Capturing Internet Explorer 6 on Windows XP
- Capturing Multiple Application Installers with ThinApp Converter
- ThinApp Package Management
- Deploying Applications
- ThinApp Deployment Options
- Establishing File Type Associations with the thinreg.exe Utility
- Building an MSI Database
- Controlling Application Access with Active Directory
- Starting and Stopping Virtual Services
- Using ThinApp Packages Streamed from the Network
- Using Captured Applications with Other System Components
- Performing Paste Operations
- Accessing Printers
- Accessing Drivers
- Accessing the Local Disk, the Removable Disk, and Network Shares
- Accessing the System Registry
- Accessing Networking and Sockets
- Using Shared Memory and Named Pipes
- Using COM, DCOM, and Out-of-Process COM Components
- Starting Services
- Using File Type Associations
- Sample Isolation Mode Configuration Depending on Deployment Context
- Updating and Linking Applications
- Application Updates That the End User Triggers
- Application Sync Updates
- Using Application Sync in a Managed or Unmanaged Environment
- Update Firefox 2.0.0.3 to Firefox 3 with Application Sync
- Fix an Incorrect Update with Application Sync
- Application Sync Effect on Entry Point Executable Files
- Updating thinreg.exe Registrations with Application Sync
- Maintaining the Primary Data Container Name with Application Sync
- Completing the Application Sync Process When Applications Create Child Processes
- Application Link Updates
- View of the Application using Application Link
- Link a Base Application to the Microsoft .NET Framework
- Set Up Nested Links with Application Link
- Affecting Isolation Modes with Application Link
- PermittedGroups Effect on Linked Packages
- Sandbox Changes for Standalone and Linked Packages
- Import Order for Linked Packages
- File and Registry Collisions in Linked Packages
- VBScript Collisions in Linked Packages
- VBScript Function Order in Linked Packages
- Storing Multiple Versions of a Linked Application in the Same Directory
- Using Application Sync for a Base Application and Linked Packages
- Application Sync Updates
- Application Updates That the Administrator Triggers
- Automatic Application Updates
- Upgrading Running Applications on a Network Share
- Application Synchronization Using Group Policy Object
- Sandbox Considerations for Upgraded Applications
- Updating the ThinApp Version of Packages
- Application Updates That the End User Triggers
- Locating the ThinApp Sandbox
- Creating ThinApp Snapshots and Projects from the Command Line
- ThinApp File System Formats and Macros
- Creating ThinApp Scripts
- Callback Functions
- Implement Scripts in a ThinApp Environment
- API Functions
- Monitoring and Troubleshooting ThinApp
- Glossary
- Index
ThinApp User’s Guide
96 VMware, Inc.
Search for the error message displayed in dialog boxes.
Some applications call the MessageBox Win32 API function to display unexpected errors at runtime. You
can search a trace file for MessageBox or the contents of the string displayed in the error and determine
what the application was running just before the dialog box appeared.
Narrow the focus on calls originating from a specific DLL and thread.
The log format specifies the DLL and thread that makes a call. You can often ignore the calls from system
DLLs.
Log Format
A trace file includes the following sections:
System configuration
This section includes information about the operating system, drives, installed software, environment
variables, process list, services, and drivers.
The information starts with a Dump started on string and ends with a Dump ended on string.
Header
This section shows contextual information for the instance of the process that Log Monitor tracks. Some
of the displayed attributes show logging options, address ranges when the operating system runtime is
loaded, and macro mapping to actual system paths.
ThinApp marks the beginning of the header section with sequence number 000001. In typical
circumstances, ThinApp marks the end of this section with a message about the Application Sync utility.
Body
This section includes trace activity as the application starts and performs operations. Each line represents
function calls that target executable files or one of the DLLs make.
The section starts with a New Modules detected in memory entry, followed by the SYSTEM_LOADED
modules list. The section ends with a Modules Loaded entry.
Summary
This section includes modules that the captured application loads, potential errors, and a profile of the
150 slowest calls.
The section starts with the Modules Loaded message.
General API Log Message Format
The following message shows a format example for API calls.
000257 0a88 mydll.dll :4ad0576d->kernel32.dll:7c81b1f0 SetConsoleMode (IN HANDLE
hConsoleHandle=7h, IN DWORD dwMode=3h)
000258 0a88 mydll.dll :4ad0576d<-kernel32.dll:7c81b1f0 SetConsoleMode ->BOOL=1h ()
This example includes the following entries:
000257 indicates the log entry number. Each log entry has a unique number.
0a88 indicates the current running thread ID. If the application has one thread, this number does not
change. If two or more threads record data to the log file, you might use the thread ID to follow
thread-specific sequential actions because ThinApp records log entries in the order in which they occur.
mydll.dll indicates the DLL that makes the API call.
4ad0576d indicates the return address for the API call that mydll.dll makes. In typical circumstances,
the return address is the address in the code where the call originates.
-> indicates the process of entering the call. For the call entry log element, ThinApp displays the input
parameters. These parameters are in and in/out parameters.










