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.
EN-000759-03
ThinApp Package.ini Parameters Reference 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:
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
2 VMware, Inc.
Contents
About This Guide7
1
Configuring Package Parameters9
2
Package.ini File Structure11
3
Package.ini or ##Attributes.ini Files That Override Package.ini Settings13
4
Configuring the ThinApp Runtime15
5
RuntimeEULA Parameter 15
VirtualComputerName Parameter 16
Wow64 Parameter 16
QualityReportingEnabled Parameter 17
Configuring Isolation19
6
DirectoryIsolationMode Parameter 19
RegistryIsolationMode Parameter 20
Configuring File and Protocol Associations23
7
FileTypes Parameter 23
Protocols Parameter 24
VMware, Inc.
Configuring Build Output25
8
ExcludePattern Parameter 25
Icon Parameter 26
OutDir Parameter 26
RetainAllIcons Parameter 27
Configuring Permissions29
9
AccessDeniedMsg Parameter 29
PermittedGroups Parameter 29
UACRequestedPrivilegesLevel Parameter 30
UACRequestedPrivilegesUIAccess Parameter 31
Configuring Objects and DLL Files33
10
ExternalCOMObjects Parameter 33
ExternalDLLs Parameter 34
ForcedVirtualLoadPaths Parameter 34
IsolatedMemoryObjects Parameter 35
IsolatedSynchronizationObjects Parameter 35
3
ThinApp Package.ini Parameters Reference Guide
NotificationDLLs Parameter 36
NotificationDLLSignature Parameter 36
ObjectTypes Parameter 37
SandboxCOMObjects Parameter 37
VirtualizeExternalOutOfProcessCOM Parameter 37
Configuring File Storage39
11
CachePath Parameter 39
UpgradePath Parameter 40
VirtualDrives Parameter 40
Configuring Processes and Services43
12
AllowExternalKernelModeServices Parameter 43
AllowExternalProcessModifications Parameter 43
AutoShutdownServices Parameter 44
AutoStartServices Parameter 44
ChildProcessEnvironmentDefault Parameter 44
ChildProcessEnvironmentExceptions Parameter 45
Configuring Sizes47
13
BlockSize Parameter 47
CompressionType Parameter 47
MSICompressionType Parameter 48
Configuring Logging51
14
DisableTracing Parameter 51
LogPath Parameter 51
Configuring Versions53
15
CapturedUsingVersion Parameter 53
StripVersionInfo Parameter 53
Version.XXXX Parameter 54
Configuring Locales55
16
AnsiCodePage Parameter 55
LocaleIdentifier Parameter 55
LocaleName Parameter 56
Configuring Individual Applications57
17
CommandLine Parameter 57
Disabled Parameter 58
ReadOnlyData Parameter 58
Shortcut Parameter 58
Shortcuts Parameter 59
Source Parameter 59
WorkingDirectory Parameter 60
4 VMware, Inc.
Configuring Dependent Applications Using the Application Utility61
18
Application Link Pathname Formats 61
RequiredAppLinks Parameter 62
OptionalAppLinks Parameter 63
Contents
Configuring Application Updates with the Application Sync Utility65
19
AppSyncClearSandboxOnUpdate Parameter 66
AppSyncExpireMessage Parameter 66
AppSyncExpirePeriod Parameter 66
AppSyncURL Parameter 66
AppSyncUpdateFrequency Parameter 67
AppSyncUpdatedMessage Parameter 67
AppSyncWarningFrequency Parameter 67
AppSyncWarningMessage Parameter 68
AppSyncWarningPeriod Parameter 68
Configuring MSI Files69
20
MSIArpProductIcon Parameter 69
MSIDefaultInstallAllUsers Parameter 70
MSIFilename Parameter 70
MSIInstallDirectory Parameter 71
MSIManufacturer Parameter 71
MSIProductCode Parameter 71
MSIProductVersion Parameter 72
MSIRequireElevatedPrivileges Parameter 72
MSIUpgradeCode Parameter 73
MSIStreaming Parameter 73
MSIIs64Bit Parameter 74
Configuring Sandbox Storage and Inventory Names75
21
InventoryName Parameter 75
RemoveSandboxOnExit Parameter 76
SandboxName Parameter 76
SandboxNetworkDrives Parameter 77
SandboxPath Parameter 77
SandboxRemovableDisk Parameter 78
SandboxWindowClassName Parameter 78
Other Configuration Parameters79
22
DisableCutPaste Parameter 80
LoadDotNetFromSystem Parameter 80
PermittedComputers Parameter 80
Services Parameter 80
StatusbarDisplayName Parameter 80
DisableTransactionRegistry Parameter 80
PreventDLLInjection 80
ProcessExternalNameBehavior Parameter 80
PreventDllInjectionExceptions Parameter 81
VMware, Inc. 5
ThinApp Package.ini Parameters Reference Guide
LargeAddressAware Parameter 81
PermittedComputers Parameter 81
PermittedComputersAccessDeniedMsg Parameter 82
PermittedComputersOfflineAccess Parameter 82
IgnoreDDEMessages Parameter 82
Locating the ThinApp Sandbox83
23
Search Order for the Sandbox 83
Controlling the Sandbox Location85
24
Store the Sandbox on the Network 85
Store the Sandbox on a Portable Device 86
Store the Sandbox in a Thinstall Directory on a USB Drive at the Same Level as the Executable File 86
Sandbox Structure87
25
Making Changes to the Sandbox 87
Listing Virtual Registry Contents with vregtool 88
Creating ThinApp Snapshots and Projects from the Command Line89
26
Using the Command Line to Create Snapshots 89
Index93
6 VMware, Inc.
About This Guide1
The ThinApp Package.ini Parameters Reference Guide provides information on how to configure and customize
the ThinApp Package.ini parameters. You can refer this guide to customize the parameters of the virtual
application outside of the capture process.
Intended Audience
This book is intended for anyone who has to customize the Package.ini parameters of the captured
applications. Typical users are system administrators responsible for the distribution and maintenance of
corporate software packages.
VMware, Inc.
7
ThinApp Package.ini Parameters Reference Guide
8 VMware, Inc.
Configuring Package Parameters2
Advanced users can customize the parameters of a 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 for your virtual application. The file 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 changes to the Package.ini file and build the project
to have the parameter changes take effect.
VMware, Inc. 9
ThinApp Package.ini Parameters Reference Guide
10 VMware, Inc.
Package.ini File Structure3
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]
[<application>.exe]
[FileList]
[Compression]
[Isolation]
The [BuildOptions] section of the Package.ini file applies to all applications.
Individual applications inherit these parameters unless application-specific
entries override the settings. For example, the [Adobe Reader 8.exe] section
of the Package.ini file for an Adobe Reader application might have settings
that override the larger [BuildOptions] parameters. The application-specific
parameters show the application entry points that you create during the
build process.
The [FileList] parameters act as [BuildOptions] parameters. They are
grouped separately from other [BuildOptions] parameters for backward
compatibility reasons. You can add the [FileList] heading manually to the
file when you add the ExcludePattern parameter.
The [Compression] parameters act as [BuildOptions] parameters. They are
grouped separately from other [BuildOptions] parameters for backward
compatibility reasons.
The [Isolation] parameters act as [BuildOptions] parameters, They are
grouped separately from other [BuildOptions] parameters for backward
compatibility reasons.
VMware, Inc. 11
ThinApp Package.ini Parameters Reference Guide
12 VMware, Inc.
Package.ini or ##Attributes.ini Files
That Override Package.ini Settings4
You can apply certain parameters to the Package.ini or ##Attributes.ini files, depending on requirements,
that override Package.ini settings at directory level.
You can use the DirectoryIsolationMode, CompressionType, and ExcludePattern parameters in an
##Attributes.ini file to override directory-level Package.ini settings. The ##Attributes.ini file is located
in the folder macros of the project folder.
For more information about modifying the ##Attributes.ini file settings, see the ThinApp User’s Guide.
VMware, Inc. 13
ThinApp Package.ini Parameters Reference Guide
14 VMware, Inc.
Configuring the ThinApp Runtime5
You can modify ThinApp parameters for runtime configuration tasks that affect application startup
performance and virtual computer names.
1RuntimeEULA Parameter on page 15
The RuntimeEULA parameter controls the End-User License Agreement display for the package. This
parameter addresses legacy EULA requirements. VMware does not require a runtime EULA for
ThinApp packages.
2VirtualComputerName Parameter on page 16
The VirtualComputerName parameter determines whether to rename the computer name, to avoid
naming conflicts between the capture process and the deployment process.
3Wow64 Parameter on page 16
The Wow64 parameter simulates a 32-bit environment for 32-bit applications that cannot run on a 64-bit
Windows operating system.
4QualityReportingEnabled Parameter on page 17
The QualityReportingEnabled parameter specifies whether VMware may collect anonymous data on a
package to improve ThinApp application support. VMware collects application information such as
the version and the number of application failures.
RuntimeEULA Parameter
The RuntimeEULA parameter controls the End-User License Agreement display for the package. This
parameter addresses legacy EULA requirements. VMware does not require a runtime EULA for ThinApp
packages.
NOTE Do not modify the value of this parameter.
Example: Default RuntimeEULA Value
This example shows how the RuntimeEULA parameter prevents the display of the End-User License
Agreement.
[BuildOptions]
;Default: do not show an Eula
RuntimeEULA=0
VMware, Inc.
15
ThinApp Package.ini Parameters Reference Guide
VirtualComputerName Parameter
The VirtualComputerName parameter determines whether to rename the computer name, to avoid naming
conflicts between the capture process and the deployment process.
Applications can use the name of the computer on which they are installed, or connect to a database and use
the name of the computer in the connection string. Because the capture process is different from the
deployment process, captured applications that require a computer name must add the computer name to
the virtual package to ensure that the application can run on any machine.
ThinApp comments out the initial setting of the VirtualComputerName parameter. This parameter uses a
string that the GetComputerName and GetComputerNameEx API functions return in a virtual application.
Example: Including a Virtual Computer Name
This example shows how the VirtualComputerName parameter creates a second name for a computer named
LOCALHOST, which will be captured in the virtual application. The application uses the second name to
connect to a virtual machine. If the capture system lacks the LOCALHOST name, ThinApp comments out
the VirtualComputerName parameter.
;VirtualComputerName=<original_machine_name>
If you rename a clean machine as LOCALHOST before performing the capture process, the Package.ini file
activates the name that the VirtualComputerName parameter created. The virtual application works with the
renamed LOCALHOST name because any computer that the application runs on receives this value as the
computer name.
If you run a GetComputerName or GetComputerNameEx command, the computer returns LOCALHOST. If the
Windows system requires the GetComputerName and GetComputerNameEx commands to operate in a standard
way and return the actual name of the computer where the application runs, do not rename the machine as
LOCALHOST.
VirtualComputerName=LOCALHOST
Example: Including an Environment Variable
In addition to specifying a literal string such as LOCALHOST, you can include an environment variable.
When you specify an environment variable, the value returned is the value of the environment variable. If
the value of the VirtualComputerName parameter is %VCOMPNAME%, and the %VCOMPNAME%
environment variable is set to EnvCompName, the GetComputerName API returns EnvCompName.
VirtualComputerName=%VCOMPNAME%
Wow64 Parameter
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.
16 VMware, Inc.
Example: Uncommenting the Wow64 Parameter
The example shows how to uncomment the Wow64 parameter to simulate a 32-bit environment for 32-bit
applications on a 64-bit operating system. For example, a virtualized 32-bit Oracle application might not
work on a 64-bit operating system
[BuildOptions]
Wow64=0
QualityReportingEnabled Parameter
The QualityReportingEnabled parameter specifies whether VMware may collect anonymous data on a
package to improve ThinApp application support. VMware collects application information such as the
version and the number of application failures.
If you agree to anonymous data collection during the capture process, the QualityReportingEnabled
parameter uploads data every ten days.
Example: Turning Off Data Collection
You can modify the QualityReportingEnabled parameter to turn off ThinApp data collection.
Chapter 5 Configuring the ThinApp Runtime
[BuildOptions]
QualityReportingEnabled=0
VMware, Inc. 17
ThinApp Package.ini Parameters Reference Guide
18 VMware, Inc.
Configuring Isolation6
ThinApp isolation parameters determine the read and write access to the file system and registry keys
This chapter includes the following topics:
“DirectoryIsolationMode Parameter,” on page 19
n
“RegistryIsolationMode Parameter,” on page 20
n
DirectoryIsolationMode Parameter
The DirectoryIsolationMode parameter specifies the level of read and write access for directories to the
physical file system.
The capture process sets the initial value of the DirectoryIsolationMode parameter in the Package.ini file.
This parameter controls the default isolation mode for the files created by the virtual application, except
when you specify a different isolation mode in the ##Attributes.ini file for an individual directory. Any
unspecified directories, such as C:\myfolder , inherit the isolation mode from the Package.ini file.
ThinApp provides only the Merged and WriteCopy isolation mode options in the capture process. You can
use the Full isolation mode outside the setup capture wizard to secure the virtual environment.
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. An example of the clutter might be first-execution markers by shareware
applications written to random computer locations as part of the licensing process.
VMware, Inc.
With WriteCopy isolation mode, ThinApp can intercept write operations and redirect them to the sandbox.
You can use WriteCopy isolation mode for legacy or untrusted applications. Although this mode might
make it difficult to find user data files that reside in the sandbox instead of the physical system, the mode is
useful for locked-down desktops where you want to prevent users from affecting the local file system.
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.ini file because that mode blocks the ability to detect and load
system DLLs. You can use Full isolation mode as an override mechanism in the ##Attributes.ini files.
ThinApp caches the isolation modes for the registry and the file system at runtime in the sandbox. If you
change the isolation mode for the project and rebuild the executable file, you might delete the sandbox for
the change to take effect.
19
ThinApp Package.ini Parameters Reference Guide
You must place the parameter under an [Isolation] heading.
For more information about modifying the ##Attributes.ini file settings, see the ThinApp User’s Guide.
Example: Using WriteCopy Isolation
In this example, you modify the DirectoryIsolationMode parameter with WriteCopy isolation to ensure that
the virtual application can read resources on the local machine, but not write to the host computer. This is
the default setting for the snapshot.exe utility.
[Isolation]
DirectoryIsolationMode=WriteCopy
Example: Using Merged Isolation
In this example, you assign Merged isolation mode to ensure that the virtual application can read resources
on and write to any location on the computer, except where the package specifies otherwise. Merged is the
default setting for the Setup Capture wizard.
[Isolation]
DirectoryIsolationMode=Merged
RegistryIsolationMode Parameter
The RegistryIsolationMode parameter controls the isolation mode for registry keys in the package. This
setting applies to the registry keys that do not have explicit settings.
The capture process does not set the value of this parameter. You can configure the registry isolation mode
only in the Package.ini file.
ThinApp sets the initial registry isolation mode to WriteCopy.
Do not use the Full isolation mode in the Package.ini file because that mode blocks the ability to detect and
load system DLLs. You can use Full isolation mode as an override mechanism. You can place exceptions to
the configured RegistryIsolationMode parameter in the registry key text files in the project directory. An
exception might appear in a file, such as HKEY_CURRENT_USER.txt , as isolation_fullHKEY_CURRENT_USER\Software\Macromedia.
All runtime modifications to virtual files in the captured application are stored in the sandbox, regardless of
the isolation mode setting. At runtime, virtual and physical registry files are indistinguishable to an
application, but virtual registry files always supersede physical registry files when both exist in the same
location. If virtual and physical entries exist at the same location, isolation modes do not affect access to
these entries because the application always interacts with virtual elements.
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 from an application.
Example: Using WriteCopy Isolation in the Registry
This example shows how you can modify the RegistryIsolationMode parameter to ensure that the
application can read keys from the host computer, but not write to the host computer.
[Isolation]
RegistryIsolationMode=WriteCopy
20 VMware, Inc.
Chapter 6 Configuring Isolation
Example: Using Merge Isolation in the Registry
This example shows how you can ensure that the application can write to any key on the computer, except
where the package specifies otherwise.
[Isolation]
RegistryIsolationMode=Merged
VMware, Inc. 21
ThinApp Package.ini Parameters Reference Guide
22 VMware, Inc.
Configuring File and Protocol
Associations7
You can modify ThinApp parameters to associate file extensions with applications and to specify protocols
that are visible to the physical environment.
This chapter includes the following topics:
“FileTypes Parameter,” on page 23
n
“Protocols Parameter,” on page 24
n
FileTypes Parameter
The FileTypes parameter lists file extensions that the thinreg.exe utility associates with an executable file.
The capture process generates initial values that you cannot add to. You can remove extensions that you do
not want to associate with the virtual package. Do not use separators between the file extensions in the list.
Example: Removing a File Extension From a Package to Ensure That it is
Opened By a Version of the Application in the Physical Environment
A Microsoft Word 2007 package specifies .doc.docx as the values of the FileTypes parameter. If you capture
Microsoft Office 2007 and have Microsoft Office 2003 installed in the physical environment, you can remove
the .doc extension from the FileTypes parameter and leave the .docx extension to ensure that Microsoft
Word 2003 opens .doc files and Microsoft Word 2007 opens .docx files.
[Microsoft Office Word 2007.exe]
FileTypes=.docx
Example: Creating File Type Extensions and Linking Them to An Application
The capture process can create file type associations for .doc and .dot extensions and link them to Microsoft
Word.
[Microsoft Office Word 2003.exe]
ReadOnlyData=bin\Package.ro.tvr
Source=%ProgramFilesDir%\Microsoft Office\OFFICE11\WINWORD.EXE
FileTypes=.doc.dot
VMware, Inc.
23
ThinApp Package.ini Parameters Reference Guide
Protocols Parameter
The Protocols parameter specifies the protocols, such as HTTP, that are visible to applications in the
physical environment. This parameter is similar to the FileTypes parameter, but deals with applications that
handle protocols rather than file types.
The capture process generates initial values that you cannot add to. You can remove entries for browsers or
other applications.
Example: Specifying the mailto Protocol for A Microsoft Outlook Package
The capture process can specify protocols, such as the mailto protocol for a Microsoft Outlook package, in
the Protocols parameter.
[Microsoft Office Outlook 2007.exe]
Protocols=feed;feeds;mailto;Outlook.URL.mailto;stssync;webcal;webcals
24 VMware, Inc.
Configuring Build Output8
You can modify ThinApp parameters to specify the location of the build output and the files in the package.
This chapter includes the following topics:
“ExcludePattern Parameter,” on page 25
n
“Icon Parameter,” on page 26
n
“OutDir Parameter,” on page 26
n
“RetainAllIcons Parameter,” on page 27
n
ExcludePattern Parameter
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. 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 in the ##Attributes.ini file, where ThinApp adds the pattern
exclusion to the current list of exclusions, but applies settings only to the specific directory and
subdirectories. You can create a different exclusion list for different directories in your project.
Example: Excluding Version Control Information From the Virtual File System
If you store packages in a version control system and you want to exclude version control information from
the virtual file system, you can exclude any directories called .svn or .cvs and all the subdirectories.
[FileList]
ExcludePattern=\.svn,\.cvs
The pattern does not match filenames or directories that contain .svn or .cvs in the middle of the string.
Example: Excluding Paths That End With .bak or .msi
You can exclude any path that ends with .bak or .msi.
[FileList]
ExcludePattern=*.bak,*.msi
VMware, Inc.
25
ThinApp Package.ini Parameters Reference Guide
Icon Parameter
The Icon parameter specifies the icon file to associate with a generated executable file. This icon appears in
the application, for example Microsoft Word, and in the files associated with the application, such as .doc
files.
Each application includes its own icon stored as a .ico file, within the .exe file of the application, or within
a .dll file.
The capture process attaches the icons to the executable files.
The application uses the main group icon from the executable file in the Source parameter and the
individual icon resource that the group icon points to.
Example: Using an Alternative Icon
You can modify the Icon parameter to use an alternative icon by specifying an executable file that differs
from the executable file in the Source parameter.
Alternative icons might be useful for third-party companies.
The OutDir parameter specifies the directory that stores the build.bat output. Do not modify the value of
this parameter.
Example: Specifying the BIN Directory for the Project
The static value of the OutDir parameter specifies the bin directory of the project.
[BuildOptions]
OutDir=bin
26 VMware, Inc.
RetainAllIcons Parameter
The RetainAllIcons parameter keeps all of the original icons of the executable file listed in the Source
parameter in the application.
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.
To save disk space, ThinApp sets an initial value that removes unused icons from the portion of the
executable file that is visible to the physical environment.
Example: Keeping All Original Icons of an Application
You can modify the RetainAllIcons parameter to keep all of the original icons of the application.
You can modify parameters for security tasks that define user access to packages and change Data Execution
Prevention (DEP) protection.
Permissions parameters are generally specified under the [build options] section.
This chapter includes the following topics:
“AccessDeniedMsg Parameter,” on page 29
n
“PermittedGroups Parameter,” on page 29
n
“UACRequestedPrivilegesLevel Parameter,” on page 30
n
“UACRequestedPrivilegesUIAccess Parameter,” on page 31
n
AccessDeniedMsg Parameter
The AccessDeniedMsg parameter contains an error message to display to users who do not have permission
to run a package.
ThinApp sets an default message that notifies the user to contact the administrator.
Example: Adding a Contact Number
You can modify the AccessDeniedMsg parameter to add a technical support number.
[BuildOptions]
PermittedGroups=Administrator;OfficeUsers
AccessDeniedMsg=You do not have permission to execute this application, please call support
@1-800-822-2992
PermittedGroups Parameter
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.
Active Directory Domain Services define security groups and distribution groups. This parameter only
supports nested security groups. For example, if a user is a member of security group A, and security group
A is a member of security group B, ThinApp can detect the user as a member of security group A and
security group B.
VMware, Inc.
29
Loading...
+ 67 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.