ThinApp User’s Guide ThinApp 4.6 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions of this document, see http://www.vmware.com/support/pubs.
ThinApp User’s Guide You can find the most up-to-date technical documentation on the VMware Web site at: http://www.vmware.com/support/ The VMware Web site also provides the latest product updates. If you have comments about this documentation, submit your feedback to: docfeedback@vmware.com Copyright © 2010 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.
Contents About This Book 9 1 Installing ThinApp 11 ThinApp Requirements 11 Operating Systems, Applications, and Systems That ThinApp Supports 11 Applications That ThinApp Cannot Virtualize 12 Recommendations for Installing ThinApp 12 Using a Clean Computer 12 Using the Earliest Operating System Required for Users 13 Install ThinApp Software 13 Checking ThinApp Installation Files 13 2 Capturing Applications 15 Phases of the Capture Process 15 Preparing to Capture Applications 15 Capturing Applications wi
ThinApp User’s Guide 3 Deploying Applications 39 ThinApp Deployment Options 39 Deploying ThinApp with Deployment Tools 39 Deploying ThinApp in the VMware View Environment 39 Deploying ThinApp on Network Shares 40 Deploying ThinApp Using Executable Files 40 Establishing File Type Associations with the thinreg.exe Utility 40 Application Sync Effect on the thinreg.exe Utility 40 Run the thinreg.exe Utility 41 Optional thinreg.exe Parameters 41 Building an MSI Database 43 Customizing MSI Files with Package.
Contents 5 Configuring Package Parameters 65 Package.ini File Structure 66 Parameters That Apply to Package.ini or ##Attributes.
ThinApp User’s Guide Configuring Logging 85 DisableTracing 85 LogPath 86 Configuring Versions 86 CapturedUsingVersion 86 StripVersionInfo 86 Version.
Contents 6 Locating the ThinApp Sandbox 103 Search Order for the Sandbox 103 Controlling the Sandbox Location 105 Store the Sandbox on the Network 105 Store the Sandbox on a Portable Device 105 Sandbox Structure 106 Making Changes to the Sandbox 106 Listing Virtual Registry Contents with vregtool 106 7 Creating ThinApp Snapshots and Projects from the Command Line 107 Methods of Using the snapshot.exe Utility 107 Creating Snapshots of Machine States 107 Creating the Template Package.
ThinApp User’s Guide 10 Monitoring and Troubleshooting ThinApp 127 Providing Information to Technical Support 127 Log Monitor Operations 127 Troubleshoot Activity with Log Monitor 128 Perform Advanced Log Monitor Operations 128 Log Format 130 Troubleshooting Specific Applications 134 Troubleshoot Registry Setup for Microsoft Outlook 134 Viewing Attachments in Microsoft Outlook 134 Starting Explorer.
About This Book The ThinApp User’s Guide provides information about how to install ThinApp™, capture applications, deploy applications, and upgrade applications. You can refer to this guide to customize parameters and perform scripting. Intended Audience This book is intended for anyone who installs ThinApp and deploys captured applications. Typical users are system administrators responsible for the distribution and maintenance of corporate software packages.
ThinApp User’s Guide VMware Professional Services VMware Education Services courses offer extensive hands‐on labs, case study examples, and course materials designed to be used as on‐the‐job reference tools. Courses are available onsite, in the classroom, and live online. For onsite pilot programs and implementation best practices, VMware Consulting Services provides offerings to help you assess, plan, build, and manage your virtual environment.
1 Installing ThinApp 1 You can install ThinApp to isolate applications, simplify application customization, deploy applications to different operating systems, and eliminate application conflict.
ThinApp User’s Guide Applications That ThinApp Cannot Virtualize ThinApp cannot convert some applications into virtual applications and might block certain application functions. You must use traditional installation technologies to deploy some application types. Applications that do not natively support the deployment operating system.
Chapter 1 Installing ThinApp Application installers skip files that already exist on the computer. If the installer skips files, the ThinApp package does not include them during the application capture process. The application might fail to run on other computers where the files do not exist. A clean computer enables the capture process to scan the computer file system and registry quickly. If you install ThinApp and capture an application on a computer that has Microsoft .NET 2.0 already installed, .
ThinApp User’s Guide sbmerge.exe – Merges runtime changes recorded in the application sandbox with the ThinApp project and updates the captured application. Setup Capture.exe – Captures and configures applications through a wizard. snapshot.exe – Compares the preinstallation environment and postinstallation environment during the application capture process. ThinApp starts this utility during the setup capture process. snapshot.
2 2 Capturing Applications You can capture applications to package an application into a virtual environment. The Setup Capture wizard is the main method to capture applications and set initial application parameters. Advanced users who must capture applications from the command line can use the snapshot.exe utility instead of the Setup Capture wizard.
ThinApp User’s Guide Capturing Applications with the Setup Capture Wizard The capture process packages an application and sets initial application parameters. If you use a virtual machine, consider taking a snapshot before you run the wizard. A snapshot of the original clean state enables you to revert to the snapshot when you want to capture another application. This information uses Mozilla Firefox as a key example for application capture.
Chapter 2 Capturing Applications 4 (Optional) Start the application and respond to any messages for information before you continue with the Setup Capture wizard. If you do not respond to any messages at this time, each user who uses the application must do so during the initial start. 5 Close the application. 6 Maximize the Setup Capture wizard, click Postscan to proceed with another scan of the computer, and click OK to confirm the postscan operation.
ThinApp User’s Guide Set User Groups ThinApp can use Active Directory groups to authorize access to the virtual application. You can restrict access to an application to ensure that users do not pass it to unauthorized users. Active Directory Domain Services define security groups and distribution groups. ThinApp can only support nested security groups. Set user groups in the Setup Capture wizard 1 2 On the Groups page, limit the user access to the application.
Chapter 2 Capturing Applications When you select Merged isolation, ThinApp completes the following operations: Sets the DirectoryIsolationMode parameter in the Package.ini file to Merged. Sets up exceptions that apply WriteCopy isolation to the following directories and their subdirectories: %AppData% %Common AppData% %Local AppData% %Program Files Common% %ProgramFilesDir% %SystemRoot% %SystemSystem% ThinApp retains Merged isolation mode for the %SystemSytem%\spool subdir
ThinApp User’s Guide Set File System Isolation Modes The capture process sets the level of read and write access to the physical file system to determine which directories are visible and writable by the virtual application. For information about Full isolation and registry isolation that are available only outside of the Setup Capture wizard, see “DirectoryIsolationMode” on page 68 and “RegistryIsolationMode” on page 69.
Chapter 2 Capturing Applications Customize ThinApp Project Settings A project is the data that the capture process creates. You cannot run or deploy the captured application until you build a package from the project files. Setting up the project involves determining the inventory name and the project location. The inventory name facilitates internal tracking of the application and determines the default project directory name.
ThinApp User’s Guide Customize Package Settings The capture process includes initial settings for the primary data container, MSI packages, and executable package compression. Customize package settings in the Setup Capture wizard 1 2 On the Package Settings page, select the primary data container from the list that is based on your executable file entry points. If the size of the primary container is smaller than 200MB, ThinApp creates a .exe file as the primary container.
Chapter 2 Capturing Applications Build Virtual Applications You can adjust project files and build the application for deployment. Build virtual applications in the Setup Capture wizard 1 2 (Optional) On the Ready to Build page, scan or change the project files. Option Description Edit Package.ini Modify application parameters for the entire package. Open project folder Browse ThinApp project files in Windows Explorer.
ThinApp User’s Guide Modify the Package.ini File Use a text editor to modify the Package.ini file. Modify the Package.ini file 1 Open the Package.ini file located in the captured application folder. For example, a Firefox 2.0.0.3 path might be C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox 2.0.0.3\Package.ini. 2 Activate the parameter to edit by removing the semicolon at the beginning of the line. For example, activate the RemoveSandboxOnExit parameter for Firefox.
Chapter 2 Capturing Applications Requirements for Packaging Microsoft Office 2007 The process of capturing Microsoft Office 2007 assumes several requirements beyond the standard requirements for creating ThinApp packages. The following requirements involve Microsoft software or printer dependencies: A clean virtual machine with a supported Windows operating system. A licensed copy of Microsoft Office 2007. A Microsoft Office 2007 volume license key.
ThinApp User’s Guide 9 Start the Microsoft Office 2007 setup wizard. The installation setup involves typing the Microsoft Office 2007 license key and accepting the license agreement. 10 (Optional) On the File Location tab, install the software in a fixed directory, such as C:\Office, rather than a default directory to prevent possible access errors for online help in Microsoft Office applications. The access errors apply only to Office applications deployed on 64‐bit operating systems.
Chapter 2 Capturing Applications The isolation mode is Merged mode. WriteCopy isolation mode is appropriate when you do not want to leave traces of files outside of the sandbox. The deployment of Microsoft Office 2007 uses an MSI package. Set capture options for Microsoft Office 2007 Maximize the Setup Capture wizard and complete the capture process.
ThinApp User’s Guide Capturing Internet Explorer 6 on Windows XP After you use the Setup Capture wizard to capture Internet Explorer 6 running on Windows XP, on a test machine you can use the ThinApp ThinDirect plug‐in to redirect Web sites or specific pages to automatically open in a virtual Internet Explorer 6 browser. You can view Web pages that are incompatible in the native version of Internet Explorer in the virtual Internet Explorer 6.
Chapter 2 Capturing Applications 9 (Optional) When you have saved the package, open the ThinDirect.txt file, which contains the entry point to Internet Explorer 6 and the list of redirect addresses, and edit the file. This file only exists after you create entries in the Native Browser Redirect dialog box. The redirection list is located in %appdata%\roaming\Vmware\VMware Thinapp\Thindirect. 10 Follow the prompts to build the project. The ThinDirect.
ThinApp User’s Guide After the snapshot is taken, ThinApp Converter pushes a silent capture agent to virtual machines. The silent capture agent runs transparently on the virtual machines, capturing the application installation process in a similar way to that of the Setup Capture wizard when a single application is being captured.
Chapter 2 Capturing Applications [Settings] contains parameters that provide global control of the capture process. [AppSettings:AppName] contains optional application‐specific parameters. HostEnvironment The HostEnvironment section of the configuration file contains the connection parameters for connecting to VMware ESX Server, VMware vCenter Server, or VMware Workstation on a local machine. [HostEnvironment] parameters are mandatory.
ThinApp User’s Guide HostLoginPasswordPrompt Specifies that the user be prompted to enter a password. If you do not want to store the vSphere Server password in the configuration file, specify the value as true. When set to true, a prompt always appears, even if a HostLoginPassword is specified in the configuration file. Example The following example shows a typical host environment specification. The virtual machine name is specified as the ESX server hostname.
Chapter 2 Capturing Applications If the Password setting is not used, the password for the guest is assumed to be blank. Most Windows virtual machines do not support automation with empty passwords, so you should specify a guest password. PasswordPrompt Specifies that the user be prompted to enter a password. If you do not want to store the virtual machine password in the configuration file, specify the value as true.
ThinApp User’s Guide InputMountPasswordPrompt Specifies that the user be prompted to enter a password. If you do not want to store the network share password in the configuration file, specify the value as true. When set to true, a prompt always appears, even if a password is specified in the configuration file. OutputUncPath Specify the network share UNC path to the location of the generated ThinApp projects. For example: \\fileserver\sharename, or \\fileserver\sharename\dirname OutputMountUserName Specif
Chapter 2 Capturing Applications 5 If ThinApp Converter finds a single .mst file, it runs that file and adds the necessary silent installation switches. 6 If ThinApp Converter finds a single .msi file, it runs that file and adds the necessary silent installation switches. If none of the steps enable ThinApp Converter to find a correct installation command, the subdirectory is skipped. A warning is logged in the log file.
ThinApp User’s Guide BuildAfterCapture Specify whether the ThinApp Converter should build the ThinApp Projects into packages following capture. The default value is true. DetectIdle Specify whether ThinApp Converter should try to detect if an application installer is stalled, for example when the application is waiting for user input on the guest virtual machine because incorrect silent installation switches were specified. The default value is true.
Chapter 2 Capturing Applications Predefined Environment Variables The values for PackageIniOverrideFile (global and per application), ProjectPostProcessingCommand (global and per application), and InstallationCommand can contain environment variables. ThinApp Converter expands the value before using it.
ThinApp User’s Guide 38 VMware, Inc.
3 Deploying Applications 3 Deploying captured applications involves working with deployment tools, the thinreg.exe utility, MSI files, and Active Directory. This information includes the following topics: “ThinApp Deployment Options” on page 39 “Establishing File Type Associations with the thinreg.
ThinApp User’s Guide Creating a login script that queries applications entitled to the user and runs the thinreg.exe utility with the option that registers the applications on the local machine. Login scripts are useful for nonpersistent desktops. See “Establishing File Type Associations with the thinreg.exe Utility” on page 40. Controlling user access to fileshares.
Chapter 3 Deploying Applications Run the thinreg.exe Utility This example of running the thinreg.exe utility provides some sample commands. The package name in the thinreg.exe commands can appear in the following ways: C:\ Relative path to .exe file \\\\ As a variation, you can use a wildcard specification, such as *.exe. If the path or filename contains spaces, enclose the path in double quotation marks.
ThinApp User’s Guide Table 3-1. Optional thinreg.exe Parameters Parameter /a, /allusers Purpose Sample Usage Registers a package for all users. thinreg.exe /a "\\\\Microsoft Office 2007 Word.exe" If an unauthorized user attempts to run the application, a message informs the user that he or she cannot run the application. /q, /quiet Prevents the display of an error message for an unrecognized command‐line parameter. /u, /unregister, /uninstall Unregisters a package.
Chapter 3 Deploying Applications Building an MSI Database If you do not create MSI files during the capture process, you can still create these files after building an application. An MSI database is useful for delivering captured applications through traditional desktop management systems to remote locations and automatically creating shortcuts and file type associations. Basic Active Directory group policies provide ways to distribute and start MSI packages.
ThinApp User’s Guide Modify the MSI parameters 1 In the Package.ini file, type the MSI filename. MSIFilename=.msi For example, the filename for Firefox might be Mozilla Firefox 2.0.0.3.msi. 2 (Optional) Update other MSI parameters. 3 Double‐click the build.bat file in the captured application folder to rebuild the application package. Specifying a Database Installation for Individual Users and Machines You can modify the installation of the MSI database for users and machines.
Chapter 3 Deploying Applications Deploying MSI Files on Microsoft Vista When you deploy MSI files on Vista, you must indicate whether an installer needs elevated privileges. Typical individual user installations do not require elevated privileges but individual machine installations require such privileges. ThinApp provides the MSIRequireElevatedPrivileges parameter in the Package.ini file that specifies the need for elevated privileges when the value is set to 1.
ThinApp User’s Guide In the following entry, only users belonging to the App1users group can use the App1.exe file, and members of the Everyone group can use the App2.exe file. The default message for denied users changes for App1. [BuildOptions] PermittedGroups=Everyone [App1.exe] PermittedGroups=App1Users AccessDeniedMsg=Sorry, you can’t run this application .. [App2.exe] ... ...
Chapter 3 Deploying Applications 3 From the Start menu, select Programs > Administrative Tools > Services. Your virtual service application appears in the list of services. You can manage the service in the same way as any natively installed service. Using ThinApp Packages Streamed from the Network Any network storage device can serve as a streaming server for hundreds or thousands of client computers. See Figure 3‐1. Figure 3-1.
ThinApp User’s Guide Figure 3-2. Application Streaming packaged executable VMware ThinApp VOS local PC 128KB read request virtual registry compressed file 64KB (Block 1) 64KB (Block 2) decompressed (Block 1) Ethernet decompressed (Block 2) 64KB (Block 3) 64KB (Block 4) 64KB (Block 5) Requirements and Recommendations for Streaming Packages ThinApp does not require specific server software to provide streaming capability. Any Windows file share, NAS device, or SMB share can provide this capability.
Chapter 3 Deploying Applications Stream ThinApp Packages from the Network Users can access packaged applications through the network. Stream packages from the network 1 Place the ThinApp package in a location accessible to client computers. 2 Send a link to users to run the application directly. Using Captured Applications with Other System Components Captured applications can interact with other components installed on the desktop.
ThinApp User’s Guide Table 3-2. Default Configuration Options (Continued) Component Description Network mapped drives By default, any user who has access rights can read or write to any location on a network mapped disk. UNC network paths By default, any user who has access rights can read or write to any location on a UNC network path. Accessing the System Registry By default, captured applications can read the full system registry as permitted by access permissions.
Chapter 3 Deploying Applications Sample Isolation Mode Configuration Depending on Deployment Context Isolation modes control the read and write access for specific system directories and system registry subkeys. You can adjust isolation modes to resolve the problems in Table 3‐3. Table 3-3. Sample Problems and Solutions That Use Isolation Modes Problem Solution An application fails to run because previous or future versions exist simultaneously or fail to uninstall properly.
ThinApp User’s Guide Figure 3‐4 shows the registry from the perspective of the captured Microsoft Visio 2007. Figure 3-4. Windows Registry as Seen by the Captured Microsoft Visio 2007 Office 12.0 Access Connectivity Common Registration User Settings Visio 10.0 11.0 8.0 9.0 Common Delivery Live Meeting Outlook PowerPoint Visio 52 VMware, Inc.
4 Updating and Linking Applications 4 You can update virtual applications with different utilities depending on the extent of change and dependencies on other applications.
ThinApp User’s Guide Update Firefox 2.0.0.3 to Firefox 3 with Application Sync This example shows the Application Sync update process for Firefox. The update process involves modifying the Package.ini file. The AppSyncURL parameter requires a URL path. ThinApp supports HTTP, HTTPS, and file protocols. For information about all Application Sync parameters, see “Configuring Application Updates with Application Sync” on page 93. Update Firefox 2.0.0.3 to Firefox 3 1 Capture Firefox 2.0.0.
Chapter 4 Updating and Linking Applications Application Sync Effect on Entry Point Executable Files The Application Sync utility updates entry point executable files. For example, assume you deploy a Microsoft Office 2007 package that does not include Microsoft PowerPoint. The Microsoft Office PowerPoint 2007.exe entry point does not exist for the original package.
ThinApp User’s Guide Prevent the startup of the ctfmon.exe process 1 If you did not activate the cmd.exe entry point during the capture process, set the Disabled parameter for the cmd.exe entry in the Package.ini file to 0 and rebuild the package with the build.bat utility. This generates an executable file for the cmd.exe entry point in the /bin directory. 2 Copy the /bin directory in the captured application directory to a clean virtual machine or delete the sandbox for the Microsoft Office package.
Chapter 4 Updating and Linking Applications If you capture Microsoft Office and try to access a PDF attachment in the virtual Microsoft Outlook environment, you can set up Microsoft Office to detect a linked Adobe Reader package on the network when Adobe Reader is not available within the immediate virtual or physical environment. Hot fixes and service packs – Link updates to an application and roll back to a previous version if users experience significant issues with the new version.
ThinApp User’s Guide Link an application to Microsoft .NET 1 Capture the installation of the .NET 2.0 Framework. During the capture process, you must select at least one user‐accessible entry point. 2 Rename the.exe file that ThinApp produces to a .dat file. This renaming prevents users from accidentally running the application. The name of the .dat file you select does not matter because users do not run the file directly. For example, use dotnet.dat. 3 Save the .NET project to C:\Captures\dotnet.
Chapter 4 Updating and Linking Applications 3 Capture Application B. 4 In the Package.ini file for Application B, specify Application C as a required or optional application link. For example, add RequiredLinks=\AppFolder\AppC\AppC.exe to the file. 5 Capture Application C. If you start Application A, it can access the files and registry keys of Application B and Application B can access the files and registry keys of Application C.
ThinApp User’s Guide File and Registry Collisions in Linked Packages If the base application and a dependent package linked to the base application contain file or registry entries at the same location, a collision occurs. When this happens, the order of import operations determines which package has priority. The last package imported has priority in such cases and the file or registry contents from that package are visible to the running applications.
Chapter 4 Updating and Linking Applications Forcing an Application Sync Update on Client Machines You can use the AppSync command to force an Application Sync update on a client machine. You might want to update a package stored in a location where standard users do not have write access. In this situation, you cannot use Application Sync parameters to check for updates when an application starts because users do not have the required rights to update the package. You can schedule a daily AppSync.
ThinApp User’s Guide sbmerge.exe Commands The sbmerge.exe Print command displays sandbox changes and does not make modifications to the sandbox or original project. The sbmerge.exe Apply command merges changes from the sandbox with the original project. This command updates the project registry and file system to reflect changes and deletes the sandbox directory. Usage "C:\Program Files\VMware\VMware ThinApp\sbmerge" Print [] "C:\Program Files\VMware\VMware ThinApp\sbmerge" Apply [
Chapter 4 Updating and Linking Applications Dynamic Updates Without Administrator Rights You can update applications dynamically without requiring administrator rights. For example, .NET‐based applications that download new DLL files from the Internet as part of their update process must run the ngen.exe file to generate native image assemblies for startup performance. In typical circumstances, the ngen.exe file writes to HKLM and C:\WINDOWS, both of which are only accessible with administrator accounts.
ThinApp User’s Guide 3 Create a desktop or Start menu shortcut to the user’s desktop that points to a shared executable file location at \\\\Firefox.exe. Assume two users start Firefox.exe and lock the application. 4 Copy the updated version of Firefox.exe to the central share at \\\\Firefox.1. If you are a new user, ThinApp starts the application with the new package data in Firefox.1.
5 Configuring Package Parameters 5 Advanced users can customize the parameters of the virtual application outside of the capture process. Parameters can affect the configuration of build options that include MSI, update, and entry point settings. The Package.ini file is located in the project folder and contains parameters that configure a captured application during the build process. The Setup Capture wizard sets the initial values of some Package.ini parameters. You can save the Package.
ThinApp User’s Guide Package.ini File Structure The structure of the Package.ini file includes sections that apply to all applications or individual applications. Most parameters must appear under a specific section heading. The Package.ini file contains the following headings: [BuildOptions] [.exe] [FileList] [Compression] [Isolation] The [BuildOptions] section of the Package.ini file applies to all applications.
Chapter 5 Configuring Package Parameters Examples If your application is small or you know that Symantec AntiVirus is not installed on the desktops to which you are deploying the application, you can modify the NetRelaunch parameter for stronger initial startup performance. [BuildOptions] NetRelaunch=0 RuntimeEULA The RuntimeEULA parameter controls the End‐User License Agreement display for the package. This parameter addresses legacy End‐User License Agreement requirements.
ThinApp User’s Guide Wow64 The Wow64 parameter simulates a 32‐bit environment for 32‐bit applications that cannot run on a 64‐bit Windows operating system. If a 32‐bit application tries to handle its own 64‐bit registry redirection, you can activate this parameter before building a project. ThinApp comments out the initial setting to prevent Windows on Windows 64‐bit (WOW64) emulation.
Chapter 5 Configuring Package Parameters With Full isolation mode, ThinApp blocks visibility to system elements outside the virtual application package. This mode restricts any changes to files or registry keys to the sandbox and ensures that no interaction exists with the environment outside the virtual application package. Full isolation prevents application conflict between the virtual application and applications installed on the physical system. Do not use the Full isolation mode in the Package.
ThinApp User’s Guide You can ensure that the application can write to any key on the computer, except where the package specifies otherwise. [Isolation] RegistryIsolationMode=Merged Configuring File and Protocol Associations You can modify ThinApp parameters to associate file extensions with applications and to specify protocols that are visible to the physical environment. FileTypes The FileTypes parameter lists file extensions that the thinreg.exe utility associates with an executable file.
Chapter 5 Configuring Package Parameters You can use a comma to separate patterns in the list. Wildcards (*) match none of the characters or at least one of the characters and question marks (?) match exactly one character. The syntax is similar to the DOS dir command, but you can apply wildcard characters to directory names and filenames. You can specify the ExcludePattern parameter in the Package.ini file, where the pattern exclusion applies to the entire directory structure, and the ##Attributes.
ThinApp User’s Guide RetainAllIcons The RetainAllIcons parameter keeps all of the original icons of the executable file listed in the Source parameter in the application. The icons that are not assigned to application executable files reside in the virtual file system of the package. The RetainAllIcons parameter determines whether to copy the unused icons from the virtual file system to the executable file.
Chapter 5 Configuring Package Parameters PermittedGroups The PermittedGroups parameter restricts a package to a specific set of Active Directory users. You can specify group names, SID strings, or a mix of group names and SID strings in the same line of the PermittedGroups parameter. If you use a domain‐based group name, you must connect to that domain when you build the application package. If you add a SID in the parameter value, you are not required to connect to the domain where the SID is defined.
ThinApp User’s Guide highestAvailable This value uses the highest available privilege that can avoid the UAC prompt. If you do not specify privileges, ThinApp does not assign a default value but operates according to the asInvoker setting. Examples You can modify the UACRequestedPrivilegesLevel parameter to specify administrator privileges for a program.
Chapter 5 Configuring Package Parameters ExternalDLLs The ExternalDLLs parameter can force Windows to load specific DLL files from the virtual file system. ThinApp sets an initial value that loads DLL files from the virtual file system and passes the loading process to Windows for DLL files on the physical file system. In some circumstances, Windows must load a DLL file in the virtual file system. You might have a DLL file that inserts itself into other processes using Windows hooks.
ThinApp User’s Guide The IsolatedMemoryObjects parameter does not appear in the Package.ini file but you can add the parameter. ThinApp sets an initial value that isolates the memory objects that a native version of Internet Explorer uses in the virtual environment. The value addresses a conflict between the explorer.exe and iexplore.exe utilities when the utilities map sandbox files.
Chapter 5 Configuring Package Parameters NotificationDLLs The NotificationDLLs parameter makes calls to third‐party DLL files to provide notification of events, such as application startup or shutdown. The DLLs can reside on the physical file system or the virtual package. If ThinApp cannot load a DLL file, the package generates errors. This parameter does not appear in the Package.ini file. ThinApp SDK users can add this parameter to the file.
ThinApp User’s Guide Examples You can modify the SandboxCOMObjects parameter to make visible the COM objects that the virtual application registers outside the sandbox. For example, if you install native Microsoft Office 2003 and virtual Microsoft Office 2007, and you run a custom mail merge program in the native environment that starts Microsoft Word and instructs it to open, change, and save a document, you can generate Microsoft Word 2007 documents when virtual Microsoft Word is running.
Chapter 5 Configuring Package Parameters Examples You can modify the CachePath parameter to use an absolute path. CachePath=C:\VirtCache You can set a relative path that ThinApp detects as the path relative to the directory where the application executable file resides. If the package resides in C:\VirtApps and the CachePath parameter has a value of Cache, the cache directory is C:\VirtApps\Cache.
ThinApp User’s Guide The VirtualDrives parameter includes the following information: Drive – Single character between A and Z. Serial – 8 digit hex number. Type – FIXED, REMOVABLE, CD‐ROM, or RAMDISK. FIXED – Indicates fixed media. For example, a hard drive or internal Flash drive. REMOVABLE – Indicates removable media. For example, a disk drive, thumb drive, or flash card reader. CD‐ROM – Indicates a CD‐ROM drive. RAMDISK—Indicates a RAM disk.
Chapter 5 Configuring Package Parameters Examples The VirtualDrives parameter is a single string that can hold information about multiple drive letters, and optional parameters for those drive letters. The parameter uses semicolons to separate information assigned to different drive letters and commas to separate parameters for individual drive letters. ThinApp assigns a serial number and the FIXED type to the drive.
ThinApp User’s Guide AllowUnsupportedExternalChildProcesses The AllowUnsupportedExternalChildProcesses parameter specifies whether to run 64‐bit child processes in the physical environment. ThinApp runs 64‐bit applications in the physical environment because ThinApp does not support 64‐bit processes and cannot virtualize a 64‐bit application. ThinApp sets an initial value of the AllowUnsupportedExternalChildProcesses parameter that runs 64‐bit applications in the physical environment.
Chapter 5 Configuring Package Parameters Examples If you do not want the child process to operate in or slow down the virtual environment, you can modify the ChildProcessEnvironmentDefault parameter to create child processes in the physical environment. [BuildOptions] ChildProcessEnvironmentDefault=External ChildProcessEnvironmentExceptions The ChildProcessEnvironmentExceptions parameter notes exceptions to the ChildProcessEnvironmentDefault parameter when you want to specify child processes.
ThinApp User’s Guide Table 5‐1 lists sample compression ratios and startup times for a Microsoft Office 2003 package that runs from a local hard drive. Table 5-1. Sample Compression Ratios and Startup Times Compression Type None Fast Size 448,616KB 257,373KB Compression ratio 100% 57% Startup time (first run) 6 seconds 6 seconds Startup time (second run) 0.1 seconds 1 seconds Build time (first build) 3 minutes 19 minutes Build time (second build) 2 minutes 1.
Chapter 5 Configuring Package Parameters Examples If you are working with large builds and performance is not a priority, you can modify the MSICompressionType parameter to prevent MSI file compression. [Compression] MSICompressionType=none OptimizeFor The OptimizeFor parameter controls whether to compress executable files or to reduce memory consumption and page file usage on the hard drive to improve startup performance.
ThinApp User’s Guide Examples You can set the DisableTracing parameter to prevent the generation of .trace files in Log Monitor. [BuildOptions] DisableTracing=1 LogPath The LogPath parameter sets the location to store .trace files during logging activity. The default location is the same directory that stores the application executable file. You might change the default location to find a directory with more space or to redirect the logs from a USB device to the client computer.
Chapter 5 Configuring Package Parameters Version.XXXX The Version.XXXX parameter overrides application version strings or adds new version strings in the Version tab of Windows properties. The capture process does not generate this parameter. You can add this parameter to the Package.ini file. Examples You can set a new product name with the Version.XXXX parameter. You might want ThinApp Office rather than Office as the product name. Use the Version.= format. [.
ThinApp User’s Guide Configuring Individual Applications You can modify ThinApp parameters to configure specific applications. Parameters specific to entry points fall under the [.exe] sections of the Package.ini file. For example, the entries under [Adobe Reader 8.exe] for an Adobe Reader application might affect command‐line arguments and application shortcuts. CommandLine The CommandLine parameter specifies the command‐line arguments that start a shortcut executable file.
Chapter 5 Configuring Package Parameters When the primary data container is less than 200MB, ThinApp stores the container within an entry point executable file. When the primary data container is more than 200MB, ThinApp stores the container as a .dat file that cannot serve as an entry point for the application. Examples ThinApp sets the required value of the ReadOnlyData parameter that specifies Package.ro.tvr as the name of the virtual registry file. ReadOnlyData=bin\Package.ro.
ThinApp User’s Guide Shortcuts The Shortcuts parameter lists the locations where the thinreg.exe utility creates a shortcut to a virtual application. The capture process determines Shortcuts entries based on the shortcuts the application installer implements. MSI files use the Shortcuts parameter to determine the shortcuts to create. Examples You can modify the Shortcuts parameter to create a shortcut in the Microsoft Office folder of the Start menu to the Microsoft Word 2003 application.
Chapter 5 Configuring Package Parameters Examples If you have an application on a USB drive, you can modify the WorkingDirectory value from the default USB location to the My Documents directory on the desktop. [.exe] WorkingDirectory=%Personal% The location of the My Documents directory depends on the isolation mode setting. To map the working directory to the My Documents directory on the physical system, use the Merged isolation mode setting.
ThinApp User’s Guide RequiredAppLinks The RequiredAppLinks parameter specifies a list of required packages to import to the base package at runtime. You can configure this parameter in the Package.ini file of the base package. If the import operation for any dependent package fails, an error message appears and the base executable file exits. You can use the OptionalAppLinks parameter instead to continue even when load errors occur.
Chapter 5 Configuring Package Parameters You can expand the PLUGINS environment variable and import all executable files at this location. RequiredAppLinks=%PLUGINS%\*.exe You can load two specified plug‐in files and a list of executable files located under the plug‐in location. RequiredAppLinks=plugin1.exe;plugin2.exe;plugins\*.
ThinApp User’s Guide AppSyncExpireMessage The AppSyncExpireMessage parameter sets the message that appears when the connection to the Web server fails after the expiration period ends and a virtual application starts. The application quits when the message appears. Examples ThinApp provides a default message for the AppSyncExpireMessage parameter. AppSyncExpireMessage=This application has been unable to contact its update server for days, so it is unavailable for use.
Chapter 5 Configuring Package Parameters AppSyncUpdatedMessage The AppSyncUpdatedMessage parameter sets the message that appears when an updated package first starts. Examples You can use the AppSyncUpdatedMessage parameter to confirm that the application is updated. AppSyncUpdatedMessage=Your application has been updated. AppSyncWarningFrequency The AppSyncWarningFrequency parameter specifies how often a warning appears before the package expires. You can specify minutes (m), hours (h), or days (d).
ThinApp User’s Guide Configuring MSI Files You can modify ThinApp parameters to configure MSI files for deployment through desktop management systems. For information about working with MSI files, see “Building an MSI Database” on page 43. Information about compression of MSI files appears with other parameters that control file sizes. See “MSICompressionType” on page 84.
Chapter 5 Configuring Package Parameters MSIFilename The MSIFilename parameter triggers the generation of an MSI database and specifies its filename. Other MSI parameters can work only when you uncomment the MSIFilename parameter. This parameter produces a Windows Installer with the specified filename in the output directory. You can create an MSI file when you want to deliver packages to remote locations through desktop management systems.
ThinApp User’s Guide Examples You can modify the MSIManufacturer parameter to display the name of a specific department. For example, users can see a department name in the Windows Add or Remove Programs dialog box and contact the help desk for that department. [BuildOptions] MSIFilename=.msi MSIManufacturer= MSIProductCode The MSIProductCode parameter specifies a product code for the MSI database. Windows Installer uses the code to identify MSI packages.
Chapter 5 Configuring Package Parameters MSIRequireElevatedPrivileges The MSIRequireElevatedPrivileges parameter applies to Windows Vista and specifies elevated privilege requirements for the MSI database. Most users who log in to Windows Vista have restricted privileges. To install MSI packages for all users who must have shortcuts and file type associations, the users must have elevated privileges.
ThinApp User’s Guide Configuring Sandbox Storage and Inventory Names You can modify ThinApp parameters to configure the sandbox where all changes that the captured application makes are stored. The ThinApp inventory name might affect the need to change the sandbox name. For more information about the sandbox placement and structure, see Chapter 6, “Locating the ThinApp Sandbox,” on page 103.
Chapter 5 Configuring Package Parameters Examples You can modify the RemoveSandboxOnExit parameter to delete the sandbox when the application exits. When multiple users share an application under one user name, you can delete the sandbox to eliminate the previous user’s registry and file system changes. [BuildOptions] RemoveSandboxOnExit=1 SandboxName The SandboxName parameter specifies the name of the directory that stores the sandbox.
ThinApp User’s Guide Examples You can modify the SandboxPath parameter to create the sandbox in the same directory as the executable file. If Mozilla Firefox 3.0 is the value of the SandboxName parameter, you can create the Mozilla Firefox 3.0 sandbox in the same directory that Firefox runs from. [BuildOptions] SandboxPath=. You can create the sandbox in a subdirectory subordinate to the executable file location. [BuildOptions] SandboxPath=LocalSandbox\Subdir1 You can create the sandbox in the %AppData%
6 Locating the ThinApp Sandbox 6 The sandbox is the directory where all changes that the captured application makes are stored. The next time you start the application, those changes are incorporated from the sandbox. When you delete the sandbox directory, the application reverts to its captured state.
ThinApp User’s Guide ThinApp starts the sandbox search by trying to find the following environment variables in this order: %_SANDBOX_DIR% This environment variable changes the sandbox location for specific applications on the computer. For example, if the Mozilla Firefox 3.0_SANDBOX_DIR environment variable exists, its value determines the parent directory sandbox location. If the value is z:\FirefoxSandbox before you run the application, ThinApp stores the sandbox in z:\FirefoxSandbox.
Chapter 6 Locating the ThinApp Sandbox Controlling the Sandbox Location The setup capture process adds the SandboxName parameter to the Package.ini file. If you capture Firefox and Mozilla Firefox 3.0 is the value of this parameter, the default location of the sandbox for the application is %AppData%\Thinstall\Mozilla Firefox 3.0. The typical %AppData% location is C:\Documents and Settings\\Application Data. %AppData% is often mapped to a shared network drive.
ThinApp User’s Guide Sandbox Structure ThinApp stores the sandbox using a file structure almost identical to the build project structure. ThinApp uses macro names for shell folder locations, such as %AppData%, instead of hard coded paths. This structure enables the sandbox to migrate to different computers dynamically when the application runs from new locations. The sandbox contains the following registry files: Registry.rw.tvr – Contains all registry modifications that the application makes.
7 Creating ThinApp Snapshots and Projects from the Command Line 7 The snapshot.exe utility creates a snapshot of a computer file system and registry and creates a ThinApp project from two previously captured snapshots. You do not have to start the snapshot.exe utility directly because the Setup Capture wizard starts it. Only advanced users and system integrators who are building ThinApp capability into other platforms might make direct use of this utility.
ThinApp User’s Guide Examples Snapshot My.snapshot Snapshot My.snapshot –Config MyExclusions.ini Snapshot My.snapshot C:\MyAppDirectory HKEY_LOCAL_MACHINE\Software\MyApp Options The options specify the directories or subkeys in the snapshot. Table 7-1. Snapshot Directories and Subkeys Option Description -Config ConfigFile.ini Specifies directories or registry subkeys to exclude during snapshot creation. If you do not specify a configuration file, ThinApp uses the snapshot.
Chapter 7 Creating ThinApp Snapshots and Projects from the Command Line Displaying the Contents of a Snapshot File The snapshot.exe utility lists the contents of the snapshot file. Usage snapshot.exe SnapshotFileName.snapshot -Print Examples Snapshot Start.snapshot –Print ThinApp requires all of the parameters. Sample snapshot.exe Commands Table 7‐2 describes sample commands for the snapshot.exe utility. The parameters are not case‐sensitive.
ThinApp User’s Guide 3 Save to disk a snapshot of the new machine configuration. snapshot.exe C:\End.snapshot 4 Generate a template Package.ini file. snapshot.exe C:\Start.snapshot –SuggestProject C:\End.snapshot C:\Template.ini ThinApp uses the template file to generate the final Package.ini file. The template file contains a list of all detected executable file entry points and Package.ini parameters. If you write your own script to replace the Setup Capture wizard, use the template Package.
8 ThinApp File System Formats and Macros 8 ThinApp stores the differences between snapshots during the setup capture process in a virtual file system and virtual registry. The virtual file system uses folder macros to represent Windows shell folder locations.
ThinApp User’s Guide For example, you might capture an application on a system that has C:\WINNT as the Windows directory and deploy the application on a system that has C:\Windows as the Windows directory. ThinApp transparently converts C:\WINNT to %SystemRoot% during the capture process for that system and expands %SystemRoot% to C:\Windows during runtime for that system. If an application registers DLLs to C:\winnt\system32 while running on Windows 2000, the user can quit the application and log in to a
Chapter 8 ThinApp File System Formats and Macros Table 8-1. Folder Macros (Continued) Macro Name Typical Location %Internet Cache% C:\Documents and Settings\\Local Settings\Temporary Internet Files %Local AppData% C:\Documents and Settings\\Local Settings\Application Data %My Pictures% C:\Documents and Settings\\My Documents\My Pictures %My Videos% C:\Documents and Settings\\My Documents\My Videos %NetHood% C:\Documents and Settings\\NetHood
ThinApp User’s Guide 114 VMware, Inc.
9 Creating ThinApp Scripts 9 Scripts modify the behavior of virtual applications dynamically. You can create custom code before starting an application packaged with ThinApp or after an application exits. You can use scripts to authenticate users and load configuration files from a physical to virtual environment. Callback functions run code during specific events. If applications create child processes, use callback functions to run code only in the main parent process.
ThinApp User’s Guide The following callback example shows the OnFirstSandboxOwner and OnFirstParentExit functions. ------------------------example.
Chapter 9 Creating ThinApp Scripts Modify the Virtual Registry The following script procedure modifies the virtual registry at runtime to load an external ODBC driver from the same directory where the package executable file is located. Modify the registry 1 Obtain the path to the package executable files. Origin = GetEnvironmentVariable("TS_ORIGIN") 2 Find the last slash in the path and obtain the characters that precede the slash. LastSlash = InStrRev(Origin, "\") SourcePath = Left(Origin, LastSlash)
ThinApp User’s Guide ThinApp sets up TS_ORIGIN to indicate the full path to a captured executable file package. A virtual application sets the TS_ORIGIN variable to the physical path of the primary data container.If you have a virtual application consisting of the main.exe and shortcut.exe files, both files reside in C:\VirtApp. When you run the main.exe file, TS_ORIGIN var is set to C:\VirtApp\main.exe. When you run the shortcut.exe file, the TS_ORIGIN environment variable is set to C:\VirtApp\main.exe.
Chapter 9 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.
ThinApp User’s Guide Examples You can exit the process and indicate success. ExitProcess 0 When the process exits, the scripting system receives its OnLastProcessExist function callback. Any loaded DLLs run termination code to clean up the environment. ExpandPath The ExpandPath(InputPath) function converts a path from macro format to system format. Parameters InputPath [in] A path in macro format. Returns The expanded macro path in system format. Examples Path = ExpandPath("%ProgramFilesDir%\Myapp.
Chapter 9 Creating ThinApp Scripts ExecuteVirtualProcess The ExecuteVirtualProcess(CommandLine) function runs a command inside of the virtual environment. You can use this function to make changes to the virtual environment. Parameters CommandLine [in] Representation of the application and command‐line parameters to run outside of the virtual environment. Returns Integer process ID. You can use the process ID with the WaitForProcess function. See “WaitForProcess” on page 125.
ThinApp User’s Guide You can retrieve the following values from most DLLs: Comments InternalName ProductName CompanyName LegalCopyright ProductVersion FileDescription LegalTrademarks PrivateBuild FileVersion OriginalFilename SpecialBuild Returns This function returns a string value. If the requested filename does not exist, or the function cannot locate the specified value in the file, the function returns an empty string (ʺʺ).
Chapter 9 Creating ThinApp Scripts GetOSVersion The GetOSVersion() function returns information about the current version of Windows. Parameters This function has no parameters. Returns This function returns a string in the MAJOR.MINOR.BUILD_NUMBER.PLATFORM_ID OS_STRING format. MAJOR is one the following values: Windows Vista 6 Windows Server 2008 6 Windows Server 2003 5 Windows XP 5 Windows 2000 5 Windows NT 4.
ThinApp User’s Guide GetEnvironmentVariable The GetEnvironmentVariable(Name) function returns the environment variable associated with the Name variable. Parameters Name [in] The name of the environment variable for which the value is retrieved. Returns This function returns the string value associated with the Name environment variable.
Chapter 9 Creating ThinApp Scripts SetfileSystemIsolation The Setfile systemIsolation(Directory, IsolationMode) function sets the isolation mode of a directory. Parameters Directory [in] Full path of the directory whose isolation mode is to be set. IsolationMode [in] Isolation mode to set. 1 = WriteCopy 2 = Merged 3 = Full Examples You can set the Merged isolation mode for the temp directory.
ThinApp User’s Guide Returns This function returns an integer. 0 = Timeout fails 1 = Process exits 2 = Process does not exist or security is denied Examples id = ExecuteExternalProcess("C:WINDOWS\system32\cmd.exe") WaitForProcess(id, 0) 126 VMware, Inc.
10 Monitoring and Troubleshooting ThinApp 10 You can use Log Monitor to generate trace files and troubleshoot the ThinApp environment. Log Monitor is compatible only with an application captured using the same version of ThinApp.
ThinApp User’s Guide The generated log files can be large and over 100MB depending on how long the application runs with Log Monitor and how busy an application is. The only reason to run Log Monitor for an application is to capture trace files. Trace files are critical for troubleshooting problems by analyzing and correlating multiple entries within the trace file. Troubleshoot Activity with Log Monitor You can use Log Monitor to perform basic troubleshooting.
Chapter 10 Monitoring and Troubleshooting ThinApp 3 (Optional) Capture logs for a specific duration to troubleshoot an exact issue. a Select the Suspend check box. b Start the captured application and let it run to the point where the error occurs or the performance problem starts. c In Log Monitor, deselect the Suspend check box to resume the logging process. You can check the application behavior to isolate the issue. d Select the Suspend check box to stop the logging process.
ThinApp User’s Guide 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.
Chapter 10 Monitoring and Troubleshooting ThinApp <- indicates the process of the call returning to the original caller. For call exit log entries, ThinApp displays the output parameters. These parameters are out and in/out parameters. kernel32.dll indicates the DLL where the API call lands. 7c81b1f0 indicates the address of the API inside kernel32 where the call lands. If you disassemble kernel32.dll at the 7c81b1f0 address, you find the code for the SetConsoleMode function.
ThinApp User’s Guide . ... 438 total calls 7847975891 total cycles (2809.64 ms): |sprof| ts_load_internal_module 764794646 cycles (273.80 ms) on log entry 21753 426837866 cycles (152.81 ms) on log entry 191955 408570540 cycles (146.27 ms) on log entry 193969 . . ... 94 total calls 4451728477 total cycles (1593.76 ms): |sprof| ts_lookup_imports 544327945 cycles (194.87 ms) on log entry 21758 385149968 cycles (137.89 ms) on log entry 193970 187246661 cycles (67.04 ms) on log entry 190210 . . ...
Chapter 10 Monitoring and Troubleshooting ThinApp The example shows the %drive_C%\test\cmd_test\bin, %SystemSystem%\foobar, and %SystemRoot%\foobar paths as the locations in the virtual file system that ThinApp probes. ----Potential Errors Detected --*** Unable to determine if any services need to be auto-started, error 2 001550 *** FindFirstFileW ’C:\test\cmd_test\bin\foobar.*’ -> INVALID_HANDLE_VALUE *** failed [system probe C:\test\cmd_test\bin\foobar.
ThinApp User’s Guide The cmd.exe utility obtains the first location by calling GetCurrentDirectoryW and the second location by calling GetFullPathNameW with ʺ.ʺ as the path specifies. These calls return the path for the current working directory. The log file shows that the cmd.exe utility creates the C:\test\cmd_test\bin> prompt.
Chapter 10 Monitoring and Troubleshooting ThinApp 2 Replace the last four xxxx characters with random alphanumeric entries to increase security. 3 Create a directory that is named in the OutlookSecureTempFolder registry key in your ThinApp project. For example, create the %Profile%\Local Settings\OutlookTempxxxx directory. 4 In the %Profile%\Local Settings\OutlookTempxxxx directory, create a ##Attributes.ini file with the following entries: [Isolation] DirectoryIsolationMode=Merged Starting Explorer.
ThinApp User’s Guide 136 VMware, Inc.
Glossary A Application Link A utility that links dependent applications to a base application at runtime and starts all the applications together when you start the base application. You can use the utility to deploy and update component packages separately rather than capture all components in the same package. Application Sync A utility that updates an application by detecting a new packaged version on a server or network share.
ThinApp User’s Guide L logging.dll A utility that generates .trace files. Log Monitor A utility that captures chronological activity for executable files that the captured application starts.The log_monitor.exe file is compatible only with applications captured using the same version of ThinApp. M MSI A Windows Installer container that is useful for application deployment tools. You can deliver the captured application as an MSI file instead of an executable file.
Glossary S sandbox The physical system folder that stores runtime user changes to the virtual application. When you start the application, ThinApp incorporates changes from the sandbox. When you delete the sandbox, ThinApp reverts the application to its captured state. The default location of the sandbox is %APPDATA%\Thinstall\. sbmerge.exe A utility that makes incremental updates to applications, such as the incorporation of a plug‐in or a change in a browser home page. The sbmerge.
ThinApp User’s Guide 140 VMware, Inc.
Index Symbols ##Attributes.ini comparing to Package.ini 24, 66 editing 24 A Active Directory authorizing group access 18 controlling access to applications 45 using Package.
ThinApp User’s Guide D M data container, See primary data container DCOM services, access for captured applications 12 deploying applications on network share 40 applications with deployment tools 39 executable files 40 MSI files 39 deployment tools, using MSI files 39 device drivers, incompatible with ThinApp 12 DLLs loading into memory 131 recording by Log Monitor 127 drivers, support for 49 Merged isolation mode 18 Microsoft Office capturing 25 customizing installation options 25 postscan options 26
Index AutoStartServices 82 BlockSize 83 CachePath 78 CapturedUsingVersion 86 ChildProcessEnvironmentDefault 82 ChildProcessEnvironmentExceptions 83 CommandLine 88 common parameters 23 CompressionType 83 configuring Application Link parameters 91 configuring Application Sync parameters 93 configuring build parameters 70 configuring file and protocol association parameters 70 configuring individual application parameters 88 configuring isolation parameters 68 configuring locale parameters 87 configuring logg
ThinApp User’s Guide for file and protocol associations 70 for file storage 78 for individual applications 88 for isolation modes 68 for locales 87 for logging 85 for MSI files 43, 96 for objects and DLLs 74 for permissions 72 for processes and services 81 for sandbox storage 100 for sbmerge.exe 62 for ThinApp runtime 66 for thinreg.
Index ThinAppConverter.ini configuring AppSettings 36 configuring HostEnvironment 31 configuring Settings 33 configuring VirtualMachineN 32 predefined environment variables 37 ThinDirect extracting and registering 29 thinreg.exe defining 40 parameters 41 running 41 starting with MSI files 21 updating registrations with Application Sync 55 with Application Sync 40 troubleshooting Explorer.
ThinApp User’s Guide 146 VMware, Inc.