InstallShield Azure DevOps Build Extension

InstallShield Azure DevOps Build Extension

 

This article covers how to build the InstallShield projects in Azure DevOps pipelines by using the InstallShield Azure DevOps Build Extension.

Prerequisite

  1. Add and install the InstallShield Build Extension to your Azure DevOps organization where you are going to build the InstallShield projects as part of the Azure Build Pipeline.
  2. Add InstallShield tasks to your Azure DevOps Pipeline. Once you have installed the Extension to your organization, Install InstallShield SAB and InstallShield Build tasks will be available to your Build Pipeline tasks, to configure and build the InstallShield projects stored in the repository.

InstallShield Build Extension Tasks:

1. Install InstallShield SAB Task

The Install InstallShield SAB task installs the InstallShield Standalone Build setup on the Microsoft hosted machine, based on the InstallShield version configured in the task, and configures the license server with the license server details provided in the task either the Cloud License Server (CLS) or the Self hosted license server (traditional).

Provide the InstallShield License server details in the server:port format for Self hosted license server (traditional), where,

  • server is the IP address or the fully qualified domain name on which an InstallShield License Server is running.
  • port is the InstallShield License server port configured during the License server installation.

Ensure the License server machine is configured to communicate from the Microsoft Hosted Agent, by exempting the License server ports from the firewall. The License server and Vendor daemon ports need to be configured to communicate from the Microsoft Hosted Agent via Firewall.

Starting from InstallShield 2021, supports to configure and check out the license rights from the Cloud License Server (CLS). Cloud License Server (CLS) is hosted in the Revenera cloud for your organization, so no need to do any additional configuration in your premises for the License Server. Required to provide the Cloud License Server (CLS) ID details that you got from Revenera for the Cloud License Server (CLS) option.

If multiple ‘Install InstallShield SAB’ tasks are configured for a particular InstallShield version in the same pipeline, only the first task downloads and installs the Install InstallShield SAB and the second task checks if it is already installed or not and skips the download and install if it is already installed.

‘Install InstallShield SAB’ task is intended to install on Microsoft Hosted Agents. If configured on Self Hosted agents, then it installs but it is more appropriate to configure the existing on-premises InstallShield machine as Self Hosted agent.

The Install InstallShield SAB task can be added to the Pipeline with one of the following editors:

 

1.    Adding Install InstallShield SAB Task in the YAML Pipeline Editor

 

To install InstallShield with Self hosted license server (traditional FlexNet License Server) details:

- task: InstallShieldInstall@1

  inputs:

    ISVersion: '2021'

    LicType: 'flexnet'

    ISLicenseServerPort: '102.203.205.198:27000'

 

ISLicenseServerPort: Provide in the server:port format, where the server is server is the IP address or the fully qualified domain name on which an InstallShield License Server is running, and the port is the License server port configured during the License server installation. License server and Vendor daemon ports need to be configured to communicate from the Microsoft Hosted Agent via Firewall.

ISVersion: Specify the InstallShield version that needs to be installed on the hosted agent. Example: '2021' to install InstallShield 2021 SAB setup.

LicType: Specify the License Server option, flexnet for the Self hosted license server (traditional FlexNet License Server) and cls for Cloud License Server.

 

To install InstallShield with Cloud License Server (CLS) details:

- task: InstallShieldInstall@1

  inputs:

    ISVersion: '2021'

    LicType: 'cls'

    ISLicenseCLS: 'XXXXXXXXXX'

 

ISLicenseCLS: Specify the Cloud License Server ID that you got from Revenera, for the Cloud License Server hosted in the Revenera cloud.

ISVersion: Specify the InstallShield version that needs to be installed on the hosted agent. Example: '2021' to install InstallShield 2021 SAB setup.

LicType: Specify the License Server option, flexnet for the Self hosted license server (traditional FlexNet License Server) and cls for Cloud License Server.

 

2.    Adding Install InstallShield SAB Task in the Classic Pipeline Editor

 

Provide the InstallShield Version from the drop down, and License Server and Port in the server:port format as described in the previous section for the Self hosted license server (traditional FlexNet License Server), and the Cloud License Server (CLS) ID for the Cloud License Server (CLS) option.

To install with Cloud License Server (CLS) option:

image.png

To install with Self hosted license server (traditional FlexNet License Server) option:

 
 
 

image.png

 

2. InstallShield Build Task

InstallShield Build task can be configured to build the InstallShield projects as part of the Azure DevOps build pipeline. This task checks if the InstallShield SAB is installed on the agent, and installs the InstallShield SAB if not already installed before triggering the InstallShield project build.

Choose ‘Hosted Agent’ or ‘Private Agent’ depending on where your pipeline is running.

  • “Hosted Agent” option in the InstallShield Build Task configuration to build the InstallShield project in the Microsoft Hosted Agent.
  • “Private Agent” option in the InstallShield Build Task configuration to build the InstallShield project in the Self Hosted Agent.

 

InstallShield Build task requires following inputs for its execution:

  • InstallShield project path from the root of the repository location.
  • Command line parameters, if any.
  • Agent Location, ‘Hosted Agent’ or ‘Private Agent’ depending on where your pipeline is running.
  • InstallShield installed location on the Local Agent if the build configured with Self Hosted Private Agent.
  • License Server Type, "Cloud License Server (CLS)" or "Self hosted license server (traditional)".
  • Cloud License Server (CLS) ID that you got from Revenera for the Cloud License Server (CLS) option
  • License Server details in the server:port format for Self hosted license server (traditional FlexNet License Server) option, in case of Microsoft Hosted Agents.
  • InstallShield versions in case of Microsoft Hosted Agents.

Building with Microsoft Hosted Agents:

To build the InstallShield project on the Microsoft Hosted Agents, you need to configure the Agent Location to “Hosted Agent” option, InstallShield version and the License server details in the InstallShield Build task either the Cloud License Server (CLS) or the Self hosted license server (traditional). So, during the task execution, InstallShield SAB build is downloaded, installed and configured with the license server specified.

Provide the InstallShield License server details in the server:port format for the Self hosted license server (traditional), where,

  • server is the IP address or the fully qualified domain name on which an InstallShield License Server is running.
  • port is the InstallShield License server port configured during the License server installation.

Ensure the License server machine is configured to communicate from the Microsoft Hosted Agent, by exempting the License server ports from the firewall. The License server and Vendor daemon ports need to be configured to communicate from the Microsoft Hosted Agent via Firewall.

Starting from InstallShield 2021, supports to configure and check out the license rights from the Cloud License Server (CLS). Cloud License Server (CLS) is hosted in the Revenera cloud for your organization, so no need to do any additional configuration in your premises for the License Server. Required to provide the Cloud License Server (CLS) ID details that you got from Revenera for the Cloud License Server (CLS) option.

Once after configuring the InstallShield Standalone setup on the Microsoft Hosted Agent, InstallShield Build task starts building the InstallShield project and the build progress will be updated in the agent job log.

In case the Build pipeline requires to build multiple InstallShield projects, then multiple InstallShield Build tasks can be configured with the corresponding InstallShield project details. However, the download and install the InstallShield setup on the agent has been performed at the first task, after that it starts building the project directly.  

The InstallShield Build task can be added to the build Pipeline with one of the following Pipeline editors:

1.    InstallShield Build Task in the YAML Pipeline to build in Microsoft Hosted Agent:

 

- task: InstallShieldBuild@1

  inputs:

    Prjname: 'TestMSI.ism'

    Parameters: '-v'

    AgentLoc: 'HostedAgent'

    LicType: 'flexnet'

    ISLicenseServerPort: '105.211.241.103:27000'

    ISVersion: '2021'

 

To build InstallShield project with Cloud License Server (CLS) option, specify the LicType to 'cls' and the Cloud License Server (CLS) ID:

     LicType: 'cls'

    ISLicenseCLS: 'XXXXXXXXXX'

 

Prjname: It is the path of the InstallShield project from the repository root.

Parameters: Add the detail, if any additional command line parameters need to be passed during the build. It is optional.

AgentLoc: Specify the type of Agent where the Azure Build is configured. The ‘HostedAgent’ for Microsoft Hosted Agent, and ‘PrivateAgent’ for Self-Hosted Agent.

ISLicenseServerPort: Provide in the server:port format, where the server is server is the IP address or the fully qualified domain name on which an InstallShield License Server is running, and the port is the License server port configured during the License server installation. License server and Vendor daemon ports need to be configured to communicate from the Microsoft Hosted Agent via Firewall.

ISVersion: Specify the InstallShield version that is to be installed on the hosted agent. Example: '2020' to install InstallShield 2020 SAB setup.

2.    InstallShield Build Task in the Classic Pipeline to build in Microsoft Hosted Agent

 

Provide the InstallShield Project Path, Parameters (if any), Agent Location, InstallShield Version, License Server Type to 'Self hosted license server (traditional)' and License Server and Port in the server:port format for Self hosted license server (traditional). And specify the Cloud License Server (CLS) ID for the Cloud License Server (CLS) option.

To build with Self hosted license server (traditional) option, specify the License Server and Port in the server:port format.

image.png

To build with Cloud License Server (CLS) option, specify the Cloud License Server (CLS) ID that you got from the Revenera.

image.png

Building InstallShield Project with Self Hosted Agent

To build InstallShield projects on the Self Hosted Agents, we/you need to configure the Agent Location to “Private Agent” option, and the absolute location where the InstallShield is installed on the agent. We/you provide the full absolute path of InstallShield installed Location on the local agent. Ex: C:\Program Files (x86)\InstallShield\2020 or C:\Program Files (x86)\InstallShield\2020 SAB.

Ensure the local agent is preconfigured with InstallShield and the license activated for the successful builds from the Azure pipeline.

InstallShield Build task builds the InstallShield project with InstallShield installed on the local agent, and the build progress will be updated in the agent job log.

The InstallShield task can be added to the build Pipeline with one of the following editors:

1.    InstallShield Build Task in the YAML Pipeline Editor to build in the Self Hosted Agent:

 

- task: InstallShieldBuild@1

  inputs:

    Prjname: 'TestMSI.ism'

    Parameters: '-v'

    AgentLoc: 'PrivateAgent'

    SABPath: 'C:\Program Files (x86)\InstallShield\2020 SAB'

Prjname: It is the path of the InstallShield project from the repository root.

Parameters: Add the details, if any additional command line parameters need to be passed during the build. It is optional.

AgentLoc: Specify the type of Agent where the Azure Build is configured. ‘HostedAgent’ for Microsoft Hosted Agent, and ‘PrivateAgent’ for Self -Hosted Agent.

SABPath: Provide the full absolute path of InstallShield installed Location on the local agent. For example, C:\Program Files (x86)\InstallShield\2020 or C:\Program Files (x86)\InstallShield\2020 SAB.

2.    InstallShield Build Task in the Classic Pipeline Editor to build in the Self Hosted Agent:

 

Provide the Project Path, Parameters (if any), Agent Location, and Path to InstallShield installed Location on the local agent.

 
 

banna_k_2-1603181376872.png

 

 

 

 

Labels (3)
Was this article helpful? Yes No
No ratings
Comments

Which versions of SAB the extension supports? We have InstallShield 2016 Professional Concurrent Perpetual License. Do we have to upgrade?

Hi @arto_huopana:

Yes, InstallShield 2016 need to upgrade in to the latest InstallShield version(InstallShield 2020 R3). DevOps Build extension is supported from InstallShield 2020 onwards.

Thanks,

Banna 

Hi

Does anyone know if this extension works on a License server containing a Professional Concurrent Perpetual License?

We have set up a License server and activated one of these licenses on it but when the extension is executed on our pipeline keeps returning the below error.

Cannot find license file. (-1,360)
ISDEV : fatal error -7159: The product license has expired or has not yet been initialized.

Thanks

Kofi

The documentation here doesn't seem to match the currently available version of the extension on the Marketplace, which doesn't understand the LicType setting or 2021 as a version (it only knows about 2020), even though the update date on this page and the extension version are the same...

 

@PSL_Developer 

Azure DevOps extension require SAB ( standalone build) feature enabled in the License server. Azure DevOps internally uses, InstallShield SAB to build the InstallShield projects. So it required SAB feature in the License server.

@ccrowtheroo 

Can you check it by reinstalling the extension once again from the Marketplace.  

@banna_k can do; will have to wait a bit until I get a release out of the way though.

Version history
Revision #:
8 of 8
Last update:
‎Sep 02, 2021 03:21 PM
Updated by:
 
Contributors