Convert InstallScript MSI Dialog Box

InstallShield 2015

The Convert InstallScript MSI dialog box lets you convert an InstallScript MSI project to an InstallScript project. An InstallScript project offers the advantages of InstallScript MSI—such as dialog box skins, a flexible end-user interface, and a powerful scripting model—without any of the limitations or overhead of Windows Installer.

This dialog box is displayed when you select the Project menu’s Convert to InstallScript Project command.

If you click Yes, most project elements are converted, many with no change. The following changes take place (the conversion process issues many messages to let you know what is happening):

INSTALLDIR is changed to TARGETDIR in the following IDE elements:
Component destinations
Path specifications in the Files and Folders view
Target specifications in the Shortcuts view

Note that the value of TARGETDIR must be set in your script, as it is in the following default code in the OnFirstUIBefore event handler function:

if ( ALLUSERS ) then

    TARGETDIR = PROGRAMFILES ^ IFX_COMPANY_NAME ^ IFX_PRODUCT_NAME;

else

    TARGETDIR = FOLDER_APPDATA ^ IFX_COMPANY_NAME ^ IFX_PRODUCT_NAME;

endif;

A new product code is generated.
A registry set is created for each component that had registry data associated with it.
Each component with multiple dynamic file links is split into multiple components with one dynamic file link in each.
The script file Setup.rul is renamed OldSetup.rul and is displayed in the InstallScript view. Note that no changes are made to this script file.
Warnings are issued for the following unsupported items:
Unsupported folder specifiers in path specifications in the Files and Folders view, or destinations or target specifications in the Shortcuts view
Win32 assemblies that are associated with components
Global assembly caches that are associated with components
Registry value names that contain a hyphen (-) or asterisk (*)
Advertised shortcuts
Folders under the Support Files view’s Disk1 folder
Merge modules (you can re-include these in the converted project from the Objects view)
Unsupported MSI tables that contain data

Releases and your scripts are not converted. At a minimum, you need to modify your scripts to set TARGETDIR, as mentioned above, change all INSTALLDIR references to TARGETDIR, and remove calls to Windows Installer API functions (whose names begin with Msi). Furthermore, the obsolete string entry PRODUCT_NAME is not converted; IFX_PRODUCT_NAME can be used instead.

Note that setting SHELL_OBJECT_FOLDER in OnFirstUIBefore is not necessary and the default script line SHELL_OBJECT_FOLDER = @PRODUCT_NAME; should be deleted.

The following Windows Installer folder specifiers are not supported in InstallScript projects:

ALLUSERSPROFILE
AdminToolsFolder
AppDataFolder
CommonAppDataFolder
CommonFiles64Folder
FavoritesFolder
FontsFolder
GlobalAssemblyCache
LocalAppDataFolder
MyPicturesFolder
PersonalFolder
PrimaryVolumePath
ProgramFiles64Folder
SendToFolder
System16Folder
System64Folder
TempFolder
TemplateFolder
USERPROFILE
WindowsVolume

In addition, the following folder specifiers are not supported for shortcut destinations:

ProgramFilesFolder
CommonFilesFolder
WindowsFolder
SystemFolder