Advanced Table Settings for Conversion to Microsoft App-V
InstallShield 2024
You can customize your virtual conversion process in the following ways:
• | Per package—You can use InstallShield to directly edit the ISVirtualPackage table to modify the settings referenced below. You can also use the App-V Assistant user interface to modify the settings. |
• | Globally for any conversion—You can edit the Settings.xml file to specify default values for many of the settings that can be specified in the ISVirtualPackage table. |
In addition to editing the ISVirtualPackage table, you can also edit other tables (directory, file, registry, shortcut) that store App-V conversion settings related to a particular item in the package, such as a particular shortcut, file, registry entry, or directory.
Information about customizing table settings for your App-V conversion process are organized into the following sections:
• | ISVirtualPackage Table |
• | ISVirtualRelease Table |
• | ISVirtualDirectory Table |
• | ISVirtualFile Table |
• | ISVirtualRegistry Table |
• | ISVirtualShortcut Table |
• | Miscellaneous Virtual Conversion Settings |
• | Editing the Settings.xml File |
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. However, the settings in the ISVirtualDirectory, ISVirtualFile, ISVirtualRegistry, and ISVirtualShortcut tables cannot be specified in the Settings.xml file.
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.
The following are App-V settings in the ISVirtualPackage table.
Name |
Value |
Default |
Meaning |
AppVComments |
|
|
SFT file comments |
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. |
AppVDSC0, AppVDSC1, etc. |
Absolute path to OSD or SFT file [ : MANDATORY] |
|
Dynamic Suite Composition settings |
AppVFullVFSWriteMode |
1 |
0 |
Set to enable full VFS Write mode. Note:This setting only applies for App-V 5.x packages. |
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. |
AppVMsiWrapperCompress |
1 |
0 |
Compression setting for wrapper MSI |
AppVName |
|
Same as name of MSI |
Specify package name |
AppVNoCompression |
1 |
0 |
Compression setting - default is compressed |
AppVNoSpacesInFileNames |
1 |
|
Will replace spaces in the SFT, OSD, and Icon file names with '_'. |
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 |
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. |
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. |
AppVRootFolderName |
|
8.3 name based on product name and version |
Specify root folder name |
AppVRuntimeDrive |
Drive letter such as M: |
Q: |
App-V client drive to use |
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 |
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. |
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. |
AppVUpgrade |
1 |
0 |
Enables creation of an upgrade package |
AppVUpgradeAppendPackageVersion |
1 |
1 |
Package version will be appended to the end of the SFT file name |
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. |
AppVUpgradePreviousPackage |
|
|
Absolute path to SFT from previous package that will be upgraded. |
AppVv5ComInprocess |
1 |
0 |
Set to 1 to enable in-process COM interaction. Com Interaction has to also be enabled for this option to have effect. Note:This setting only applies for App-V 5.x packages. |
AppVv5ComInteraction |
1 |
0 |
Set to 1 to enable COM interaction. Note:This setting only applies for App-V 5.x packages. |
AppVv5ComOutofprocess |
1 |
1 |
Set to 1 to enable out-of-process COM interaction. Com Interaction has to also be enabled for this option to have effect. Note:This setting only applies for App-V 5.x packages. |
AppVv5EnableBrowserHelperObjects |
0 |
1 |
Set to 0 to disable browser helper objects. Note:This setting only applies for App-V 5.x packages. |
AppVv5NamedObjectsInteraction |
1 |
0 |
Set to 1 to enable named objects interaction. Note:This setting only applies for App-V 5.x packages. |
BuildMSI |
1 |
0 |
Create a wrapper MSI file that can be used to deploy the App-V package |
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. |
Note:If you want to modify these settings globally, you need to edit the Settings.xml file, as described in Editing the Settings.xml File.
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 |
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. |
Manually Adding an Entry to the ISVirtualShortcut Table
Typically the target version in an OSD file is automatically determined during conversion to App-V 4.x package format. The version of the shortcut target file is used, or if the target file does not have a version, then a default value of ‘1.0’ is used. To set a custom version, you can manually add an entry to the ISVirtualShortcut table.
To manually populate the ISVirtualShortcut table using the InstallShield Editor:
1. | Open the Direct Editor view. |
2. | Select the ISVirtualShortcut table and click New to add a new record. |
3. | Enter the following values: |
• | For Shortcut, enter the key of the shortcut. |
• | For Name, enter the property name which is AppVTargetVersion. |
• | For Value, enter the desired version number. |
4. | Click OK. |
Note:This setting only has effect for App-V 4.x conversion.
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 |
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:
[InstallShield Installation Directory]\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>