What’s New in InstallShield 2016

InstallShield 2016

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

New Features in InstallShield 2016 SP2
New Features in InstallShield 2016 SP1
New Features in InstallShield 2016

New Features in InstallShield 2016 SP2

Integration with FlexNet Code Aware

InstallShield now includes integration with FlexNet Code Aware, an automated open source risk assessment and package discovery solution that enables you to quickly scan your products for security and intellectual property (IP) compliance risk.

The current release of FlexNet Code Aware supports analysis of the following files:

Java Packages
Node Packages
Nuget Packages
RPM Packages
Ruby Packages
EXE & DLL Files

Security vulnerabilities are looked up against the National Vulnerability Database (NVD).

Running FlexNet Code Aware

FlexNet Code requires a separate license from InstallShield. There is also trial/evaluation version. For more information, refer to the FlexNet Code Aware product page of the Flexera Software website.

To run FlexNet Code Aware from within InstallShield, click Scan Project using FlexNet Code Aware from the InstallShield Project menu. This menu option is disabled out if you are not currently in an open InstallShield project. A FlexNet Code Aware icon is also available on the InstallShield standard toolbar.

When FlexNet Code Aware completes the scan of your project, a summary displays showing the number of files scanned, and the number of open-source packages and vulnerabilities found. A View report button is provided if you have a fully licensed version of FlexNet Code Aware. For more information about the details provided in this report, refer to Reading the FlexNet Code Aware Report.

Reading the FlexNet Code Aware Report

Note • The FlexNet Code Aware Report is not available in trial/evaluation mode. A fully licensed version of FlexNet Code Aware is required.

To view the FlexNet Code Aware Report, click View report on the summary dialog that appears after FlexNet Code Aware has scanned your project.

The FlexNet Code Aware report consists of several sections:

The initial Summary View presents the user with a Scan Summary, Operational Risk assessment, Security Vulnerability Exposure, and License Exposure.
The Scan Summary section provides details regarding the codebase that was scanned, including a breakdown of file types, percent of files analyzed, and number of findings.
The Operational Risk section provides a composite risk rating based on the combination of packages with Intellectual Property (IP) issues and packages with Security Vulnerabilities.
The Security Vulnerability Exposure and License Exposure sections provide a breakdown of the types and categories of identified issues.
The Package Inventory View, available by clicking view full package inventory in the Scan Summary section, provides a complete list of discovered open source and third-party packages with associated licenses, security vulnerabilities, dependencies, and detected copyright statements.

The Package Inventory View provides filters that you can use to execute targeted queries to refine the list to various package types of interest.

The following figures show the initial Summary View of a sample FlexNet Code Aware Report.

FlexNet Code Aware Initial Summary View

The following figures show the Package Inventory View of a sample FlexNet Code Aware Report.

FlexNet Code Aware Package Inventory View

Viewing Package Details

Click a vulnerability count listed in the Vulnerabilities column of the Package Inventory report page for each package you want to review:

The Vulnerabilities detail page appears, covering a portion of the Package Inventory report:

New Features in InstallShield 2016 SP1

Support for Microsoft Visual Studio 2017

InstallShield includes support for Visual Studio 2017. You can create InstallShield projects from within this version of Visual Studio.

New Features in InstallShield 2016

InstallShield 2016 includes the following new features:

Support for the Latest Releases of Windows Operating Systems
Microsoft SQL Server 2016 Support
Support for Creating UWP App Packages
SQL Support Added to Suites
Tile Configurations
New InstallShield Prerequisites for Microsoft Visual C++ 2015, .NET Framework 4.6, and More
Predefined System Searches for Adobe Reader, Microsoft Office and the .NET Framework

Support for the Latest Releases of Windows Operating Systems

InstallShield 2016 supports the latest releases of the Windows operating system:

Windows 10 Anniversary Update
Windows Server 2016

Not only can you install InstallShield on these operating systems, but you can also create installers that target these operating systems.

Microsoft SQL Server 2016 Support

Project • Microsoft SQL Server 2016 support is available in the following project types:

Basic MSI
DIM
InstallScript
InstallScript MSI

InstallShield now includes support for running SQL scripts on SQL Server 2016 database servers. In addition, InstallShield includes SQL Server 2016 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 2016, 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 2016, SQL Server 2016 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 2016 database server.

See New InstallShield Prerequisites for Microsoft Visual C++ 2015, .NET Framework 4.6, and More for a complete list of new InstallShield prerequisites added to InstallShield.

Note • Microsoft SQL Server 2016 is now 64-bit (x64) only.

Support for Creating UWP App Packages

Project • UWP app creation is available in Basic MSI projects.

Important • The Windows 10 Anniversary Update is required for installing and testing a UWP app package (.appx) with desktop extensions (Desktop Bridge). To digitally sign the UWP app package, InstallShield must be installed on a Windows 10 machine or a machine with the Windows 10 SDK installed.

The UWP app package (.appx) format is the simple and secure packaging format used to distribute and install apps on Windows 8.x and 10 and is the only format allowed for Universal Windows Platform (UWP) apps. Benefits of UWP app packages include:

High availability, reliability, and durability, resulting in applications that operate continuously without failure for extended periods of time
A smooth installation experience through static builds that require minimal configuration and no customizable UI
The option to sell or provide the application through the Windows Store
The ability to leverage UWP functionality such as live tiles as well as the ability to utilize UWP APIs
The only package format with native support on Windows Nano Server

InstallShield now supports creating the UWP app package format (.appx) and its desktop and server extensions through an alternate build output and provides suitability testing to help you identify items unsuitable for the UWP app package format. Refer to the following subsections for details about new functionality added to InstallShield to support the creation of UWP app packages.

UWP App Settings in the Releases View
UWP App Logo Customization in the Shortcuts View
UWP App Suitability Testing
New UWP Condition Checks added to Suites

UWP App Settings in the Releases View

When you select a release in the Releases view, a new per-release tab titled Windows App has been added that includes settings to create a UWP app package. Here, various core settings can be specified that impact the UWP app package build process. In particular, the Distribution Method and Include Desktop Extensions or Include Server Extensions options will affect what warnings or errors are encountered for certain kinds of installer project data.

For complete information on these new settings, see Windows App Tab for a Release.

UWP App Logo Customization in the Shortcuts View

In addition to the new UWP app settings added to the Releases view, there are new settings to configure the tiles created in an UWP app package. These settings are located in the new UWP App Package Tile Overrides area of the Shortcuts view.

For complete information on these new settings, see Shortcut Settings.

UWP App Suitability Testing

InstallShield has added the new InstallShield UWP App Suitability Suite that scans an .msi package for signs of items that are unsuitable for the UWP app package format. To access it, on the Build menu, point to Validation, and then click InstallShield UWP App Suitability Suite.

The InstallShield UWP App Suitability Suite provides a report in the Releases view that indicates all tests that found issues and for each issue, an associated column in the report indicates applicability to the known UWP app variants. For traditional CUBs, these columns are not populated. You can view this report by navigating to the Releases view and selecting the Validations folder under your release. For complete information, including descriptions of the new ISUWP validations included, see InstallShield UWP App Suitability Suite.

New UWP Condition Checks added to Suites

When you are building a conditional statement for an exit, detection, eligibility, feature, or wizard interface condition in an Advanced UI or Suite/Advanced UI project, or for an action condition in a Suite/Advanced UI project, you can select from a number of different types of checks that you want to be evaluated on target systems. The following condition checks have been added to Suites.

UWP App Package Eligible—Check target systems for the run time dependencies of the UWP app package to prevent any attempts to install a UWP app package onto a version of Windows or Windows Server that does not support it.

Note • This condition is available only for the eligibility condition of a UWP app package. If it is used in any other package type, it will not function correctly.

UWP Type Present—Check target systems for the presence of UWP functionality. For example, to create a conditional statement that checks for the presence of the Desktop Bridge, check for the type Windows.ApplicationModel.FullTrustProcessLauncher. This can be used to conditionally block installation, or to choose between installing .msi and UWP app package (.appx).

Note • This always evaluates as false on operating systems before Windows 10. Use of the Type Name subsetting Windows.ApplicationModel.FullTrustProcessLauncher requires Windows 10 Anniversary Update or newer.

SQL Support Added to Suites

Project • This information applies to Suite/Advanced UI projects.

Edition • The Suite/Advanced UI project type is available in the Premier edition of InstallShield.

SQL servers are integral to many applications, especially those that benefit from the multiple package support provided by InstallShield Suite installations. Previously, InstallShield SQL support was limited to Basic MSI, InstallScript, and InstallScript MSI projects. Now, SQL support has been added to Suite/Advanced UI projects, giving you the ability to:

Add a New SQLLogin Predefined Wizard Page
Execute SQL Statements Directly from Suites

To learn more, see the following topics:

Adding a SQLLogin Predefined Wizard Page in a Suite/Advanced UI Project 
Configuring an Action for an Element in the Wizard Interface 
Predefined Task Pages Panel 

Add a New SQLLogin Predefined Wizard Page

InstallShield adds SQL support to Suite/Advanced UI projects by providing a new SQLLogin predefined wizard page that can be added to your Suite/Advanced UI project. Previously, if you added an .msi package containing SQL support to a Suite/Advanced UI project, the Advanced UI or Suite/Advanced UI setup launcher automatically suppressed the user interface of Windows Installer. You were required to manually create a custom SQLLogin wizard page for your Suite/Advanced UI project installation.

When adding a new predefined page to your project, select the Enter login information for a database server task page and complete the panels in the wizard as needed. The SQLLogin predefined wizard page is then added to your project. This SQLLogin wizard page lets end users enter database server login information (database server name, authentication credentials, database catalog name, etc.) in order to establish a connection to the database server that is targeted by one or more .msi packages in the suite.

Adding a SQLLogin wizard page to your project allows you to:

Specify properties that identify the SQL login settings in the Suite project and then select the .msi package that receives these properties
Specify the properties that identify the SQL login settings in the .msi package
Choose the database technology (Microsoft SQL Server, Microsoft Windows Azure, MySQL, or Oracle) and select the ODBC driver to be targeted

Execute SQL Statements Directly from Suites

Suite/Advanced UI projects now support directly executing SQL statements on SQL database servers from the user interface, which helps allow SQL database servers to be examined before proceeding with the installation.

The SQL query result can then be accessed in a Suite property. To provide this support, a Run a SQL String option is now available in the New Action menu of UI events. The SQL statement is executed using properties and database metadata specified by additional new options available in the New Action menu of UI events: Configure Database Metadata and Override SQL Login Properties.

Tile Configurations

Project • This information applies to Basic MSI, InstallScript MSI, and InstallScript project types.

Windows 8 introduced a grid of application tiles to the Start screen, replacing the usual list of shortcuts, and also presented tiles in place of shortcuts. InstallShield supports customizing the appearance of a desktop app’s tile on the Start screen. The following tile configuration settings are available:

A toggle between light or dark text when including the app name on medium-sized (150x150) tiles
Choice of tile background color
Option to use custom tile images (small: 70x70 and medium:150x150)
Preference to show or hide the app name on medium-sized tiles

The Tile Configurations node appears in the main Shortcuts view and in each component’s Shortcuts subview. Any applicable tile configurations are listed.

To learn more, see the following topics:

Configuring the Appearance of a Desktop App’s Tile on the Start Screen 
Tile Configuration Settings 

New InstallShield Prerequisites for Microsoft Visual C++ 2015, .NET Framework 4.6, and More

Project • InstallShield prerequisites can be added to Advanced UI, Basic MSI, InstallScript, InstallScript MSI, and Suite/Advanced UI projects.

InstallShield includes the following new InstallShield prerequisites:

Microsoft .NET Framework 4.6.1 Full
Microsoft .NET Framework 4.6.1 Web
Microsoft ReportViewer 2015
Microsoft SQL Server 2014 Express System CLR Types (x86)
Microsoft SQL Server 2016 Express RTM (x64)
Microsoft SQL Server 2016 Express RTM LocalDB (x64)
Microsoft Visual C++ 2015 Update 3 Redistributable Package (x86)
Microsoft Visual C++ 2015 Update 3 Redistributable Package (x64)
Windows Management Framework 4.0 for Windows 7 SP1 and Server 2008 R2 SP1 (x64)
Windows Management Framework 4.0 for Windows Server 2012 (x64)
Windows Management Framework 5.0 for Windows 7 SP1 (x86)
Windows Management Framework 5.0 for Windows 7 SP1 and Server 2008 R2 SP1 (x64)
Windows Management Framework 5.0 for Windows 8.1 (x86)
Windows Management Framework 5.0 for Windows 8.1 and Server 2012 R2 (x64)
Windows Management Framework 5.0 for Windows Server 2012 (x64)

These prerequisites install the appropriate technologies on supported target systems.

Note • The Web prerequisite for the .NET Framework requires an Internet connection. This prerequisite downloads the required redistributable files if appropriate. The Full prerequisite for the .NET Framework is a stand-alone installation that does not require an Internet connection.

Predefined System Searches for Adobe Reader, Microsoft Office and the .NET Framework

Project • Predefined System Searches apply to Basic MSI and InstallScript MSI projects.

InstallShield has new predefined system searches:

Adobe Reader 11
Adobe Reader DC
Microsoft Office 2013
Microsoft Office 2016
Microsoft .NET Framework 4.5.1
Microsoft .NET Framework 4.5.2
Microsoft .NET Framework 4.6
Microsoft .NET Framework 4.6.1

If your installation requires one or both of these, you can use the System Search view or the Installation Requirements page in the Project Assistant to add these system searches to your project. When end users launch your installation, Windows Installer checks the target system to see if the requirements are met; if they are not met, the installation displays the error message that is defined for the system search.

Enhancements

InstallShield 2016 includes the following new enhancements:

Direct Editor View Enhancements
Suite UI Enhancements
Kill Process Custom Action Enhanced
Ability to Set the Default Value Used for Component Attributes
Ability to Filter Items by Features in Additional Views
Digital Signature Updates

Direct Editor View Enhancements

Project • The Direct Editor is available in the following project types:

Basic MSI
DIM
InstallScript
InstallScript MSI
InstallScript Object
Merge Module
MSI Database
MSM Database
QuickPatch
Transform

InstallShield now adds several Direct Editor enhancements that provide visual insights into tables, schema information, and validation errors designed to boost the productivity of setup authors or packagers who use the Direct Editor for troubleshooting to identify and resolve advanced problems. These enhancements are described in the following sections:

Directory Table Displays Resolved Target Directory Path
Column Header Schema Information Tooltips
Table Record Reference Tracking
Broken References Indicator

For complete information, see Direct Editor.

Directory Table Displays Resolved Target Directory Path

When showing the Directory table, InstallShield shows a read-only, grayed out column that displays the resolved path of each row’s directory location. This column is not actually stored in the project file. You can sort by its visible text, but you cannot insert, update, or delete its values.

Column Header Schema Information Tooltips

InstallShield now provides tooltips added to column headers that display the following schema information to indicate the column data type allowed:

nullable—The column can be left empty.
required—The column must contain a non-empty value.
char(nn)—Character string with fixed-length nn.
small integer—Integer numerical (no decimal), containing a value from -32767 to +32767.
long integer—Integer numerical (no decimal), containing a value from -2147483647 to +2147483647.
localizable—This column contains a string that can be translated. Columns without this marker are not localized.
stream—Binary stream, such as the contents of a file.

Tip • The Directory, Binary, and CustomAction Direct Editor tables display several of these column types.

Table Record Reference Tracking

The Direct Editor now includes a Reference Tracking pane that lets you easily visualize relationships between table records. A Show Reference Tracking button is added to at the top of the Direct Editor that provides a show/hide toggle of the pane.

Each record may reference one or more other records or be referenced by one or more other records. When a record is highlighted that refers to other records or is referred from other records, the Reference Tracking pane is populated with a Reference Tables section showing the tables in which the references reside and an additional section that displays the actual record references. The record references section includes arrow icons that indicate the direction of the reference, where:

A green arrow pointing to the right indicates that the record that is selected in the Direct Editor table references the record displayed in the Reference Tracking pane.
A blue arrow pointing to the left indicates that the record selected in the Direct Editor table is referenced by the record displayed in the Reference Tracking pane.
Two arrows in both directions (a green arrow pointing right and a blue arrow pointing left) that indicate the record selected in the Direct Editor table references and is referenced by the record displayed in the Reference Tracking pane.

Note • When multiple Direct Editor records are selected, only the “focused” record's references are shown. In addition, if multiple tables appear in the Reference Tables section, this indicates that the record selected in the Direct Editor table references or is referenced by records in multiple tables. You can click any table in the Reference Tables section to view the associated records references.

Tip • In the Reference Tracking pane, you can quickly jump between record references by double-clicking within a cell.

Broken References Indicator

There are instances where a Direct Editor table record might reference a foreign key record that no longer exists. InstallShield now displays the cells of such broken references with a red fill color to call attention to the broken reference.

For example, if the Directory_ column in the in the Component table references a directory name that is not found in the Directory table, then the Directory_ column is filled in red.

Note • The Direct Editor broken reference indicator is unrelated to the Maintain referential integrity check box on the Preferences tab of the Options dialog box. While the Maintain referential integrity setting is designed to update the foreign keys when you modify a primary key, the purpose of the broken reference indicator is to display broken references to help you easily identify orphaned records. Therefore, broken references are displayed regardless of the selection of the Maintain referential integrity setting.

Suite UI Enhancements

Project • This information applies to the following project types:

Advanced UI
Suite/Advanced UI

Edition • The Advanced UI project type is available in the Professional edition of InstallShield. The Suite/Advanced UI project type is available in the Premier edition of InstallShield. For information about the differences between these two project types, see Advanced UI Projects vs. Suite/Advanced UI Projects.

To better support various use cases, InstallShield has added the following functionality to Advanced UI and Suite/Advanced UI projects:

New Close Window and Stop Event UI Actions
Suite Loading Splash Screen Added

New Close Window and Stop Event UI Actions

InstallShield includes the following new UI actions:

New Control Actions

Type of Action

Description

Close Window

This type of action closes a main wizard page or secondary window, or in some cases, provides conditional closing of a secondary window.

Close Window accepts parameters corresponding to the following predefined Return Code IDs: IDOK, IDCANCEL, IDABORT, IDRETRY, IDIGNORE, IDYES, IDNO, and IDCLOSE.

The behavior of the Close Window action differs slightly on wizard pages and secondary windows, as noted following:

For wizard pages, the Close Window action prompts the end user to cancel if its Return Code parameter is set to IDCANCEL (and then interrupts the wizard if the end user specifies Yes). For all other Return Code IDs, the wizard immediately closes.
For secondary windows, the Close Window action closes the secondary window and in special cases such as with the ISRMFilesInUse and ISRMFileInUse secondary windows, the specified Return Code value is returned.

InstallShield currently provides the following secondary windows that contain customized behavior that is dependent upon the specified Return Code ID:

ISDownloadProgress
ISPromptForSourceMedia
ISFilesInUse
ISRMFilesInUse
ISUpgradeParcel
ISSQLBrowse

Stop Event

This type of action allows you to conditionally stop further actions from being processed. For example, this action can be used to prevent the default behavior of a button from occurring.

To learn more, see Configuring an Action for an Element in the Wizard Interface.

Suite Loading Splash Screen Added

During a suite installation where the loading process takes more than half a second, InstallShield will now display a splash screen to indicate that the program has launched and that a loading process needs to complete before the Install Welcome dialog appears. For the splash screen, InstallShield utilizes the largest provided version of the setup.exe icon and includes a progress bar on it.

Kill Process Custom Action Enhanced

Project • This information applies to the following project types:

Basic MSI
InstallScript MSI

A new Processes setting has been added to the Kill-Process Custom Action settings that lets you directly enter executable file names or PIDs of the processes that you want to terminate without having to create a property using the Property Manager and format its value correctly for the action to work.

To learn more, see Calling a Kill-Process Custom Action.

Tip • The value of the Processes setting may be written to the ISTerminateProcesses property. If you have additional kill-process custom actions that do not specify a value in the Processes setting, such as those migrated from InstallShield 2015 or earlier, shared use of the ISTerminateProcesses property may result in undesired behavior.

Ability to Set the Default Value Used for Component Attributes

Support for a new property has been added to the InstallShield table that lets you set the default value used for component attributes. If a property of MsiComponentAttributes exists in the InstallShield table, its value overrides the default Attributes column value in the Component table from 8 to whatever is specified.

For example, to make new components 64-bit, add 256 to the MsiComponentAttributes value. You can specify 264 (for 64-bit shared) or optionally enter 256 (for 64-bit unshared). In doing so, the 64-Bit Component setting and Shared settings (shown on the in the General area of the Components view) will be updated to Yes or No accordingly.

For more information about the bit values used in calculating the Attributes column of the Component table, refer to the Component Table page in the MSDN Library.

Note • To set the default value used for component attributes, the MsiComponentAttributes property must be updated manually in the InstallShield table in the Direct Editor of each project. The Template Summary setting for a product configuration is ignored for this use case.

Ability to Filter Items by Features in Additional Views

The following views now contain a View Filter that lets you filter the view list by any feature in your project:

Environment Variables View—You can use the View Filter list at the top of this view to show and hide environmental variables that are associated to a particular feature in your project. You can also select a feature from the View List in order to associate only that feature with a subsequent event (e.g., the creation, modification, or removal of an environmental variable). Lastly, to see all of the environmental variables that are in your project, select the All Application Data option in the View Filter list. For more information, see Environment Variables View.
Text File Changes View—You can use the View Filter list at the top of this view to show and hide text file change sets that are associated to a particular feature in your project. You can select a feature from the View List in order to associate only that feature with a subsequent event (e.g., the creation, modification, ordering, or removal of change sets). The resulting modification takes place at run time on the target system when the feature is installed. Lastly, to see all of the text file change sets that are in your project, select the All Application Data option in the View Filter list. For more information, see Text File Changes View.
INI File Changes View—You can use the View Filter list at the top of this view to show and hide initialization (.ini) files that are associated to a particular feature in your project. You can select a feature from the View List in order to associate only that feature with a subsequent event (e.g., the creation, importing, modification, or removal of .ini files). The resulting modification takes place at run time on the target system when the feature is installed. Lastly, to see all of the .ini files that are in your project, select the All Application Data option in the View Filter list. For more information, see INI File Changes View.

Digital Signature Updates

Beginning with InstallShield 2015, support was added to enable you to use digital certificates that use the SHA-256 hashing algorithm for signing your installations and files at build time.

In InstallShield 2016, support for SHA-256 digital certificates has been enhanced for Windows Installer and InstallScript projects to:

Give you the ability to specify a digest type using the new Signature Digest drop-down on the Certificate Selection Dialog Box
RFC3161 timestamping is now supported and can be specified in settings.xml, noting that:
DigitalSignature/@Timestamp can be an Authenticode or RFC3161 server for .msi, .exe, and .dll files
DigitalSignature/@TimestampRFC3161 used for UWP app package files must be an RFC3161 server
Handle similarly-named certificates in the Certificate Store

Important • Any new signatures created or timestamped after Jan 1, 2016 must be SHA-256-based signatures. Any files signed with an SHA-1 certificate need to have a timestamp showing a date and time prior to Jan 1, 2016 in order to continue to be supported. Those files will still be allowed through the 'Mark-of-the-web" system until Jan 14, 2020, when all SHA-1 support will stop in all current versions of Windows.