PowerShell Installation

Overview

The following procedure applies to the setup using the WorkflowGen PowerShell installation, which is only compatible with:

  • Azure SQL Database

  • MS SQL Server with SQL Server authentication enabled

  • Windows Server 2012 R2, Windows Server 2016, and Windows 10 x64

For other versions of Windows, use the manual installation procedure.

Prerequisites

  • You'll need an active internet connection to perform this installation unless all of the dependencies have been downloaded by running the script with the -DownloadOnly script flag.

  • If you're using Azure SQL database, you'll need to create and configure the database manually; see the Azure SQL database configuration section in the WorkflowGen for Azure guide for instructions on how to do this.

  • If you're using MS SQL Server with the WorkflowGen database creation, the installation will require the SQL Server PowerShell module.

    • If your Windows has SQL Server and SQL Server Management Studio installed, the SQL Server PowerShell module comes pre-installed.

    • If your Windows has PowerShell version 5 or later installed (e.g. Windows Server 2016/Windows 10), the installation script will auto-detect and install the SQL Server module from the PowerShell Gallery.

    • If your Windows has PowerShell version 4 or earlier installed (e.g. Windows Server 2012 R2), you'll need to manually install the PowerShell Extensions from the SQL Server Feature Pack according to your SQL Server version below:

      Download and install the following packages from the feature pack:

      • ENU\x64\SQLSysClrTypes.msi

      • ENU\x64\SharedManagementObjects.msi

      • ENU\x64\PowerShellTools.msi

    Note: If the PowerShell Extensions aren't available for your SQL Server version or the installation script still doesn't detect the SQL Server PowerShell module, then try installing the PowerShell Extensions from the SQL Server 2016 Feature Pack, or try installing SQL Server 2016 Management Studio.

Important notes

  • Ensure that the PowerShell Execution Policy is correctly set (see https://technet.microsoft.com/en-us/library/ee176961.aspx). To do this, run Set-ExecutionPolicy Unrestricted in the PowerShell command window.

    Note: If you want to avoid modifying the Execution Policy, you can bypass it by running the WorkflowGen installation script as follows: PowerShell.exe -ExecutionPolicy Bypass -File .\install.ps1.

  • Clicking on the shell while it is running will pause the output; you can change this option in the PowerShell options, or press ENTER to resume the output (this will not pause the script, which will continue to run in the background).

  • In JSON format, backslashes (\) must be escaped as follows:

    {
    "param" : "C:\\valid\\windows\\path"
    }
  • You can abort the script at any point by pressing CTRL+C. If this is done during a download or extraction process, the folders created might need to be deleted (e.g. \package\); otherwise, the script will detect their presence and assume that they are complete.

  • The PowerShell installation will also install Node.js v10.19.0, iisnode, and IIS URL Rewrite. Note: Visual C++ Redistributable is required in some particular Windows Server versions and/or configurations, otherwise you might encounter the error The specified module could not be found regarding the edge and edge-js libraries when accessing the /wfgen/graphql, /wfgen/hooks, or /wfgen/scim web apps. You'll need to download and install this manually.

  • To install a previous version of WorkflowGen, use that version's PowerShell installation, available in the Release Notes & Downloads section of the WorkflowGen Forum & Knowledge Base.

Installation

  1. Open config.json in a text editor and configure the parameters for your installation of WorkflowGen (see PowerShell installation configuration parameters below for information on each parameter).

  2. Open a PowerShell instance as Administrator.

  3. Run .\install.ps1 (with the optional script flags listed below, if desired).

Optional PowerShell script flags

Parameter

Description

DownloadOnly

Example: .\install.ps1 -DownloadOnly This option will terminate the scripts after all necessary packages have been downloaded. This is useful if you want to install WorkflowGen on a network that's not connected to the internet.

SkipParamInput

Example: .\install.ps1 -SkipParamInput This option will skip the prompts to review the parameters before launching the installation script, for example if you want to run the install.ps1 script via another script.

PowerShell installation configuration parameters

Parameter

Description

LicenseType

Possible values: trial or full (default: trial) Describes the type of license under which you're installing WorkflowGen: full will populate the SerialNumber parameter in the web.config file; trial will include the trial license (6 months). Note: If you're installing under the full WorkflowGen license, you'll need to manually copy your license file to the WorkflowGen \bin folder (e.g. C:\Inetpub\wwwroot\wfgen\bin).

SerialNumber

If you're installing under the full license, enter the serial number you were provided with

WebAppPath

The physical location where the WorkflowGen site will be located (default: C:\Inetpub\wwwroot\wfgen)

ServicesPath

The physical location where the WorkflowGen services will be installed (default: C:\Program Files\Advantys\WorkflowGen\Services)

NodeJSPath

The physical location where Node.js will be installed; this package is required for WorkflowGen features such as GraphQL and webhooks

SQLServerInstance

The name or location (IP) of the SQL Server database instance Note: If the database server is the same as the WorkflowGen application server, you can use (local).

SQLLoginID & SQLPassword

The login credentials used exclusively for the creation of the WorkflowGen database; these must have the appropriate access level Note: These parameters can be left empty if the SQLServerInstance provided already has a fully-functional (including SQL login users) and up-to-date WorkflowGen database.

DBName

The name of the WorkflowGen database to use or create (default: WFGEN) Note: If the database name is already in use, no database will be created, and the installation will assume that the database provided is fully functional (including SQL login users) and up-to-date.

DBFilePath & DBLogPath

The physical location where the new database will be created (only applicable when creating a new database); leaving this path empty will create the database in the default path in the environment Note: If these parameters are specified, the identity for SQL Server must also have permission for this folder.

DBLoginID & DBPassword

Standard database user (with read and write permissions) used by the WorkflowGen application (default: WFGEN_USER); the database user is created only if a new database is created Notes:

  • Make sure the DBPassword matches the password policy of the SQL Server when creating a new database user.

  • If you're creating a new database, make sure that this login is not already used (by another database, for example).

IISSiteName

The name of the IIS website under which the WorkflowGen application will exist; an IIS website will be created if it does not already exist (default: WorkflowGen)

IISAppPoolName

The name of the IIS application pool for WorkflowGen; an application pool will be created if it does not already exist (default: WorkflowGenAppPool)

IISBinding

The IP address to be bound to WorkflowGen; the * value represents all unassigned IP addresses (default: *) Note: This option is not supported on Windows Server 2012 R2.

IISPort

The TCP/IP port for WorkflowGen (default: 80)

IISAuthentication

Specifies which IIS authentication mode to use for the initial WorkflowGen installation; the possible values are Windows, WorkflowGen, and Basic

  • WorkflowGen uses WorkflowGen's custom authentication module, which stores the credentials in the WorkflowGen database. If this option is selected, the initial password for the account specified in WFGAdminUsername will be set to Passw0rd! and should be changed immediately.

  • Basic uses IIS authentication based on the current Windows setup. With this option, you can create a new Windows user (WFGAdminUsername) with a specific password, or use an existing Windows account.

  • Windows uses IIS authentication based on the current Windows setup, similar to Basic; however, you'll need to be logged in as the account specified in WFGAdminUsername

WFGAdminUsername & WFGAdminPassword & WFGAdminDomain

WorkflowGen's first administrator account (default: wfgen_admin); depending on the authentication method, this may require a corresponding Windows account. A password is only required if the account is being created. Note: Make sure the WFGAdminPassword matches the password policy of the Windows Server when creating a new account.

WebsiteURL

The URL where WorkflowGen will be accessible; this value is populated in the web.config (default: http://localhost/wfgen)

SMTPServer

The location of the SMTP server for WorkflowGen; this value is populated in the web.config (default: smtp.mycompany.com)

DefaultEmailSender

The default email used as the sender for WorkflowGen notifications; this value is populated in the web.config (default: workflowgen@mycompany.com)