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.

Provide the InstallShield License server details in the server:port format, 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.

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

 

- task: InstallShieldInstall@1

  inputs:

    ISVersion: '2020'

    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: '2020' to install InstallShield 2020 SAB setup.

 

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.

 

banna_k_0-1603181376859.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 details in the server:port format, 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. 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, 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.

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'

    ISLicenseServerPort: '105.211.241.103:2700'

    ISVersion: '2020'

 

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, and License Server and Port in the server:port format.

banna_k_1-1603181376866.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
Version history
Revision #:
5 of 5
Last update:
‎Oct 20, 2020 03:49 AM
Updated by:
 
Contributors