ThinApp User’s Guide ThinApp 4.6.1 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 © 2011 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 86 DisableTracing 86 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 Capturing Applications 2 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 Use the format [protocol://]hostname[:port][/path] to specify a redirect URL. Table 2-1. Description of redirect URL format Description protocol The connection protocol, normally either http or https. If you do not specify the protocol, the line matches all protocols. hostname The hostname. The hostname can contain a single * as a wildcard. For example, the hostname *.vmware.com matches both www.vmware.com and othersubdomain.vmware.com. port A numerical port number.
ThinApp User’s Guide 5 (Optional) Create a ThinDirect.txt file and save it in the same project directory as the Package.ini file. 6 Run snapshot VirtIE6.ini -GenerateProject . The virtual Internet Explorer 6 on Windows XP package is built. Extracting and Registering ThinDirect After you build an Internet Explorer 6 package, you must extract and register the ThinDirect plug‐in on the test machine.
Chapter 2 Capturing Applications ThinApp Converter reads the configuration file to identify which application installers are to be converted and the virtual machines on which the conversion is to occur. ThinApp Converter then takes a snapshot of the virtual machine when it is powered off, which is used to preserve the virtual machine states. After the snapshot is taken, ThinApp Converter powers on the virtual machine and pushes a silent capture agent into the virtual machine.
ThinApp User’s Guide System Requirements for Running ThinApp Converter ThinApp Converter requires one of the following virtual machine environments: VMware ESX Server 4.0, or later VMware vCenter Server 4.0, or later VMware Workstation 7.
Chapter 2 Capturing Applications Examples The following example shows a virtual machine specified by ESX server hostname. [HostEnvironment] VirtualMachineHost=MyEsx.vmware.com The following example shows a virtual machine specified by IP address. [HostEnvironment] VirtualMachineHost=10.13.11.23 The following example shows a local machine specified as localhost. [HostEnvironment] VirtualMachineHost=localhost HostLoginUserName The login user name for the host of the virtual machines.
ThinApp User’s Guide For ESX Server or vCenter Server, you can identify the virtual machine configuration file path using the vSphere Client. Identify the virtual machine configuration path using the vSphere Client 1 Right‐click the virtual machine and select Edit Settings. 2 Click the Options tab, and copy the string from the Virtual Machine Configuration File field. 3 Use this string as the virtual machine configuration file path.
Chapter 2 Capturing Applications Settings The Settings section of the configuration file contains the parameters for the application installer directory and ThinApp project output directory, in the form of UNC. It also contains several parameters controlling the conversion process behavior. ThinApp Converter only requires read‐only permissions for the network share that contains the application installers. It requires read/write permissions for the network share that contains the ThinApp projects.
ThinApp User’s Guide InputMountPassword=secret InputMountPasswordPrompt=false OutputUncPath=\\DeploymentServer\ThinAppProj OutputMountUserName=readwriteUser OutputMountPassword=secret OutputMountPasswordPrompt=false ThinApp Converter Logic for Detecting the Application Installers For the application installer’s network share, ThinApp Converter examines all subdirectories under the specified UNC path recursively, including their subdirectories.
Chapter 2 Capturing Applications Example Following is an example of an exclusion specification using a wildcard. [Settings] ExclusionList=App?.old;FireFox1.0 ProjectPostProcessingCommand Specify the file path to the project post processing command. The file path is relative to the application installer’s network share. Using the example for specifying the network shares for the application installers and ThinApp projects, if you specify ProjectPostProcessingCommand=addscript.
ThinApp User’s Guide ProjectPostProcessingCommand Specify the project post processing command for the specific application. When this parameter has a value, the global post processing command is processed first, followed by this application‐specific post processing command. Example Following is an example of how to apply an application‐specific override during post processing. [AppSettings:Adobe] InstallationCommand=AdbeRdr920_en_US.exe /sAll PackageIniOverrideFile=override.
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 Purpose Sample Usage /a, /allusers 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 /u, /unregister, /uninstall Prevents the display of an error message for an unrecognized command‐line parameter. thinreg.
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. Use the Full isolation mode.
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 Merged isolation mode, applications can read and modify elements on the physical file system outside of the virtual package. Some applications rely on reading DLLs and registry information in the local system image. The advantage of using Merged mode is that documents that users save appear on the physical system in the location that users expect, instead of in the sandbox. The disadvantage is that this mode might clutter the system image.
ThinApp User’s Guide If external group policy updates occur separately from the package through the physical registry, you might remove virtual registry files from a package and verify that the parent file of these virtual registry files does not use Full isolation. Because child files inherit isolation modes from parent elements, Full isolation in a parent file can block the visibility of physical child files to an application.
Chapter 5 Configuring Package Parameters Configuring Build Output You can modify ThinApp parameters to specify the location of the build output and the files in the package. ExcludePattern The ExcludePattern parameter excludes files or directories during the application build process. You must add a [FileList] heading before this parameter entry. You can use a comma to separate patterns in the list.
ThinApp User’s Guide OutDir The OutDir parameter specifies the directory that stores the build.bat output. Do not modify the value of this parameter. Examples The static value of the OutDir parameter specifies the bin directory of the project. [BuildOptions] OutDir=bin RetainAllIcons The RetainAllIcons parameter keeps all of the original icons of the executable file listed in the Source parameter in the application.
Chapter 5 Configuring Package Parameters Examples You can modify the AddPageExecutePermission parameter to add execution permission to pages that an application allocates. ThinApp executes code from memory pages that the application specifies. This is useful for applications that combine the program and its data into one area of memory.
ThinApp User’s Guide UACRequestedPrivilegesLevel The UACRequestedPrivilegesLevel parameter specifies privileges for programs requiring User Account Control (UAC) information. This parameter affects users working on Windows Vista or later operating system versions. You can use the following values to specify privileges: asInvoker This value uses the profile in Vista. requireAdministrator highestAvailable This value uses the highest available privilege that can avoid the UAC prompt.
Chapter 5 Configuring Package Parameters Examples When you troubleshoot a problem with VMware support and determine that an application implements COM objects that is not compatible with ThinApp, you can modify the ExternalCOMObjects parameter to run the COM objects outside of the virtual environment. You can list the CLSID keys.
ThinApp User’s Guide IsolatedMemoryObjects The IsolatedMemoryObjects parameter lists the shared memory objects to isolate from other applications or from system objects. Applications that use CreateFileMapping and OpenFileMapping Windows functions create shared memory objects. When you do not isolate memory objects, conflicts can occur between virtual applications and native applications sharing those objects.
Chapter 5 Configuring Package Parameters Examples You can modify the IsolatedSynchronizationObjects parameter to isolate the synchronization object with the My Shared Object name and the synchronization object with outlook in the name. [BuildOptions] IsolatedSynchronizationObjects=*outlook*;My Shared Object NotificationDLLs The NotificationDLLs parameter makes calls to third‐party DLL files to provide notification of events, such as application startup or shutdown.
ThinApp User’s Guide SandboxCOMObjects The SandboxCOMObjects parameter indicates whether applications in the physical environment can access COM objects that the virtual application registers at runtime. ThinApp sets an initial value that prevents native applications in the physical environment from accessing COM objects that the virtual application registers. ThinApp places COM objects that the virtual application registers in the sandbox.
Chapter 5 Configuring Package Parameters You can use the THINSTALL_CACHE_DIR environment variable to override the CachePath parameter at runtime. If you do not set the THINSTALL_CACHE_DIR environment variable or the CachePath parameter, ThinApp sets an initial value of the CachePath parameter based on the SandboxPath parameter according to the following rules: If the SandboxPath parameter is present in the Package.
ThinApp User’s Guide VirtualDrives The VirtualDrives parameter specifies additional drive letters that are available to the application at runtime. ThinApp makes the virtual environment resemble the physical capture environment and mimics the physical drives that are available on the capture system. ThinApp represents virtual drives through the VirtualDrives parameter and a project folder, such as %drive_%, that contains the virtual files on the drive.
Chapter 5 Configuring Package Parameters Modify Virtual Drive Isolation Modes You might modify isolation modes for virtual drives when you want to override the default isolation mode of the project. Modify virtual drive isolation modes 1 Add the %Drive_% directory to your ThinApp project. 2 Create a ##Attributes.ini file that includes an isolation mode entry for the drive letter. [Isolation] DirectoryIsolationMode= 3 Place the ##Attributes.
ThinApp User’s Guide When ThinApp blocks a captured application from injecting itself into a native application, Log Monitor generates trace logs that refer to the AllowExternalProcessModifications parameter. Examples You can add the AllowExternalProcessModifications parameter to the Package.ini file to support write operations from virtual processes to native processes. For example, a speech recognition application must inject itself into native applications to voice the text.
Chapter 5 Configuring Package Parameters ChildProcessEnvironmentDefault The ChildProcessEnvironmentDefault parameter determines whether ThinApp runs all child processes in the virtual environment. ThinApp creates all child processes in the virtual environment. If the processes are slow, you might want to move child processes to the physical environment. As a child process, Microsoft Outlook might affect performance when it copies the whole mailbox to the virtual environment.
ThinApp User’s Guide Examples You can increase the default size of 64KB in the BlockSize parameter to a supported block size of 128KB, 256KB, 512KB, or 1MB. You can add k after the number to indicate kilobytes or m to indicate megabytes. [Compression] BlockSize=128k CompressionType The CompressionType parameter can compress all files in a package except for Portable Executable files. You can compress files when you have a large package and disk space is a top priority.
Chapter 5 Configuring Package Parameters MSICompressionType The MSICompressionType parameter determines whether to compress MSI files for package distribution. Compression improves performance when opening MSI files and using the ThinApp SDK. If you create an MSI file during the capture process, ThinApp adds the MSICompressionType parameter to the Package.ini file and sets the initial value of Fast to compress the file. Decompression occurs at the time of installation.
ThinApp User’s Guide Configuring Logging You can modify ThinApp parameters to prevent logging activity or customize the location of the log files. DisableTracing The DisableTracing parameter prevents .trace file generation when you run Log Monitor for security and resource purposes. You might block standard .trace file generation to hide the application history from a user. In a testing environment, you might turn off tracing for applications that you know work properly. Producing extra .
Chapter 5 Configuring Package Parameters ThinApp sets an initial value of the StripVersionInfo parameter that copies all version information from the source executable file. Examples In rare cases, you can modify the StripVersionInfo parameter to generate an application without version information. For example, you might want to circumvent version detection scans that compare versions against a database of outdated software. [app.exe] Source=%ProgramFilesDir%\myapp\app.exe StripVersionInfo=1 Version.
ThinApp User’s Guide Examples When the regional language of the operating system is U.S. English, the capture process sets the LocaleIdentifier parameter to 1033. [BuildOptions] LocaleIdentifier=1033 LocaleName The LocaleName parameter displays the name of the locale when you capture an application on Microsoft Vista. Examples The LocaleName parameter can display a Japanese locale name.
Chapter 5 Configuring Package Parameters Examples If you do not select the cmd.exe, regedit.exe, or iexplore.exe troubleshooting entry points during the capture process, and you develop a need to debug the environment, you can modify the Disabled parameter to generate these entry points. [app.exe] Source=%ProgramFilesDir%\\.
ThinApp User’s Guide Examples ThinApp can point AcroRd32.exe, the shortcut executable file, to Adobe Reader 8.exe, the primary data container file. [AcroRd32.exe] Shortcut=Adobe Reader 8.exe Source=%ProgramFilesDir%\Adobe\Reader 8.0\Reader\AcroRd32.exe ThinApp can point Microsoft Office Word 2007.exe, the shortcut executable file, to Microsoft Office Enterprise 2007.dat, the primary data container file. [Microsoft Office Word 2007.exe] Source=%ProgramFilesDir%\Microsoft Office\Office12\WINWORD.
Chapter 5 Configuring Package Parameters WorkingDirectory The WorkingDirectory parameter determines the first location in which an application looks for files and places files. ThinApp does not include this parameter by default in the Package.ini file because Thinapp assumes the working directory is the directory where the executable file resides. The typical location in a ThinApp environment is on the desktop of the deployment machine. You can set the working directory for individual applications.
ThinApp User’s Guide Path names can contain system or user environment variables that dynamically expand to a specific location for each user or computer. An example is RequiredAppLinks=%MyEnvironmentVariable%\Package.dat. The risk of using environment variables is that a user might change the values before starting the application and create an Application Link dependency other than the one that the administrator set up. Path names can contain ThinApp folder macros.
Chapter 5 Configuring Package Parameters You can use environment variables in the path value. The risk of using environment variables is that a user might change the values before starting the application and create an Application Link dependency other than the one that the administrator set up. RequiredAppLinks=%MyEnvironmentVariable%\Package.dat You can import a single package located in the same directory as the base executable file. RequiredAppLinks=Plugin.
ThinApp User’s Guide AppSyncWarningMessage=This application will become unavailable for use in AppSyncWarningPeriod days if it cannot contact its update server. Check your network connection to ensure uninterrupted service AppSyncExpireMessage=This application has been unable to contact its update server for AppSyncExpirePeriod days, so it is unavailable for use.
Chapter 5 Configuring Package Parameters Examples You can assign an HTTP or HTTPS value to the AppSyncURL parameter according to the following format. AppSyncURL=https://// You can specify local and network drive paths. A primary data container can be either a .exe or .dat file. file:///C:// You can use a UNC path and access locations of network resources.
ThinApp User’s Guide If the value of the AppSyncWarningPeriod parameter is in hours or minutes, change the message to indicate hours or minutes rather than days. AppSyncWarningPeriod The AppSyncWarningPeriod parameter sets the start of the warning period before a package expires. You can specify minutes (m), hours (h), or days (d). When the warning period starts, ThinApp checks the Web server every time an application starts and sets the value of the AppSyncUpdateFrequency parameter to 0.
Chapter 5 Configuring Package Parameters Examples ThinApp sets an initial value for the MSIDefaultInstallAllUsers parameter that installs the MSI database with shortcuts and file type associations for all users who log in to the computer. The user who installs the database must have administrator rights. You can use this approach to push the application to desktops for all users. [BuildOptions] MSIFilename=.
ThinApp User’s Guide Examples If you do not want the MSIInstallDirectory parameter to use a location based on the inventory name, you can install a .msi file in the C:\Program Files\ directory. [BuildOptions] MSIFilename=.msi MSIInstallDirectory= MSIManufacturer The MSIManufacturer parameter specifies the manufacturer or packaging company of the MSI database and displays the value in the Windows Add or Remove Programs dialog box.
Chapter 5 Configuring Package Parameters Examples You can change the value of the MSIProductVersion parameter when you change the MSI package. A value of 2.0 causes ThinApp to uninstall a 1.0 version of the package and install the 2.0 version of the package. [BuildOptions] MSIFilename=.msi MSIProductVersion=2.0 The format of the MSIProductVersion value is X.Y.Z. The values of X and Y range from 0 to 255, and the value of Z ranges from 0 to 65536.
ThinApp User’s Guide MSIStreaming The MSIStreaming parameter determines the use of .cab files that can affect application performance. ThinApp sets an initial value that compresses the package files in a .cab file and makes it easier to move the file. The .cab file is in the MSI file. The default setting is MSIStreaming=0. With this value, the packaged .exe files and .dat files are compressed in the .cab file. Disabling the parameter in Package.ini has the same effect as setting the value to O.
Chapter 5 Configuring Package Parameters If you have a package that includes other applications, you might update the inventory name manually to reflect the true contents of the package. For example, if you capture the SuperApp application and the package includes Java Runtime, the InventoryName value might appear as Java Runtime Environment 1.5 instead of SuperApp. The Add or Remove Programs list displays the first application installed within the package.
ThinApp User’s Guide Examples When you want to save space or share files for collaborative work, leave the default setting of the SandboxNetworkDrives parameter to direct write operations to network drives without storing changes in a sandbox. [BuildOptions] SandboxNetworkDrives=0 You can store changes in the sandbox and prevent the user from making changes to network drives. [BuildOptions] SandboxNetworkDrives=1 SandboxPath The SandboxPath parameter determines the path to the sandbox.
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.
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 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 Windows XP machine. On the Windows XP machine, the files appear to exist at C:\windows\system32 and all related registry keys point to C:\windows\system32. On Windows Vista, ThinApp moves Windows SxS DLLs and policy information to match Windows Vista instead of using Windows XP file path styles.
Chapter 8 ThinApp File System Formats and Macros Table 8-1. Folder Macros (Continued) Macro Name Typical Location %My Videos% C:\Documents and Settings\\My Documents\My Videos %NetHood% C:\Documents and Settings\\NetHood %Personal% C:\Documents and Settings\\My Documents %PrintHood% C:\Documents and Settings\\PrintHood %Profile% C:\Documents and Settings\ %Profiles% C:\Documents and Settings %Program Files Common% C:\Program Files\Common
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 OnLastProcessExit – Called when the last process owning the sandbox exits. If a parent process runs a child process and quits, this callback is called when the last child process exits. 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 computers defining a clean system 12 using virtual machines for clean systems 13 cut and paste operations, ThinApp limitations 49 D 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,
Index ChildProcessEnvironmentDefault 83 ChildProcessEnvironmentExceptions 83 CommandLine 88 common parameters 23 CompressionType 84 configuring Application Link parameters 91 configuring Application Sync parameters 93 configuring build parameters 71 configuring file and protocol association parameters 70 configuring individual application parameters 88 configuring isolation parameters 68 configuring locale parameters 87 configuring logging parameters 86 configuring MSI parameters 96 configuring object and
ThinApp User’s Guide for locales 87 for logging 86 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.exe 41 for versions 86 PermittedGroups, effect on Application Link 59 primary data container defining 21 maintaining the name with Application Sync 55 size implications 21 project files 22 projects, opening during capture process 22 regedit.
Index ThinAppConverter.ini configuring AppSettings 37 configuring HostEnvironment 32 configuring Settings 35 configuring VirtualMachineN 33 predefined environment variables 38 ThinDirect extracting and registering 30 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.