# Important Notes Before Upgrading

## Update .NET version <a href="#update-net" id="update-net"></a>

WorkflowGen 10.0.3 requires .NET Framework 4.8, so you must install it **before** proceeding with this upgrade.

## Update the root `web.config` file's URL rewrite rules

As of WorkflowGen 9.2.0, you MUST update your site's root `web.config` file with the new URL rewrite rules, based on how your WorkflowGen URL is configured. For instructions on how to do this, see the [Update the root web configuration file](https://docs.workflowgen.com/upgrade/10.0.3/workflowgen-upgrade#update-the-root-web-configuration-file) section.

## Using `BACKURL_SUBMIT` and `BACKURL_CANCEL` parameters in custom WorkflowGen URLs

As of version 7.15.5, the optional `BACKURL_SUBMIT` and `BACKURL_CANCEL` HTTP parameters used in custom WorkflowGen URLs (for example, [when launching a new request and starting the first action within another website](https://docs.advantys.com/docs/integration/integration-using-workflowgen-urls)) now **ONLY** support absolute URLs (starting with `http://` or `https://`), relative URLs (starting with `/`), or URLs defined in the `PortalRedirectAllowedHttpUrls` configuration parameter (e.g. `value='blank.htm, myPage.htm'`).

## Password encryption change

As of version 7.15.0, the SMTP server account and Remote Approval incoming server account passwords are no longer encrypted in the `web.config` file.

Before upgrading an existing WorkflowGen server, you must manually reset the passwords in cleartext for the `ApplicationSmtpPassword` and `RemoteApprovalIncomingServerPassword` parameters in the `web.config`. Alternatively, you can use the provided `convert-web-config-pwd.ps1` PowerShell script in `\wfgen` to decrypt and convert the passwords in the `web.config`.

## Database server

Microsoft SQL Server 2025 Preview, Azure SQL Database with the Integrated Vectorization Preview feature, or PostgreSQL 17.6 is required for WorkflowGen v10.

### Migrating a legacy WorkflowGen database from MS SQL Server 2005/2008

{% hint style="warning" %}
This database compatibility upgrade is **mandatory** before migrating the WorkflowGen database from MS SQL Server 2005/2008.

It's not required if your WorkflowGen database is already running in MS SQL Server 2012 or later.
{% endhint %}

To do this, launch the `Update\Databases\MsSQLServer\Update_WFG-V7-0_SQL_Triggers_2012.sql` database update script in your SQL Server Management Studio tool.

## Node.js modules <a href="#node-js-modules" id="node-js-modules"></a>

The Node.js modules include the GraphQL API, webhooks, SCIM, and Auth. For instructions on how to enable them, see the [WorkflowGen Node.js-based web applications](https://docs.workflowgen.com/upgrade/10.0.3/workflowgen-upgrade#workflowgen-node.js-based-web-applications) section.

### Upgrade Node.js version

Upgrade Node.js to version 22.20.0 LTS (see <https://nodejs.org/download/release/v22.20.0/>).

### GraphQL and incoming webhooks file upload management parameters

As of WorkflowGen version 7.10.0, if you're using incoming webhooks or GraphQL to upload files when starting a new request or completing an action, you must set the `GraphqlFileInputAllowedFolders`, `HooksFileInputAllowedFolders`, `GraphqlMaxInputFileContentSize`, and `HooksMaxInputFileContentSize` configuration parameters with the appropriate values (see the [When upgrading from version 7.9.1 and earlier](https://docs.workflowgen.com/upgrade/10.0.3/workflowgen-upgrade/legacy-upgrade#id-791-earlier) section).

* `GraphqlFileInputAllowedFolders` and `HooksFileInputAllowedFolders`: These parameters should contain the physical paths of folders that contain files used in uploads.
* `GraphqlMaxInputFileContentSize` and `HooksMaxInputFileContentSize`: These parameters should contain the maximum file size in kilobytes when uploading files using the file content method.<br>

  ✏️ **Note:** We recommend limiting the file content size to small files under 1 megabyte.

## Configuring custom web forms in WorkflowGen 8 or later <a href="#custom-web-forms" id="custom-web-forms"></a>

If you're using custom web forms configured in .NET 2.0, you can keep using them in .NET 2.0 or migrate them to .NET 4.

#### To configure custom web forms for .NET 2.0

1. Use `WorkflowGen.My.dll` in version 2.x.<br>

2. Use a .NET 2.0 application pool.<br>

3. Disable **Web apps secure mode** in the **Security** section on the **General** tab in the **Configuration Panel**.<br>

4. Define or update the following nodes in the web form’s `web.config`:

   ```html
   <configuration>
       <system.web>
           <pages validateRequest="false" enableSessionState="true" />
       </system.web>
   </configuration>
   ```

5. If your web form’s authentication is configured to use the built-in WorkflowGen authentication mode, then the new password hashing mode (One-way Hashing) introduced in version 6.1 will not be compatible with your web form. There are two solutions:<br>
   * Use **Version 5** password management mode instead. Make sure to use the `Advantys.My.dll` and `Advantys.Security.dll` files from version 5.x in the web form’s `\bin` folder.<br>

     **OR**<br>
   * Migrate your web form to .NET 4. Make sure to use the `Advantys.My.dll` and `Advantys.Security.dll` files from WorkflowGen version 8.x in the in the web form’s `\bin` folder. For instructions on how to do this, see the next section.

#### To migrate custom web forms to .NET 4

1. Use `WorkflowGen.My.dll` in version 8.x.x or later.<br>

2. Use a .NET 4 application pool.<br>

3. Define or update the following nodes in the web form’s `web.config`:

   ```html
   <configuration>
       <system.web>
           <httpRuntime requestValidationMode="2.0" targetFramework="4.8" />
           <pages validateRequest="false" enableSessionState="true" clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5" />
       </system.web>
   </configuration>
   ```

4. If your web form’s authentication mode is configured with the built-in WorkflowGen authentication, then make sure to use the `Advantys.My.dll` and `Advantys.Security.dll` files from version 8.x.x or later in the web form’s `\bin` folder.

{% hint style="warning" %}

* These instructions apply only to configuring web forms to run properly without configuration errors. They do not cover potential migration or compatibility issues that may arise due to changes in the latest version of WorkflowGen.My. You must fully retest all of your web forms before production.
* After an upgrade or migration to WorkflowGen 8 or later, custom web forms that use a version 8 or later `WorkflowGen.My.dll` in their custom `\bin` folders require the `WorkflowGenMy.*.resx` resource files in their `App_GlobalResources` sub-folders.
  {% endhint %}

## When deploying a custom assembly SDK workflow application <a href="#sdk-workflow-application" id="sdk-workflow-application"></a>

The WorkflowGen.My and Workflow Web Controls assemblies are no longer strong-named in order to allow non-specific version dependency when referenced by other applications such as custom assembly SDK Workflow applications in WorkflowGen.

This simplifies the deployment procedure of an assembly SDK Workflow application to WorkflowGen 6.2.0 and later, and allows upgrading WorkflowGen to a newer version without having to rebuild the application's assembly that was referencing an older version of WorkflowGen.My.

There are some considerations when deploying a custom assembly SDK workflow application in WorkflowGen, namely the assembly location, the reference to WorkflowGen.My, and the reference to other software libraries.

### Assembly location <a href="#assembly-location" id="assembly-location"></a>

There are two ways of deploying an assembly file in WorkflowGen.

#### Method 1: Reference by assembly's full name

The assembly file must be copied to the three `\bin` folders containing the WorkflowGen executable files: `\wfgen\bin`, `\wfgen\ws\bin`, and `DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin`.

#### Method 2: Reference by assembly's path (full physical path with file name)

The assembly file can be copied to a custom folder such as `DRIVE:\MyWorkflowApps\Assembly.dll`, and then use that specific path in the workflow application's definition.

### Reference to WorkflowGen.My

#### WorkflowGen.My 3.1.0 and earlier

WorkflowGen.My versions 3.1.0 and earlier are strong-named, which means your assembly must be built with and use the same version as your target WorkflowGen. This requires recompiling your assembly whenever you upgrade WorkflowGen to a newer version.

You can use one of the following workarounds to overcome this requirement:

1. Install the required WorkflowGen.My version in the system's Global Assembly Cache (GAC). For instructions on how to do this, see <https://msdn.microsoft.com/en-us/library/6axd4fx6(v=vs.110).aspx>.<br>

   **OR**<br>
2. Add a delegate to handle the assembly resolve event in order to load the current WorkflowGen.My version. For instructions on how to do this, see the [How to add an assembly resolve event delegate to overcome WorkflowGen.My dependency issue when deploying custom assembly SDK workflow application](https://discuss.workflowgen.com/t/how-to-add-an-assembly-resolve-event-delegate-to-overcome-workflowgen-my-dependency-issue-when-deploying-custom-assembly-sdk-workflow-application/330) WorkflowGen Knowledge Base article.<br>

   **OR**<br>
3. Add a web configuration setting to redirect the required version to the current version of WorkflowGen.My. For more information, see <https://msdn.microsoft.com/en-us/library/twy1dw1e(v=vs.110).aspx>.

{% hint style="info" %}
If your assembly is built with WorkflowGen.My version 3.1.0 or earlier, it can be used in WorkflowGen versions 6.2.0 and later if one of the above workarounds has been implemented.
{% endhint %}

#### WorkflowGen.My 3.2.0 and later

As of version 3.2.0, WorkflowGen.My is no longer strong-named in order to allow non-specific version dependency when referenced by your assembly. You can simply deploy your assembly file using one of the two methods in the [Assembly location](#assembly-location) section above in WorkflowGen version 6.2.0 and later.

{% hint style="info" %}
If your assembly is built with WorkflowGen.My version 3.2.0 or later, it can be used in WorkflowGen versions prior to 6.2.0 if you've implemented **either workaround 2 or 3** above.
{% endhint %}

### Reference to other software libraries

If your assembly uses third-party libraries, then these must also be deployed into the three WorkflowGen executable `\bin` folders. Alternatively, they can be installed into the system's Global Assembly Cache (GAC) if they are strong-named assemblies.

## FIPS compliance configuration

WorkflowGen is FIPS compliant as of version 7.10.0. If you want to enable FIPS compliance in your Windows environment, you have to configure the configuration password management and user password management modes beforehand.

### Configuration password management mode

In the **Security** section on the Configuration Panel **General** tab, set **Configuration password management mode** to **AES (FIPS Compliant)** and enter a 32-character encryption key. When you click **Save**, the application passwords will automatically be converted to the new symmetric encryption mode.

### User password management mode

In the **Authentication** section on the Configuration Panel **General** tab, set **Password management mode** to **One-way Hashing (SHA256 FIPS Compliant)** mode.

* If you're using Applicative authentication in **Version 5 (Legacy)** password management mode, users' passwords will automatically be converted into One-way Hashing (SHA256 FIPS Compliant) the next time they log into WorkflowGen.<br>
* If you're using Applicative authentication in **One-way Hashing (SHA256)** password management mode:
  1. Select **IIS** authentication mode.
  2. Select **One-way Hashing (SHA256 FIPS Compliant)** password management mode, then click **Save**.
  3. Re-enter all user passwords.
  4. Reset the authentication mode to Applicative.

## Legacy software support

### Browser and OS versions

WorkflowGen no longer supports Internet Explorer, Windows XP, Windows 7, Windows 8, or Windows Server 2003 or 2008.

### Database

All MS SQL Server versions prior to 2025 Preview or Azure SQL Database without the **Integrated Vectorization Preview** feature are not supported.

Oracle database is not supported.

### Workflow applications

The following applications are deprecated and are no longer provided as of WorkflowGen version 6:

* EFORMPDF
* DOCAPPROVAL
* DOCUPLOAD
* FDFTOXML
* PDFTODATABASE

However, if any of your processes still use these workflow applications, you can keep them declared under the WorkflowGen website as in version 5.
