InstallShield 2016
New Features
InstallShield includes the following new features.
New InstallShield Prerequisites for .NET Framework 4.5.1
InstallShield includes new InstallShield prerequisites that you can add to Advanced UI, Basic MSI, InstallScript, InstallScript MSI, and Suite/Advanced UI projects:
• | Microsoft .NET Framework 4.5.1 Full |
• | Microsoft .NET Framework 4.5.1 Web |
These prerequisites install the .NET Framework 4.5.1 on supported target systems.
Microsoft SQL Server 2014 Support
InstallShield now includes support for running SQL scripts on SQL Server 2014 database servers. In addition, InstallShield includes SQL Server 2014 in the predefined list of database servers that you can select when you are specifying in the SQL Scripts view the target database servers that your product supports.
If your installation targets SQL Server 2014, the SQLBrowse run-time dialog that is displayed when end users choose to browse for a database server can now list instances of SQL Server 2014, SQL Server 2014 Express, and SQL Server 2014 Express LocalDB. In addition, the SQLBrowse run-time dialog that is displayed when end users choose to browse for a database catalog can now list catalogs on the specified SQL Server 2014 database server.
This support is available in the following project types: Basic MSI, DIM, InstallScript, and InstallScript MSI.
Microsoft SQL Server 2014 Prerequisites
InstallShield includes several new SQL Server 2014–related InstallShield prerequisites that you can add to Advanced UI, Basic MSI, InstallScript, InstallScript MSI, and Suite/Advanced UI projects:
• | Microsoft SQL Server 2014 Express RTM (x64) |
• | Microsoft SQL Server 2014 Express RTM (x86 & x64Wow) |
• | Microsoft SQL Server 2014 Express RTM (x86) |
• | Microsoft SQL Server 2014 Express RTM LocalDB (x64) |
• | Microsoft SQL Server 2014 Express RTM LocalDB (x86) |
These InstallShield prerequisites install the technology on supported target systems.
New InstallShield Prerequisites for App-V 5.0 SP2
InstallShield includes new InstallShield prerequisites that you can add to Advanced UI, Basic MSI, InstallScript, InstallScript MSI, and Suite/Advanced UI projects:
• | Microsoft App-V 5.0 SP2 Desktop Client (x86) |
• | Microsoft App-V 5.0 SP2 Desktop Client (x64) |
The redistributable files for these InstallShield prerequisites are not available for download from within InstallShield, since you must obtain them from Microsoft. Once you obtain one of the redistributables from Microsoft, place it in the location that is displayed when you are editing the prerequisite in the InstallShield Prerequisite Editor.
New InstallShield Prerequisites for Microsoft Visual C++ 2012 Update 4
InstallShield includes new InstallShield prerequisites that you can add to Advanced UI, Basic MSI, InstallScript, InstallScript MSI, and Suite/Advanced UI projects:
• | Microsoft Visual C++ 2012 Update 4 Redistributable Package (x86) |
• | Microsoft Visual C++ 2012 Update 4 Redistributable Package (x64) |
These prerequisites install the various technologies on supported target systems.
Support for Checking for Updates from Maintenance Mode of Advanced UI and Suite/Advanced UI Installations
Advanced UI and Suite/Advanced UI installations now have support for enabling end users to check for updates to your product by clicking a new Update button on the maintenance wizard page. If an update is available from your Web site and the end user chooses to obtain it, the installation downloads it, verifies its digital signature, and launches it.
To use this functionality, your Advanced UI or Suite/Advanced UI project must have support for automatic updates. At build time, InstallShield creates a metadata file called isupdate.xml file and places it in an UpdateMetadata subfolder in your project’s build folder. This metadata file identifies the different versions of your Advanced UI or Suite/Advanced UI installation and their download locations. When you are ready to release the update for your product, you upload to your site this isupdate.xml file as well as your updated Advanced UI or Suite/Advanced UI installation.
At run time, if the end user is running maintenance mode, the Suite engine checks the metadata file for updates. If an update is available for download, the Suite engine sets the new ISUpdateAvailable property to 1 and displays a new MaintenanceUpdateWelcome wizard page, a maintenance wizard page that includes an Update button. In addition, the Suite engine sets the new ISUpdateVersion property equal to the version of the Suite/Advanced UI or Advanced UI installation that is available for download.
If an update is not available, the Suite engine displays the standard MaintenanceWelcome wizard page that does not have an Update button.
For more details, see:
• | Supporting Downloadable Updates for an Advanced UI or Suite/Advanced UI Installation |
• | Advanced UI and Suite/Advanced UI Property Reference |
Ability to Include Support Files in Subfolders
InstallShield now lets you specify custom folder structures for support files. To add a subfolder under one of the language-specific nodes or to the language-independent node in the Support Files view, right-click the node and then click New Folder. InstallShield adds a subfolder and enables you to rename it as needed. You can also add a nested folder structure. To add files to a subfolder, select it and right-click in the right pane, and then click Insert Files. At run-time, the installation copies the support folders and files to SUPPORTDIR, a temporary directory on target systems, to make them available during your product’s installation process. The support folders and files are deleted when the installation is complete.
The improved Support Files view is available in the following project types: Advanced UI, Basic MSI, Suite/Advanced UI, InstallScript, and InstallScript MSI.
To learn more, see Adding Support Files.
The automation interface also includes subfolder functionality for support files. The ISWiSetupFile object includes a new read-write Target property that you can use to specify or obtain the path of the support file’s target directory within SUPPORTDIR. For more information, see ISWiSetupFile Object.
Support for Deploying Web Deploy Packages to IIS Web Servers and the Cloud
Suite/Advanced UI installations now have built-in support for deploying Web Deploy packages to IIS Web servers and the cloud. The Web Deploy packages can be created through IIS or a Web application development environment such as Visual Studio.
To add a Web Deploy package to your Suite/Advanced UI project, use the Packages view. When you add a package and select it in the Packages view, InstallShield displays package-related settings in the right pane. The Configuration area on the Common tab of the right pane includes several configuration-related settings for Web Deploy, such as the destination—which is often a remote server—and credentials. In addition, the Configuration area also includes settings for the parameters that are defined in the Web Deploy package’s parameters XML file. By default, InstallShield uses Suite/Advanced UI properties for all of the configuration settings so that end users can set them at run time through the wizard interface or the command line.
When you add a Web Deploy package to your project, InstallShield adds a predefined Web Deploy wizard page to your project for that package. The Web Deploy wizard page enables the end user to specify whether the package will be deployed to a local IIS server, a remote server, or a cloud-based server. It also enables the end user to load the configuration settings from a publisher profile file (.publishsettings). If you want end users to be able to configure the parameters that are defined in your Web Deploy package’s parameters XML file, you can add controls to the wizard interface as needed, and associate those controls with the properties that are specified for the corresponding parameter settings in the Packages view.
Note that Web Deploy packages are typically intended to behave similarly to first-time installations or to install over existing earlier or identical versions. As a side effect, Web Deploy packages do not handle uninstallation. Thus, Suite/Advanced UI installations do not offer maintenance for this type of package. It is recommended that you avoid creating a Suite/Advanced UI installation that combines one or more Web Deploy packages with one or more traditional packages (that do offer maintenance) as primary packages.
This feature is available in the Premier edition of InstallShield.
For more information, see:
• | Adding a Web Deploy Package to a Suite/Advanced UI Project |
• | Packages View |
Support for Including InstallShield Projects as Packages in Suite/Advanced UI Projects
InstallShield now lets you add InstallShield projects (.ism) as packages in Suite/Advanced UI projects. The InstallShield projects can be either Basic MSI projects or InstallScript projects; the projects must have been saved in the same version of InstallShield as the Suite/Advanced UI project.
When you start a build of a release for a Suite/Advanced UI project that includes one or more InstallShield project packages, InstallShield first builds the designated releases in the associated InstallShield projects, and includes them as packages in the Suite/Advanced UI installation that it generates. InstallShield adds the output of the Basic MSI and InstallScript projects to the Suite/Advanced UI installation as .msi and .hdr packages.
Use the Packages view to add an InstallShield project as a package in your Suite/Advanced UI project. This view is also where you identify which product configuration (for a Basic MSI project package) and which release (for both Basic MSI project packages and InstallScript project packages) that you want to include as a package in the Suite/Advanced UI project.
This feature is available in the Premier edition of InstallShield.
For more information, see:
• | Adding an InstallShield Project (.ism) as a Package in a Suite/Advanced UI Project |
• | Packages View |
Support for InstallScript Actions in Suite/Advanced UI Installations
Suite/Advanced UI installations now have built-in support for launching InstallScript actions to perform various run-time tasks that are outside the scope of the packages that you are including in the installation. These Suite/Advanced UI–based InstallScript actions function much like InstallScript custom actions in Basic MSI projects.
You can use the InstallScript view that is available now in Suite/Advanced UI projects to add InstallScript files (.rul) to your project and write functions using the InstallScript language. To have your Suite/Advanced UI action call an InstallScript function, you must prototype the function with the export keyword, just as you would for InstallScript custom actions in Basic MSI projects.
Once you have added InstallScript code to your project, use the Events view to add an InstallScript action that calls your code. Next, you can schedule when at run time you want the action to be launched. For example, you can use the Events view to schedule an InstallScript action to run during one or more of the built-in events that the Suite/Advanced UI engine manages.
Note that there are some limitations to the use of InstallScript in Suite/Advanced UI projects. For example, InstallScript UI–related functions and InstallScript run-time path variables (such as PROGRAMFILES and WINDIR) are not available for use in a Suite/Advanced UI project.
This feature is available in the Premier edition of InstallShield.
To learn more, see:
• | Using Actions to Extend the Behavior of a Suite/Advanced UI Installation |
• | Working with an Action that Runs InstallScript Code in a Suite/Advanced UI Installation |
• | Configuring a Suite/Advanced UI Action’s Settings |
• | Scheduling a Suite/Advanced UI Action |
• | Suite/Advanced UI and Advanced UI Interaction Functions |
Support for Managed-Code Actions in Suite/Advanced UI Installations
Suite/Advanced UI installations now have built-in support for launching managed-code actions to perform various run-time tasks that are outside the scope of the packages that you are including in the installation. The new action type calls a public method in a .NET assembly that is written in managed code such as Visual Basic .NET or C#. These Suite/Advanced UI–based InstallScript actions are functionally equivalent to DLL actions in Suite/Advanced UI installations. That is, Suite engine looks for one parameter on the managed function that it calls. This parameter is an ISuiteExtension interface passed as a System.Object. The return type should be of some 32-bit integer type.
To add a managed-code action to a Suite/Advanced UI project, use the Events view.
This feature is available in the Premier edition of InstallShield.
For more information, see:
• | Using Actions to Extend the Behavior of a Suite/Advanced UI Installation |
• | Working with a Managed-Code Action in a Suite/Advanced UI Installation |
• | Configuring a Suite/Advanced UI Action’s Settings |
• | Scheduling a Suite/Advanced UI Action |
Ability to Launch Suite/Advanced UI Event Actions that End Users Trigger When Using Wizard Interface Controls
Suite/Advanced UI installations include support for run-time actions that are defined in the Events view and that are launched when an end user clicks or performs some other action on a wizard interface control. For example, this capability enables your installation to run executable files, call DLL functions, run InstallScript code, call managed methods in a managed assembly, run PowerShell scripts, or set a Suite/Advanced UI property when an end user clicks a button in the wizard interface.
To add an action to your project, use the Events view.
To schedule an action to run when a wizard interface control is clicked or used, select the control that you want to configure in the Wizard Interface view, and then use the Click setting or an action-related setting under the Events setting to select the action that you want to launch.
This feature is available in the Premier edition of InstallShield.
For more details, see:
• | Configuring an Action for an Element in the Wizard Interface |
• | Using Actions to Extend the Behavior of a Suite/Advanced UI Installation |
Ability to Launch Suite/Advanced UI Actions When Wizard Pages and Windows Are Shown or Hidden
Suite/Advanced UI installations include support for run-time actions that are launched when a wizard page or secondary window is opened or closed. This capability enables your installation to perform any initialization such as dynamically retrieving values for a combo box. It also lets you schedule actions to occur before the wizard interface is displayed at run time.
To add an action to your project, use the Events view.
To schedule an action to run when a wizard page opens or closes, select the wizard page that you want to configure in the Wizard Interface view, and then select the appropriate action in the Page Entered setting or the Page Exited setting.
To schedule an action to run when a secondary window opens or closes, select the secondary window that you want to configure in the Wizard Interface view, and then select the appropriate action in the Window Entered setting or the Window Exited setting.
This feature is available in the Premier edition of InstallShield.
For more details, see:
• | Configuring an Action for an Element in the Wizard Interface |
• | Using Actions to Extend the Behavior of a Suite/Advanced UI Installation |
New Property for Preventing Passwords from Being Written in Advanced UI and Suite/Advanced UI Installation Log Files
If you launch an Advanced UI or Suite/Advanced UI Setup.exe file with the /debuglog parameter, the Suite engine generates a debuglog file. By default, the debug log file includes the values of changed Advanced UI or Suite/Advanced UI properties.
In some cases, you may want to prevent the Suite engine from writing the values of specific properties to the debug log file. For example, you may want to prevent properties that contain passwords and other sensitive information from being logged. To enable this scenario, Advanced UI and Suite/Advanced UI installations support a new property called ISHiddenProperties. You can set this property to a semicolon-delimited list of case-sensitive property names whose values you do not want to be written to debug log files.
Note that ISHiddenProperties is useful for prevention of logging only for values that would be logged by changing the property value. If the property is logged any other way (such as through ISuiteExtension::LogInfo), the Suite engine cannot prevent the logging. Therefore, any code that you create to write a property value to the log file should read ISHiddenProperties to see whether the property value should be logged.
For more information, see Preventing a Property Value from Being Written in Advanced UI and Suite/Advanced UI Debug Log Files.
Enhanced Substitution Syntax for Advanced UI and Suite/Advanced UI Projects
Various areas of Advanced UI and Suite/Advanced UI projects include support for enclosing property names in square brackets to indicate that the properties should be replaced with appropriate values at run time. The run-time syntax has been enhanced to support several additional types of substitution:
• | Special characters—Preceding a special character with a backslash and enclosing the resulting string in square brackets resolves the special character at run time. For example, an entry such as [\[]Text[\]] resolves as [Text]. |
• | Null character—A tilde that is enclosed in square brackets—that is, [~]—resolves as a null character embedded in the string. |
• | Environment variables—Preceding the name of an environment variable with a percent sign and enclosing the resulting string in square brackets resolves the environment variable at run time. For example, [%PATH] resolves as the value of the PATH environment variable. |
• | Recursive property resolution—Surrounding a property resolution with additional square brackets resolves the resolved value of a property. For example [[PROPERTY1]] resolves to the value of the property whose name is stored in PROPERTY1; if PROPERTY1 holds PROPERTY2, the resolved value is the value stored in PROPERTY2. |
For more information, see Using Formatted Expressions that Advanced UI and Suite/Advanced UI Installations Resolve at Run Time.
Support for Removing Files and Folders
InstallShield now has built-in support that makes it easy to specify files and folders that you want to be removed from target systems at run time. This file and folder removal capability is useful for scenarios such as removing application-created files that your installation does not otherwise track.
You can schedule the removal of a file or folder for one of the following events:
• | When the file or folder’s component is being installed |
• | When the file or folder’s component is being uninstalled |
• | When the file or folder’s component is being installed or uninstalled |
Note that if the item to be removed is a folder, that folder is removed only if it is empty.
InstallShield offers different methods for configuring a file or folder removal in a project:
• | In the Files and Folders view, select the destination folder that contains the file or folder that you want to be removed. Then right-click in the Destination computer’s files pane and click Add File Removal. |
• | In the Setup Design view (in installation projects) or the Components view, expand the node of the component that contains the file or folder that you want to be removed, and then click the Files subnode. Next, right-click in the Files pane and click Add File Removal. |
With both methods, InstallShield displays a Properties dialog box that lets you configure the available removal settings.
Previously, the only way to indicate which files and folders should be removed was to use the Direct Editor view to manually author entries in the RemoveFile table.
This feature is available in the following project types: Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, MSM Database, and Transform.
To learn more, see:
• | Removing Files and Folders from Target Systems |
• | File Removal Properties Dialog Box |
The automation interface includes a new ISWiRemoveFile object and a new ISWiRemoveFiles collection for removing files and folders. In addition, three new member methods are applicable to the ISWiComponent object: AddRemoveFile, which enables you to add a file removal entry to the current component; RemoveRemoveFile, which enables you to remove a file removal entry from the current component; and ISWiRemoveFiles, which returns an ISWiRemoveFiles collection that contains all of the file removal entries that are associated with the current component.
These automation interface improvements are available in the following project types: Basic MSI, InstallScript MSI, and Merge Module.
For more details, see:
• | ISWiRemoveFile Object |
• | ISWiRemoveFiles Collection |
• | AddRemoveFile Method |
• | RemoveRemoveFile Method |
• | ISWiRemoveFiles Method |
• | ISWiComponent Object |
Support for DPI-Aware Installations
InstallShield now lets you create DPI-aware installations that can scale run-time user interface elements properly across modern target systems that have various high-DPI display settings, making your installation’s user interface more consistent and visually appealing. The support that is available and the improvements that have been made vary, depending on the project type that you are using.
Advanced UI and Suite/Advanced UI Projects
DPI-awareness in Advanced UI and Suite/Advanced UI projects has two parts:
• | Items that are drawn by the engine are scaled according to the target system’s DPI settings. Thus, if a target system has a DPI of 200%, the check box control is scaled accordingly. |
• | The engine considers the scale factor and language when displaying images and other resources that you are including in the wizard interface. |
For example, when the engine determines that the scale factor should be 150 and that the appropriate language is English, it looks for resources that have the string scale-150 in their path or file name. It searches the following paths in the order listed when searching for image.png on the target system:
1. | [SUPPORTDIR]0409\scale-150\image.png |
2. | [SUPPORTDIR]0409\image.scale-150.png |
3. | [SUPPORTDIR]0409\image.png |
4. | [SUPPORTDIR]scale-150\image.png |
5. | [SUPPORTDIR]image.scale-150.png |
6. | [SUPPORTDIR]\image.png |
Note that matching the language takes precedence over matching the correct DPI.
InstallShield includes scale-150 and scale-200 images for the built-in default images that are included in Advanced UI and Suite/Advanced UI projects. If you want to include custom resources in your project, use the Support Files view to add appropriately scaled images.
InstallScript and InstallScript MSI Projects
DPI-awareness in InstallScript and InstallScript MSI projects has the following parts:
• | All of the built-in default dialog images have been replaced with images that scale well to 200%. |
• | The static dialog controls that have a control ID of 1200 now include support for .png images, which allow for transparency. This applies to the computer image that is displayed by default on the left side of the exterior skinned dialogs such as the Welcome dialog. It also applies to the banner images on interior dialogs. |
In addition, these same controls support a new format for identifying each image and its associated scale factor:
@@ResourceID;ScaleFactor
ResourceID indicates the resource identifier number that should be used to look up either a .png image (stored as resource type PNG) or a bitmap image (stored as resource type RT_BITMAP). ScaleFactor indicates the DPI scale percentage for which the image is intended.
For example, this can be 100% (96 DPI), 125% (120 DPI), 150% (144 DPI), or 200% (192 DPI). If the scale factor that is specified for an image is 200, the image will be shrunk down for display on target systems that are running less than 200% DPI scaling. On a 200% target system, it will be displayed at 1:1. If the scale factor that is specified for the image is 100, the image will be scaled up for display on target systems that are running 200% DPI scaling.
The previous format for identifying bitmap images (.bmp) still works, but it does not have support for scaling, or for .png images:
@BitmapResourceID;TransparentFlag;3-DFlag;<unused>;TransparentColorKey
• | The new image string format is now used by default on all ID 1200 static controls for the dialog header banner and for exterior panel icon images. If you upgrade an InstallScript or InstallScript MSI project to InstallShield 2016 and you edited the dialogs in the earlier version of InstallShield, you will need to edit the image string to use the new format for all of the languages that your project supports. |
• | The InstallScript function SdOptionsButtons has been updated to include support for the new string format for identifying images: |
@@ResourceID;ScaleFactor
Previously, the following format was used:
@BitmapResourceID;BitmapIconFlag;TransparentColor
• | The nItem parameter for the InstallScript function GetSystemInfo includes support for two new constants: |
• | SYSTEM_DPI—This returns the system DPI value in the nvResult parameter. |
• | SYSTEM_DPI_SCALING—This returns the system DPI scaling value in the nvResult parameter. |
To learn more, see:
• | GetSystemInfo |
• | SdOptionsButtons |
• | Background About the Default Images on Dialogs in InstallScript and InstallScript MSI Projects |
Basic MSI Projects
The built-in images that are displayed on dialogs that the Setup.exe launcher displays at run time have been replaced with images that scale well to larger areas. This includes images that are displayed on the initialization dialog.
Support for Distributing Your Installation to Virtual Machines that InstallShield Provisions at Build Time or on Demand
You can configure your projects so that after each successful build of your installation, InstallShield automatically reverts a virtual machine (VM) to a designated snapshot, powers on the VM, and copies your installation to the VM to make it available for testing. You can also alternately perform these testing preparation steps on demand at any time. The testing preparation capability makes it possible to reduce testing time and eliminate manual steps.
The VM can be on a Microsoft Hyper-V Server, a VMware ESX or ESXi Server, or a VMware Workstation.
To specify VM information, use the Virtual Machine area on the Events tab for a release in the Releases view. One of the settings lets you specify whether you want the release to be distributed to the specified VM each time that it is successfully built.
To distribute the release to the VM at any time, right-click the release in the Releases view and then click Distribute to VM.
Note that when you use the Configuration setting on the Events tab to configure VM details, InstallShield writes the data that you specify to a file called VMConfigurations.xml. This VMConfigurations.xml file is a machine-wide file that you can configure once and then use it in other InstallShield projects, as well as share it with other team members. You can also use this file with the Standalone Build.
In order to deploy to one of the supported VMs, InstallShield needs to communicate with the virtualization technology that you are using. If you are using VMware virtualization technology (VMware ESX or ESXi Server or VMware Workstation), the VMware VIX API needs to be installed on the same machine as InstallShield. You can do this by either installing VMware Workstation on that machine or by downloading and installing the VMware VIX API from http://www.vmware.com/support/developer/vix-api.
If you are using VMware Workstation, it is recommended that you install VMware Workstation on the same machine as InstallShield so that InstallShield uses the version of the VIX API that was designed for that specific version of VMware Workstation. Although it is likely that newer versions of the VIX API will also work, it seems that the best approach is for InstallShield to use the version of the VIX API that was bundled with your version of VMware Workstation.
This feature is available in the following project types: Basic MSI, InstallScript, InstallScript MSI, and Suite/Advanced UI.
This feature is available in the Premier edition of InstallShield.
To learn more, see the following:
• | Distributing Releases to a Virtual Machine that InstallShield Provisions at Build Time or on Demand |
• | Events Tab for a Release |
• | Edit Virtual Machine Configurations Dialog Box |
• | Sharing Virtual Machine Settings for Distribution of Releases |
Enhancements
InstallShield includes the following enhancements.
Usability Improvements for Populating Combo Box and List Box Controls in Advanced UI and Suite/Advanced UI Projects
InstallShield lets you add combo box controls and list box controls to wizard pages and secondary windows of Advanced UI and Suite/Advanced UI projects. The process of creating either one of these types of controls involves the use of two properties: one that defines the list of options that you want to display in the control, and one that the installation uses to store the option that the end user selects at run time. Now you can configure both of those properties entirely from within the Wizard Interface view in InstallShield, instead of having to use the Wizard Interface view and the Property Manager view.
In the Wizard Interface view, the Content Property setting of the combo box or list box control now contains an ellipsis button (...) that you can click when you want to define the list of options that you want to display in the control. When you click this button, a simple Edit List Options dialog box opens, enabling you to specify the list of options that you want to display in the selected control, as well as an associated value.
Previously, it was necessary to use the Property Manager view to define the property that contained the list of options, as well as their corresponding property values. The format that was required for defining the property (for example, ID_Option1\rValue1\nID_Option2\rValue2\nID_Option3\rValue3) was difficult to remember and error-prone.
To learn more, see:
• | Populating Combo Box and List Box Controls in the Wizard Interface |
• | Edit List Options Dialog Box |
Run-Time Improvements for Browsing to a File or Folder in Advanced UI and Suite/Advanced UI Installations
Several improvements for enabling end users to browse to a file or folder are now available in Advanced UI and Suite/Advanced UI installations:
• | A new Browse for New File action is available for controls on wizard pages and secondary windows. If you add this action to the Click event of a control such as a button and an end user clicks the button, a browse dialog box opens, enabling the end user to specify a new file and its location. |
When you add this type of action to a control in your project, you can specify the text for the title bar of the dialog box. You can also specify the file extension filter options that you want to be available for selection, as well as the default file extension that should be used when creating the file.
• | The existing Browse for Folder action has been enhanced. The Browse for Folder dialog box that this action launches accepts only locations that have file system equivalents. That is, the OK button on this dialog box remains disabled if the end user selects a location such as This PC or My Computer. Previously, end users were able to select such locations, and doing so cleared the value of the associated property. |
When you add this type of action to a control in your project, you can specify the instructions that you want to be displayed on this Browse for Folder dialog box.
• | The existing Browse for File action has been enhanced to enable you to specify the file extension filter options that you want to be available for selection on the file browse dialog box. |
For more details, see Configuring an Action for an Element in the Wizard Interface.
Support for Offering Printer Selection for the LicenseAgreement Dialog at Run Time
The behavior of the Print button on LicenseAgreement dialogs has been enhanced. Instead of printing directly to the default printer when an end user clicks the Print button, the printer selection dialog box now opens.
This enhancement is available in the following project types: Basic MSI, InstallScript, InstallScript MSI.
Advanced UI and Suite/Advanced UI projects already have this capability.
Ability to Insert Text in Text Files
The Text File Changes view enables you to configure changes that you want to be made to text files at run time on target systems. The text files can be part of your installation, or they can be files that are already present on target systems. The Text File Changes view has been improved to enable you to insert text at the beginning or end of one or more files. It also now lets you insert text before or after specified text. When you are configuring text file changes in this view, use the new Action setting to specify whether you want to replace existing text, insert text before or after existing text, or insert text at the beginning or end of files.
Previously, the Text File Changes view had support for replacing existing text in text files at run time.
This enhancement is available in the following project types: Basic MSI, DIM, InstallScript MSI, Merge Module, MSI Database, Transform.
For more information, see:
• | Modifying Text Files |
• | Text File Changes View |
Support for Enabling End Users to Choose to Which Installed Instances of an Earlier Version of a Product to Apply a Major Upgrade
The multi-instance support in Basic MSI projects now includes support for major upgrades. At run time, the instance selection dialog that the Setup.exe setup launcher displays lets end users view a list of all of the currently installed instances of the product, including different major versions of the product that are installed. End users can now use this improved instance dialog to install a new instance, maintain an existing instance, or apply a major upgrade for an instance.
Previously, the only instances that the instance selection dialog listed were ones that shared the same product code as the running multi-instance installation.
To learn more, see:
• | Configuring and Building a Major Upgrade that Includes Multiple-Instance Support |
• | Setting Properties for an Instance |
• | Run-Time Behavior for Installing Multiple Instances of a Product |
Ability to Create Microsoft App-V 5.x Packages on Additional Platforms
The Microsoft App-V Assistant in InstallShield includes support for creating virtual applications in the Microsoft App-V 5.x format. The Package Information page in this assistant lets you specify which version of App-V—5.x or 4.x—you want to target. Now you can build an App-V 5.x package in InstallShield on any version of Windows that InstallShield supports. Previously, Windows 8 or Windows Server 2012 was required.
For information, see:
• | Components of an App-V Package |
• | Build Output for App-V Packages |
Enhanced File Open Run-Time Dialog for Basic MSI Installations
InstallShield includes support for launching the Open dialog from one of the dialogs in your Basic MSI installation. End users click a browse button in one of your dialogs, and this launches the Open dialog. The Open dialog lets the end user browse for a file. You can now optionally use the new property IS_BROWSE_INITIALDIR to specify the default path that is displayed in this dialog at run time. Previously, the dialog displayed the path to which the end user last browsed.
To learn more, see Launching a File Open Dialog.
New FlexNet Connect 13.06 Redistributables Available
InstallShield includes support for FlexNet Connect 13.06 in Basic MSI and InstallScript MSI projects. Use the Update Notifications view in InstallShield to include one of the two FlexNet Connect 13.06 merge modules—one has the Common Software Manager, and the other does not.
See Also
Upgrading Projects from InstallShield 2013 or Earlier
InstallShield 2016 Help LibraryAugust 2016 |
Copyright Information | Flexera Software |