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
VMware, Inc. 85
Chapter 8 Creating ThinApp Scripts
4 Add the information in the system registry.
RegEditPid = ExecuteExternalProcess("regedit /s " & chr(34) & RegFileName & chr(34))
WaitForProcess RegEditPid, 0
Wait until the process is complete.
5 Clean the environment.
fso.DeleteFile(RegFileName)
End Function
API Functions
You can use API functions that instruct ThinApp to complete operations such as load DLLs as virtual DLLs,
convert paths from macro format to system format, and run commands inside of the virtual environment.
AddForcedVirtualLoadPath
The AddForcedVirtualLoadPath(Path) function instructs ThinApp to load all DLLs from the specified path
as virtual DLLs even if they are not located in the package.
Use this function if the application needs to load external DLLs that depend on DLLs located inside the
package.
You can use the ForcedVirtualLoadPaths parameter in the Package.ini file to achieve the same result as
this API function. See “ForcedVirtualLoadPaths” on page 71.
Parameters
Path
[in] The filename or path for DLLs to load as virtual.
Examples
You can load any DLL located in the same directory as the executable file as a virtual DLL.
Origin = GetEnvironmentVariable("TS_ORIGIN")
TS_ORIGIN is the path from which the executable file is running.
You can delete the filename from TS_ORIGIN by finding the last backslash and removing all of the characters
that follow it.
LastSlash = InStrRev(Origin, "\")
SourcePath = Left(Origin, LastSlash)
You can instruct ThinApp to load all DLLs in the same or lower directory from where the source executable
file resides.
AddForcedVirtualLoadPath(SourcePath)
This process enables you to drop additional files in the SourcePath tree and have them resolve import
operations against virtual DLLs.
ExitProcess
The ExitProcessExitCode function quits the current process and sets the specified error code.
Parameters
ExitCode
[in] The error code to set. This information might be available to a parent process. A value of 0 indicates no
error.










