What’s New in InstallShield 2018

For information about new features added in InstallShield 2018, refer to the following sections:

Specify Uninstallation Order of Packages in a Suite Project
Method to Run a Suite Installation with Minimum UI
Conditionally Set the Visibility of a Feature at Run Time
Perform Recursive or Non-Recursive IIS Registration
Set Forms Authentication on Web Applications
New Option to Control Whether to Load User Profile for an Application Pool Entity
Add Kill Process and PowerShell Custom Actions to a Transform Project
Enhancements

Specify Uninstallation Order of Packages in a Suite Project

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

In InstallShield 2018, you can now specify the uninstallation order of packages in a suite project using the new Uninstallation Order property on the Setup.exe tab of the Releases view.

You can use this setting to specify the uninstallation order of the packages in a suite project by selecting one of the following options:

Same as Packages Order—Uninstall the packages in the same order that packages were installed (as defined in the project).
Reverse of Packages Order—Uninstall the packages in the reverse order that packages were installed (as defined in the project).

New UninstallOrder Method in Automation Interface

You can use the UninstallOrder method in the automation interface to set the Uninstallation Order property. Specify one of the following values:

euoForward(0)—Uninstall the packages in the same order that packages were installed (as defined in the project).
euoReverse(1)—Uninstall the packages in the reverse order that packages were installed (as defined in the project).

Method to Run a Suite Installation with Minimum UI

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

In InstallShield 2018, you can now use a new command line parameter to run a suite installation in minimum UI mode, only displaying a progress panel.

To run a suite installation in minimum UI mode, use the /passive parameter in the command line:

Setup.exe /passive

To uninstall using a minimum UI mode, use the following command:

Setup.exe /passive /remove

Conditionally Set the Visibility of a Feature at Run Time

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

In previous releases, you could set the Visible property of a feature in an Advanced UI or Suite/Advanced UI installation to Yes or No specify whether the feature should be visible on the InstallationFeatures wizard page of the installer.

In InstallShield 2018, you can conditionally show or hide a feature based upon a property at run time using the new Condition option under the Visible property on the Features view of the Installation Designer.

You can use the Condition setting to specify one or more conditions that the Advanced UI or Suite/Advanced UI installation should use to evaluate whether the feature should be visible for installation by default on the InstallationFeatures wizard page.

For example, if you want a particular feature to be visible by default on target systems that have a particular version of Windows, you can create a condition that specifies that version of Windows.

To conditionally display a feature in an Advanced UI or Suite/Advanced UI installation:

1. On the Features view, click in the Condition row under the Visible property. A green plus sign, the New Condition button, appears at the end of the row.
2. Click the New Condition button. A new row is added under the Condition row.
3. Click the down arrow next to the New Condition button and select the appropriate option—All, Any, or None—from the list.
4. Then in the same row, click the New Condition button, and select the appropriate option to continue building the conditional statement.

If one or more conditional statements are configured, the Condition property lists (Condition). If none are configured, the Condition property lists (Empty).

New Methods in Automation Interface to Support Conditional Visibility

The following new methods have been added to the automation interface to enable you to conditionally set the visibility of a feature at run time:

Method

Syntax

AddVisibleCondition

AddVisibleCondition() As ISWiSuiteCondition

DeleteVisibleCondition

DeleteVisibleCondition()

VisibleCondition

Read-only object property

Perform Recursive or Non-Recursive IIS Registration

Project:This information applies to the following project types:

Basic MSI
DIM
InstallScript
InstallScript MSI
Merge Module

A new option named ASP.NET Registration has been added to the Application settings on the Internet Information Services view that enables you to perform recursive or non-recursive ASP.NET registration. Using this feature enables you to install both ASP.NET applications and ASP.NET Core applications to the same website.

To set the ASP.NET application registration option with Internet Information Services (IIS), set the ASP.NET Registration property to one of the following options:

Recursive—Updates script maps and application-pool assignments for the specified application and for all sub-applications.
Non Recursive—Updates script maps and application-pool assignments for only the specific application. No sub-applications are changed.

Set Forms Authentication on Web Applications

Project:This information applies to the following project types:

Basic MSI
InstallScript MSI

InstallShield 2018 includes a new option to set forms authentication on web applications. This new option, Forms Authentication, is displayed under the Authenticated Access section of the Internet Information Services view for a website.

Set the Forms Authentication option to Yes to enable forms authentication. ASP.NET forms-based authentication works well for sites or applications on public Web servers that receive many requests. This authentication mode lets you manage client registration and authentication at the application level, instead of relying on the authentication mechanisms provided by the operating system.

Important:Forms authentication sends the user name and password to the Web server as plain text. You should use Secure Sockets Layer (SSL) encryption for the Log On page and for all other pages in your application except the Home page.

New Option to Control Whether to Load User Profile for an Application Pool Entity

Project:This information applies to the following project types:

Basic MSI
InstallScript MSI

In InstallShield 2018, there is a new Application Pool settings property on the Internet Information Services view, named Load User Profile, that controls whether to load the user profile for an application pool entity.

Set the Load User Profile property to one of the following options:

Yes—IIS will load the user profile for the application pool.
No—IIS will not load the user profile for the application pool. This is the same behavior that occurred with IIS 6.0.

Add Kill Process and PowerShell Custom Actions to a Transform Project

Project:This information applies to the following project types:

Basic MSI
InstallScript MSI
Transform

In previous releases, you were unable to add a Kill Process or PowerShell custom action to a Transform project. In InstallShield 2018, you can now add a New Kill Process or New PowerShell custom action to a Transform project in the Custom Actions and Sequences view.

Enhancements

InstallShield 2018 includes the following enhancements:

Save QuickPatch Projects in XML Format
Localize Product Name Property in Suite Projects
Include the Value of a Property in a Product Configuration’s Setup File Name
New MSBuild Parameters to Set Summary Information Stream Comments and to Set Package File Name
Specify Line Break and Tab Characters in Text File Changes
Remove or Hide the Suite Loading Screen
Setting to Always Create Debug Logs for Suite Installers
New Out-of-the-Box Dialog to Set the IIS Certificate File for SSL Certificate at Runtime
Specify Absolute or Relative Path When Creating New Child Elements in an XML File
Setting the Default Keyboard Focus for Dialog Box Controls in Suite Projects
PowerShell Script Editor in Basic MSI Projects
New Option to Open Existing Transform File in InstallShield Transform Wizard
Additional Prerequisites Included

Save QuickPatch Projects in XML Format

Project:This information applies to the following project types:

Basic MSI
QuickPatch

In InstallShield 2018, you can now save a QuickPatch project in XML format, and you can also create a QuickPatch project from projects saved in XML format. In previous releases, QuickPatch projects could only be saved in binary format.

Localize Product Name Property in Suite Projects

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

In InstallShield 2018, suite projects now support localizing the Product Name property.

To localize the Product Name property in a suite project, perform the following steps.

To localize a property in a suite project:

1. Open a suite project and go to the User Interface > String Editor view.
2. Create a new string that contains the localized text for each of the languages supported by your suite project, such as ID_STRING2.
3. Open the Installation Information > General Information view.
4. Click the browse button next to the Product Name field to open the Select String dialog box.
5. Select the name of the string that you created that contains the localized text.

Include the Value of a Property in a Product Configuration’s Setup File Name

Project:This information applies to the following project types:

Basic MSI
InstallScript MSI

In InstallShield 2018, you can now include the value of a property from the Property Table in product release configuration setup and package file names.

For example, you could enter any of the following properties in the Setup File Name or MSI Package File Name field on the General tab of the Releases > Product Configuration view:

setup[ProductVersion]

setup[CustomVersion]

setup[ProductCode]

setup[ProductCode][ProductVersion]

If you entered setup[ProductVersion] in the Setup File Name field, it would result in a setup named setup14.10.1234.exe, for example.

New MSBuild Parameters to Set Summary Information Stream Comments and to Set Package File Name

In InstallShield 2018, new MSBuild parameters were added to enable you to set add comments to an installer and to set the package file name of an installer.

New Parameter to Set Summary Information Stream Comments
New Parameter to Set Package File Name

New Parameter to Set Summary Information Stream Comments

Project:This information applies to the following project types:

Basic MSI
InstallScript
InstallScript MSI
Merge Module

You can add comments to an installer in the Summary Information Stream Comments field on the General Information view.

In InstallShield 2018, you also have the option of entering comments at build time. A new parameter has been added to the MSBuild.exe task, named SummaryInfoComments, to set the Summary Information Stream comments at build time, such as including the build number, as shown in the following example:

MSBuild.exe c:\installers\Setup.sln /Property:SummaryInfoComments="Insert Comments Here"

The comments that are added using the SummaryInfoComments property can be viewed on the Properties dialog box of the built installer.

New Parameter to Set Package File Name

Project:This information applies to the following project types:

Basic MSI
InstallScript MSI

You can specify the package file name of an installer in the MSI Package File Name field on the General tab for a Product Configuration field on the Releases view.

In InstallShield 2018, you also have the option of setting the package file name at build time. A new parameter has been added to the MSBuild.exe task, named MSIPackageFileName, to set the package file name of the built installer at build time, as shown in the following example:

MSBuild.exe c:\installers\Setup.isproj /Property:MSIPackageFileName="MySetup"

When entering the value for the MSIPackageFileName parameter, you need to enter the file name—without the period or the file extension—that InstallShield should use for the .msi file.

Specify Line Break and Tab Characters in Text File Changes

Project:This information applies to the following project types:

Basic MSI
DIM
InstallScript MSI
Merge Module
MSI Database
Transform

In your installer, you can configure search-and-replace behavior for content in text files that you want to modify at run time on the target system. To do this, you open the System Configuration > Text File Changes view and add a text Change Set that identifies the text files that will be searched at runtime, and also specifies the text to search for (Find What) and the text to replace it with (Replace With).

In InstallShield 2018, when adding a text Change Set, you can now enter escape sequence characters in the Replace What field to specify a line break or a tab.

Character

Escape Sequence

Line break

\r\n

Tab

\t

Note:For the Windows operating system, you must enter both \r\n to insert a line break.

When the search-and-replace action is taken at runtime, a line break will be inserted where \r\n was entered in the Replace With field, and a tab will be entered where \t was entered.

For these characters to be recognized as escape sequences, you also have to set the Parse Escape Sequences option to Yes.

Remove or Hide the Suite Loading Screen

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

In InstallShield 2018, you now have the ability to control whether or not the Suite Loading Screen is displayed during installation.

To control whether this screen is displayed, a new property has been added to the Setup.exe tab of the Releases view named Show Suite Loading Screen. If you want to hide the Suite Loading Screen for your Advanced UI or Suite/Advanced UI setup launcher, set this property to No.

Configure Suite Loading Screen Message

In InstallShield 2018, you now have the ability to add a message to the Suite Loading Screen Message for your Advanced UI or Suite/Advanced UI setup launcher.

The length of the message in the Suite Loading Screen Message is limited to 35 characters.

New ShowSuiteLoadingScreen Method in Automation Interface

You can use the ShowSuiteLoadingScreen method in the automation interface to set the Show Suite Loading Screen setting on the Setup.exe tab of the Releases view. The default value is True.

Setting to Always Create Debug Logs for Suite Installers

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

In InstallShield 2018, you can now select an option to turn on logging for a suite project without passing debuglog through the command line.

A new option, Always Create Debug Log, has been added to the Setup.exe tab of the Releases view for Advanced UI and Suite/Advanced UI projects.

If you want to always create debug logs for your Advanced UI or Suite/Advanced UI setup launcher, set the Always Create Debug Log option to Yes.

New CreateDebugLog Method in Automation Interface

You can use the CreateDebugLog method in the automation interface to set the Always Create Debug Log setting on the Setup.exe tab in the Releases view. The default value is False.

New Out-of-the-Box Dialog to Set the IIS Certificate File for SSL Certificate at Runtime

Project:This information applies to the Basic MSI projects.

InstallShield 2018 includes a new out-of-the-box dialog (IISBrowseSSLCertificate) for the installer that enables the end user to browse to a IIS certificate file that they provide for the SSL Certificate and enter a password at installation runtime.

To add a Configure SSL for IIS dialog to your installer, perform the following steps:

To add a “Configure SSL for IIS” dialog to your installer:

1. In the View List under Server Configuration, click Internet Information Services.
2. Right-click the Web Sites explorer and click Add Web Site. InstallShield adds a new Web site.
3. Select the new web site and locate the SSL Certificate and SSL Certificate Password properties under Security > Secure Communication.
4. Set the SSL Certificate and SSL Certificate Password properties to the following values:

Property

Value

SSL Certificate

[IS_IIS_WEBCERTPATH]

SSL Certificate Password

[IS_IIS_WEBCERTPASSWORD]

5. Open the User Interface > Dialogs view and add the IISBrowseSSLCertificate dialog to the dialog sequences.

The property name for the SSL Certificate and password configured by the user is required to update in the IISBrowseSSLCertificate dialog for the Edit boxes (IISWebCertPassword and IISWebCertPath) and the push button (BrowseCertificate) events.

Specify Absolute or Relative Path When Creating New Child Elements in an XML File

Project:This information applies to the following project types:

Basic MSI
DIM
InstallScript
InstallScript MSI
Merge Module
MSI Database
Transform

In previous releases, when using the System Configuration > XML File Changes view to add a new child element to an XML file that has the same name as a child element in an existing parent element, the XML file change would fail.

The path of a node in an XML document can be either absolute or relative. Absolute paths start at the root. When adding a new child element to an XML file that has the same name as a child element in an existing parent element, it is necessary to use the absolute path.

In InstallShield 2018, a new setting has been added to the XML File Changes view named Use Absolute XPath to enable you to specify that you want to use an absolute path when creating child elements.

The behavior used when creating a child element depends upon the Use Absolute XPath option setting:

Selected—If this option is selected, Absolute XPath will be used when adding a child element.
Not selected—if this option is not selected, Generic XPath will be used when adding a child element. By default, the Use Absolute XPath option is not selected.

Setting the Default Keyboard Focus for Dialog Box Controls in Suite Projects

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

In InstallShield 2018, when defining the wizard pages for a Suite project, you can now specify which control on a wizard page will have the default keyboard focus.

On the Wizard Interface view, there is a new property under Appearance named Default Focus, which lists all of the controls defined on that wizard page. Select a control to set the default keyboard focus to that control.

PowerShell Script Editor in Basic MSI Projects

Project:This information applies to the following project types:

Basic MSI
InstallScript MSI

In InstallShield 2018, the PowerShell script editor is available on the Custom Actions and Sequences > Custom Actions view for Basic MSI projects, on the new Script tab. In previous releases, the PowerShell Script Editor was only available for Suite/Advanced UI projects.

New Option to Open Existing Transform File in InstallShield Transform Wizard

Project:This information applies to the following project types:

Transform

In InstallShield 2018, you can now open an existing transform file in the InstallShield Transform Wizard (as if it were being opened in the Transform Wizard for the first time), where you will be prompted to select a base MSI package for the transform file. This enables you to use the same generic transform file for multiple MSI packages.

To open an existing transform file in the InstallShield Transform Wizard, right-click on the transform file in Windows Explorer and select Open in InstallShield Transform Wizard from the context menu.

Additional Prerequisites Included

InstallShield 2018 includes the following additional prerequisites:

Visual C++ 2017 x86 and x64 Prerequisites
Microsoft SQL Server 2014 SP1 and SP2 Prerequisites
Microsoft .NET Framework 4.7 Prerequisite

Visual C++ 2017 x86 and x64 Prerequisites

Because Microsoft Visual Studio 2017 has been released, InstallShield now includes the prerequisites for Visual C++ 2017 x86 and x64.

Microsoft SQL Server 2014 SP1 and SP2 Prerequisites

Because Microsoft SQL Server 2014 has had 2 Service Packs released, InstallShield now includes the prerequisites for both Microsoft SQL Server 2014 SP1 and SP2.

Microsoft .NET Framework 4.7 Prerequisite

InstallShield now includes a prerequisite for Microsoft .NET Framework 4.7.