Virtual Converter Table Documentation for Microsoft App-V and VMware ThinApp
AdminStudio 2024 | 27.0 | Automated Application Converter
The following documentation lists settings that you can use to customize your conversion process.
• | Per package—You can use InstallShield to directly edit the ISVirtualPackage table to modify the settings referenced below. You could also use the App-V, ThinApp, or Citrix XenApp Assistants user interface to modify the settings. |
• | Per Automated Application Converter project—You can specify a limited set of options in Automated Application Converter’s Project Options dialog box, but you cannot edit tables directly. |
• | Globally for any conversion—You could edit the Settings.xml file to specify default values for many of the settings that can be specified in the ISVirtualPackage table. |
The table settings that you can edit to customize your conversion process are organized into the following sections:
• | General Settings |
• | Microsoft App-V Settings |
• | VMWare ThinApp Settings |
The following settings are applicable to all virtual technologies.
• | ISVirtualPackage Table |
• | ISVirtualRelease Table |
• | Miscellaneous Virtual Conversion Settings |
The ISVirtualPackage table is the main table that stores package-wide conversion settings. To edit this table, open the package in InstallShield and open the Direct Editor view. Also, if you make selections in the InstallShield Assistants, it will modify the settings in this table.
If you want to modify these settings globally, you need to edit the Settings.xml file, as described in Editing the Settings.xml File.
Setting Name |
Setting Value |
Meaning |
Provider |
Semicolon separated list of Thinstall, AppV, and Citrix |
Indicates virtual technologies to which to convert MSI packages. |
MSIFile0, MSIFile1, etc |
Absolute path to MSI |
Indicates other MSI packages to suite together with the current one into one package. |
VirtualPackageBuildOutputFolder |
Absolute path to a directory |
Instead of creating the converted virtual applications in a folder next to the source MSI, put them in a new folder under this specified location - this overrides the global redirect option in settings.xml. |
The ISVirtualRelease table stores the relationship between InstallShield project releases and the virtual package type you want to build. This table is only relevant when you are editing an InstallShield Basic MSI project (not when you are editing an MSI package in the DirectEdit mode). If you make the relevant selections in the Assistants, it will modify the settings in this table.
Note:The settings in this table cannot be specified in the Settings.xml file.
ISRelease_ |
ISProductConfiguration_ |
Name |
Value |
Meaning |
Key to ISRelease |
Key to ISProductConfiguration |
BuildVirtualPackage |
1 |
Build virtual package when associated release is built |
Key to ISRelease |
Key to ISProductConfiguration |
Provider |
Semicolon separated list of Thinstall, AppV, and Citrix |
Indicates virtual technologies to which to convert MSI packages |
Miscellaneous Virtual Conversion Settings
You can edit the following XML file to modify global settings that also govern the creation of virtual packages.
Location |
Name |
Value |
Meaning |
System\Msi.xml |
IgnoreTables |
MSI table names |
Control whether an error or warning is flagged for certain tables during conversion |
System\Msi.xml |
IgnoreCustomActions |
MSI custom action names |
List of custom actions that can safely be ignored during virtual conversion |
System\Msi.xml |
PropertyDefaults |
MSI property names with given values |
Default values to use for certain MSI properties rather than flagging them as warnings |
Support\0409\settings.xml |
GlobalBuildRedirectFolder |
Absolute directory path |
Instead of creating the converted virtual applications in a folder next to the source MSI, put them in a new folder under this specified location |
The ISVirtualPackage table is the main table that stores package-wide App-V conversion settings. To edit this table, open the package in InstallShield and open the Direct Editor view. Also, if you make selections in the InstallShield Assistants, it will modify the settings in this table.
Note:If you want to modify the setting in the ISVirtualPackage table globally, you can edit the Settings.xml file, as described in Editing the Settings.xml File
The other tables listed here (directory, file, registry, shortcut) store App-V conversion settings related to a particular item in the package, such as a particular shortcut, file, registry entry, or directory.
Note:The settings in these four tables cannot be specified in the Settings.xml file.
• | ISVirtualPackage Table |
• | ISVirtualDirectory Table |
• | ISVirtualFile Table |
• | ISVirtualRegistry Table |
• | ISVirtualShortcut Table |
The following are App-V settings in the ISVirtualPackage table.
Name |
Value |
Default |
Meaning |
AppVName |
|
Same as name of MSI |
Specify package name |
AppVServerURLHost |
|
|
Server location of SFT file |
AppVServerURLPort |
|
|
Server location of SFT file |
AppVServerURLProtocol |
RTSP, RTSPS, FILE, HTTP, or HTTPS |
|
Protocol to use to access SFT file location |
AppVRootFolderName |
|
8.3 name based on product name and version |
Specify root folder name |
AppVComments |
|
|
SFT file comments |
AppVOS |
Bitwise or of flags representing OS |
0 |
0 indicates OS independent. Otherwise, here is the OS list starting with bit 1: WinXP, WinXP64, Win2003Svr, Win2003TS, Win2003TS64, Win2008Svr, Win2008TS, Win2008TS64, WinVista, WinVista64, Win7, Win764, Win2008R2TS64 |
AppVDSC0, AppVDSC1, etc. |
Absolute path to OSD or SFT file [ : MANDATORY] |
|
Dynamic Suite Composition settings |
AppVNoCompression |
1 |
0 |
Compression setting - default is compressed |
AppVPackageOptimization |
Offline or Stream |
Stream |
Only the shortcut targets are put in feature block 1 (FB1) if Stream is selected. Otherwise the entire package is put in FB1. |
AppVUpgrade |
1 |
0 |
Enables creation of an upgrade package |
AppVUpgradePreviousPackage |
|
|
Absolute path to SFT from previous package that will be upgraded. |
AppVUpgradeLatest |
1 |
0 |
Will locate the most recently built App-V package based on modified timestamp on SFT files found in appropriately named sub-folders next to the MSI file. |
AppVUpgradeAppendPackageVersion |
1 |
1 |
Package version will be appended to the end of the SFT file name |
AppVDiagFileSystem |
1 |
0 |
Include File System Diagnostic tool - a shortcut is included to run cmd.exe from the physical System32 folder. This cmd.exe and any programs launched from it will have access to the virtual environment of the package |
AppVDiagRegistry |
1 |
0 |
Include Registry System Diagnostic tool - a shortcut is included to run regedit.exe from the physical Windows folder. It will have access to the virtual environment. |
AppVTestLauncher |
1 |
1 |
AppVLauncher.exe is copied next to the newly built App-V package. This tool can be used to easily test deploy App-V packages. |
BuildMSI |
1 |
0 |
Create a wrapper MSI file that can be used to deploy the App-V package |
AppVMsiWrapperCompress |
1 |
0 |
Compression setting for wrapper MSI |
AppVPrereq |
1 |
0 |
Set this option to include App-V client setup as a setup prerequisite for the wrapper MSI. It will be necessary to obtain a redistributable copy of the App-V client setup to use this feature. |
APPVLOADING |
1 |
0 |
Set this option to not include the SFT file in the wrapper MSI. The SFT file will be streamed from the server location specified in the OSD and manifest files. |
AppVNoSpacesInFileNames |
1 |
|
Will replace spaces in the SFT, OSD, and Icon file names with '_'. |
AppVSpaceReplacementString |
Some string |
|
Use together with setting AppVNoSpacesInFileNames property to 1. Any spaces in SFT, OSD, and Icon file names will be replaced by the string specified in the value of this property. If the string 'EMPTYSTRING' is used, then spaces will just be removed. |
AppVRuntimeDrive |
Drive letter such as M: |
Q: |
App-V client drive to use |
The following are App-V settings in the ISVirtualDirectory table.
Directory_ |
Name |
Value |
Meaning |
Key into Directory table |
AppVUserData |
1 |
If set, then treat this directory as user data. If unspecified, then default algorithm is used to determine whether to mark directory as user data or application data. |
Key into Directory table |
AppVOverride |
1 |
Override directory contents during upgrade |
The following are App-V settings in the ISVirtualFile table.
File_ |
Name |
Value |
Meaning |
Key into File table |
AppVUserData |
1 |
If set, then treat this file as user data. If unspecified, then default algorithm is used to determine whether to mark file as user data or application data. |
Key into File table |
AppVOverride |
1 |
Override file during upgrade |
The following are App-V settings in the ISVirtualRegistry table.
Registry_ |
Name |
Value |
Meaning |
Key into Registry table |
AppVOverride |
1 |
If set, virtual application will only see the registry key contents in the virtual package and no child keys that may be present on the physical machine. Otherwise, virtual application will see only values in the virtual package, but will see child keys present on the physical machine, if they are not also present in the virtual package. |
The following are App-V settings in the ISVirtualShortcut table.
Shortcut_ |
Name |
Value |
Meaning |
Key into Shortcut table |
AppVApplication |
0 |
A value of zero indicates that this shortcut will not be included in the converted App-V package. |
The ISVirtualPackage table is the main table that stores package-wide ThinApp conversion settings. To edit this table, open the package in InstallShield and open the Direct Editor view. Also, if you make selections in the Assistants, it will modify the settings in this table.
Note:If you want to modify the setting in the ISVirtualPackage table globally, you can edit the Settings.xml file, as described in Editing the Settings.xml File
The other tables listed here (directory, file, registry, shortcut) store ThinApp conversion settings related to a particular item in the package, such as a particular shortcut, file, registry entry, or directory.
Note:The settings in these four tables cannot be specified in the Settings.xml file.
• | ISVirtualPackage Table |
• | ISVirtualDirectory Table |
• | ISVirtualRegistry Table |
• | ISVirtualShortcut Table |
The following are ThinApp settings in the ISVirtualPackage table.
Name |
Value |
Default |
Meaning |
ThinRemoveSandboxOnExit |
1 |
0 |
Determines if sandbox is deleted when application exits |
ThinSandboxRemovableDisk |
1 |
0 |
Determines whether write operations to removable disks go to the disks or to sandbox |
ThinSandboxNetworkDrives |
1 |
0 |
Determines whether write operations to network drive go to network drive or to sandbox |
ThinSandboxName |
|
|
Name of directory that stores the sandbox |
ThinActiveDirectory |
1 |
0 |
Restrict access based on AD groups |
ThinPermittedGroups |
Semicolon separated AD group names |
|
Only users belonging in the specified local or domain groups will be able to run the application |
ThinAccessDeniedMsg |
|
|
Message to display when access is denied |
BuildMSI |
1 |
0 |
Build a MSI that will install and register ThinApp package |
ThinDisableTracing |
1 |
0 |
Disable ThinApp tracing |
ThinCompessionType |
None/Fast |
None |
Compression setting |
ThinDirectoryIsolationMode |
Merged, WriteCopy, or Full |
WriteCopy |
Controls whether write operations are directed to the sandbox or physical drive |
OptionalAppLinks |
Semicolon separated list of absolute paths to ThinApp package EXE or DAT files |
|
Used to establish optional AppLink relationship between ThinApp packages |
RequiredAppLinks |
Semicolon separated list of absolute paths to ThinApp package EXE or DAT files |
|
Used to establish required AppLink relationship between ThinApp packages |
AppSyncURL |
|
|
HTTP, HTTPS, or File URL to web server that hosts application updates |
AppSyncUpdatedMessage |
|
|
Message to display to user upon update |
AppSyncUpdateFrequency |
Minutes (m), hours (h), days (d), and 0 |
|
The frequency with which to check for updates |
AppSyncClearSandboxOnUpdate |
1 |
0 |
Determines whether to clear sandbox after update |
AppSyncExpirePeriod |
Minutes (m), hours (h), days (d), and never |
|
Number of days before application will stop working due to not being able to connect to server |
AppSyncWarningPeriod |
Minutes (m), hours (h), and days (d) |
|
Start of warning period. After this ThinApp will check for an update each time the application starts |
AppSyncWarningFrequency |
Minutes (m), hours (h), and days (d) |
|
Frequency of warnings to the user during the warning period |
AppSyncExpireMessage |
|
|
Message user sees when application cannot be run because it has failed to contact the server for the duration of the expiration period |
AppSyncWarningMessage |
|
|
Message user sees when application has not been able to contact the server for the duration of the warning period |
ThinDiagCmd |
1 |
0 |
Include File System Diagnostic tool |
ThinDiagReg |
1 |
0 |
Include Registry System Diagnostic tool |
The following are ThinApp settings in the ISVirtualDirectory table.
Directory_ |
Name |
Value |
Meaning |
Key to Directory table |
ThinIsolation |
1 for default, 2 for Full, 4 for WriteCopy, and 8 for Merged |
Sets isolation setting for a directory. Default setting is default (use overall package isolation setting) |
The following are ThinApp settings in the ISVirtualRegistry table.
Registry_ |
Name |
Value |
Meaning |
Key to Registry table |
ThinIsolation |
1 for default, 2 for Full, 4 for WriteCopy, and 8 for Merged |
Sets isolation setting for a registry key. Default setting is default (use overall package isolation setting) |
The following are ThinApp settings in the ISVirtualShortcut table.
Shortcut_ |
Name |
Value |
Meaning |
Key into Shortcut table |
ThinIsolation |
0 |
A value of zero indicates that this shortcut will not be included in the converted ThinApp package. |
Additional Settings
You can edit the following configuration files to further customize the conversion process of a ThinApp package.
Location |
Name |
Value |
Meaning |
System\Thinstall.xml |
AlwaysBuildDatFile |
true/false |
Always put the application payload in a DAT file - even with only one shortcut |
System\Thinstall.xml |
PreserveMostPackageIniSettings |
true/false |
Start with existing package.ini file from previous build instead of from template package.ini. This has the potential of preserving many user customizations made directly to package.ini file. |
System\Thinstall.xml |
CreateBuildBatFile |
true/false |
Copy a template BAT file into the Interim folder that can be used to rebuild the ThinApp package without running the full MSI conversion virtual build process |
System\Package.ini |
|
|
Template package.ini file used in the virtual build process that can be customized somewhat |
System\Thinapp.bat |
|
|
Template BAT file that can be used to build ThinApp package directly without running full virtual build process |
To edit the Settings.xml file, add a property element for each setting in the Virtualization/Properties section of the file. You can find the Settings.xml file in the following directory:
C:\Program Files\AdminStudio\2024\Repackager\Support\0409
Edit the following section of the file:
<Virtualization>
...
<Properties>
<!--Use this section to provide a global default for any setting
that is found in the ISVirtualPackage table-->
<!--<Property Name="AppVRuntimeDrive" Value="G:"/>-->
<!--<Property Name="AppVServerURLPath" Value="%PackageName%_v%PackageVersion%" />-->
</Properties>
</Virtualization>