# Legacy Upgrade

{% hint style="info" %}
This section contains instructions for clients upgrading from **versions 7.22.15 and earlier**. Follow the instructions in this section, then return to the [main upgrade section](https://docs.workflowgen.com/upgrade/10.0.3/workflowgen-upgrade) to complete the procedure.
{% endhint %}

## Update configuration files

Apply the changes to the web configuration file based on the version from which you're upgrading. Once you've applied these changes, return to the [Update configuration files](https://docs.workflowgen.com/upgrade/10.0.3/workflowgen-upgrade/..#update-configuration-files) section in the main upgrade section and continue with the changes there.

#### 📌 Examples

* When upgrading from version 6.5.0, apply the changes in the **When upgrading from version 6.5.0** section to the **When upgrading from all 7.x.x versions and earlier** section.
* When upgrading from version 7.22.1, apply the changes in the **When upgrading from all 7.x.x versions and earlier** section only.

#### When upgrading from version 5.7.4 and earlier

Check the following parameters in your `\wfgen\web.config` and add them if they aren't already there.

```xml
<add key="EngineEnableSelfServiceDataAssignException" value="N" />
<add key="EngineNotificationDefaultReplyTo" value="" />
<add key="EngineNotificationMaxFileAttSize" value="10" />
<add key="EngineNotificationTextDetection" value="Y" />
<add key="EngineNotificationServerTimeout" value="3" />
<add key="ApplicationDistributedDatabaseSourceMode" value="0" />
<add key="ApplicationEnableDistributedDatabaseSource" value="N" />
<add key="ApplicationEnableArchiveSiteRedirectConfirmation" value="Y" />
<add key="ApplicationArchiveSiteUrl" value="" />
<add key="ApplicationShowAssociatedDataWithEmptyValue" value="Y" />
<add key="ApplicationSecurityEnableWebAppsSecureMode" value="N" />
```

{% hint style="warning" %}
`WorkflowGen.My` and `WorkflowGen.My.Web.UI.WebControls` (`WorkflowFileUpload`) version 3.0 or later are required in all your Visual Studio Web Forms if the `ApplicationSecurityEnableWebAppsSecureMode` security feature is enabled. For more information, see the [Web apps security: Workflow parameters secure mode](https://discuss.workflowgen.com/t/setup-web-apps-security-workflow-parameters-secure-mode/125) WorkflowGen Knowledge Base article.
{% endhint %}

```xml
<add key="PortalEnableComments" value="Y" />
<add key="PortalCommentsRefreshFrequency" value="30000" />
<add key="PortalCommentsPopUpWidth" value="376" />
<add key="PortalCommentsPopUpHeight" value="545" />
<add key="PortalCommentsSortBy" value="DATE_POST" />
<add key="PortalCommentsSortOrder" value="ASC" />
<add key="PortalCommentsExpandView" value="N" />
<add key="PortalCommentsListSize" value="25" />
<add key="PortalDisplayCodeNames" value="N" />
<add key="PortalMaxListSize" value="1000" />
<add key="PortalQuickViewEnabled" value="Y" />
<add key="PortalQuickViewDataName" value="FORM_ARCHIVE" />
<add key="PortalQuickViewDisplayOnMouseEvent" value="CLICK" />
<add key="PortalTextDetection" value="Y" />
<add key="PortalActivityCompleteInBackground" value="N" />
<add key="PortalEnableSearchResultAutoRedirect" value="Y" />
<add key="PortalCommonProcessDataNameList" value="" />
<add key="PortalReportEnableCustomColumns" value="Y" />
<add key="PortalReportAllowUserToCreateCustomColumns" value="Y" />
<add key="ReportsTextDetection" value="Y" />
<add key="AdministrationFormDataProviderName" value="System.Data.SqlClient, System.Data.OleDb, System.Data.Odbc, System.Data.OracleClient" />
<add key="AdministrationEnableDeletionRulesCheck" value="Y" />
<add key="AdministrationRestrictManagerToModifyGlobalParticipant" value="N" />
<add key="AdministrationFormDesignUndoLimit" value="30" />
<add key="DirectorySynchronizationMaxUserDeletionCount" value="0" />
<add key="DirectorySynchronizationSyncGroupMembersUsedInParticipantOnly" value="N" />
<add key="PortalFrameSetHeight" value="0,68,*,0" />
```

{% hint style="info" %}
The first number in the `PortalFrameSetHeight` value is the height of the banner. If your website is configured to display a banner, enter its height in pixels here. The other default values should not be changed.
{% endhint %}

```xml
<add key="PortalEnableCallingCard" value="Y" />
<add key="PortalReportAdvancedViewDefault" value="Y" />
<add key="PortalReportEnableCustomCharts" value="Y" />
<add key="PortalReportEnableQuickMassApproval" value="N" />
<add key="PortalReportAllowUserToCreateCustomCharts" value="Y" />
<add key="PortalDefaultWorkflowGraphicalMode" value="HTML5" />
<add key="ProcessesRuntimeWebServiceAllowedUsers" value="wfgen_admin" />
```

{% hint style="info" %}
You can copy the `ProcessesRunTimeWebServiceAllowedUsers` parameter from your existing `\wfgen\ws\web.config` to `\wfgen\web.config`.
{% endhint %}

<pre class="language-xml"><code class="lang-xml"><strong>&#x3C;add key="EFormAspxPreviousFilesCleanUp" value="Y" />
</strong></code></pre>

{% hint style="info" %}
You can copy this parameter from your existing `\wfgen\WfApps\WebApps\eFormASPX\web.config` to `\wfgen\web.config`.
{% endhint %}

```xml
<add key="GetUsersFromDirMaxResultNb" value="100" />
```

{% hint style="info" %}
You can copy this parameter from your existing `\wfgen\WfApps\WebServices\GetUsersFromDir\web.config` to `\wfgen\web.config`.
{% endhint %}

```xml
<add key="XmlToDatabaseTestMode" value="N" />
<add key="XmlToDatabaseEnableTrace" value="N" />
```

{% hint style="info" %}
You can copy these parameters from your existing `\wfgen\WfApps\WebServices\XmlToDatabase\web.config` to `\wfgen\web.config`.
{% endhint %}

```xml
<add key="XmlTransPreviousFilesCleanUp" value="Y" />
<add key="XmlTransEnableTrace" value="N" />
```

{% hint style="info" %}
You can copy these parameters from your existing `\wfgen\WfApps\WebServices\XmlTrans\web.config` to `\wfgen\web.config`.
{% endhint %}

Remove the following deprecated parameters from `<appSettings>`:

```xml
PortalFollowUpRelevantDataListNumber
PortalPopupRelevantDataListNumber
PortalEnableRequestDataListPopUp
```

Define the following nodes in `<configuration>`:

```xml
<location path="." inheritInChildApplications="false">
    <system.web>
        <httpRuntime requestValidationMode="2.0" maxRequestLength="10240" />
    </system.web>
</location>
<location path="wfapps/webforms" inheritInChildApplications="false">
    <system.web>
        <httpRuntime requestValidationMode="2.0" maxRequestLength="10240" />
        <pages clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5" />
    </system.web>
</location>
<location path="ws" inheritInChildApplications="false">
    <system.web>
        <httpRuntime requestValidationMode="2.0" maxRequestLength="10240" />
    </system.web>
</location>
```

Define or update the following node in `<configuration>/<system.web>`:

```html
<pages validateRequest="false" enableSessionState="false" />
```

#### When upgrading from version 6.0.0 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="AdministrationDefaultWorkflowGraphicalMode" value="HTML5" />
<add key="EngineNotificationLogLevel" value="1" />
<add key="RemoteApprovalLogTraceLevel" value="3" />
<add key="RemoteApprovalMailServerSecurity" value="none" />
<add key="RemoteApprovalRefreshInterval" value="180000" />
<add key="RemoteApprovalMailServerType" value="POP" />
<add key="RemoteApprovalLifeSpan" value="0" />
<add key="RemoteApprovalMailServerPort" value="110" />
<add key="ApplicationSecurityPasswordManagementMode" value="V5" />
<add key="ApplicationSecurityMaxLoginAttempts" value="5" />
<add key="ApplicationSecurityMinimumPasswordLength" value="8" />
<add key="ApplicationSmtpPickupDirectory" value="DRIVE:\inetpub\mailroot\Pickup" />
```

{% hint style="info" %}
Replace the `ApplicationSmtpPickupDirectory` path above with the path of your SMTP gateway pickup folder.
{% endhint %}

```html
<add key="ApplicationSmtpServerTimeout" value="3000" />
<add key="ApplicationSmtpDeliveryMethod" value="SmtpServer" />
```

{% hint style="info" %}
The `ApplicationSmtpDeliveryMethod` parameter defines the notification delivery method. By default, it uses the SMTP server, but you can change the SMTP delivery method to **Pickup directory** in the **Administration Module Configuration Panel**.
{% endhint %}

#### When upgrading from version 6.1.0 and earlier

Add the following new parameter to `<appSettings>`:

```html
<add key="AdministrationAssociatedActivitiesToSwimlane" value="Y" />
```

#### When upgrading from version 6.1.4 and earlier

Add or modify the `AdministrationFormDataProviderName` parameter as follows:

```html
<add key="AdministrationFormDataProviderName" value="System.Data.SqlClient,System.Data.OleDb,System.Data.Odbc,System.Data.OracleClient,Oracle.DataAccess.Client" />
```

{% hint style="info" %}
The `Oracle.DataAccess.Client` value was added to this parameter in version 6.1.5.
{% endhint %}

#### When upgrading from version 6.1.6 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="ApplicationWebFormsPath" value="" />
<add key="EngineNotificationDefaultSenderName" value="" />
<add key="PortalDashboardAutoRefreshInterval" value="0" />
<add key="PortalActivityOnCompleteRedirectToView" value="N" />
```

#### When upgrading from version 6.4.0 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="SendMessageProvider" value="TWILIO" />
<add key="SendMessageAccountSID" value="" />
<add key="SendMessageAuthToken" value="" />
<add key="SendMessageFrom" value="" />
<add key="SendMessageApiUrl" value="https://api.twilio.com/2010-04-01/Accounts/" />
<add key="SendMessageEnableLogs" value="Y" />
```

#### When upgrading from version 6.5.0 and earlier

Add the following new parameter to `<appSettings>` to configure the SENDHTTPPOST workflow application log file, replacing the value `n` with `0` to disable logging, `1` for simple logs, or `2` for debug logs:

```html
<add key="SendHttpPostLogLevel" value="n" />
```

#### When upgrading from version 6.6.0 and earlier

Remove the following deprecated parameters from `<appSettings>`:

```html
ApplicationImpersonificationUsername
ApplicationImpersonificationPassword
PortalDefaultWorkflowGraphicalMode
ApplicationEnableFlashDetection
```

#### When upgrading from version 7.1.1 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="GraphqlQueryTimeout" value="90000" />
<add key="GraphqlOperationTimeout" value="30000" />
<add key="GraphqlMaxOperationCount" value="10000" />
<add key="GraphqlMaxInputFileSize" value="10240" />
<add key="GraphqlInputFileDownloadTimeout" value="100000" />
<add key="HooksMaxInputFileDownloadTimeout" value="100000" />
<add key="HooksOperationTimeout" value="30000" />
<add key="HooksMaxInputFileSize" value="10240" />
<add key="EngineServiceTempApiFilesLifespan" value="2" />
```

#### When upgrading from version 7.3.1 and earlier

Add the following new parameter to `<appSettings>`:

```html
<add key="AdministrationDefaultConditionLanguage" value="JS" />
```

#### When upgrading from version 7.6.0 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="ApplicationSmtpEnableSsl" value="N" />
<add key="ApplicationSmtpPort" value="" />
<add key="ApplicationSmtpUsername" value="" />
<add key="ApplicationSmtpPassword" value="" />
```

#### When upgrading from version 7.9.1 and earlier <a href="#id-791-earlier" id="id-791-earlier"></a>

Add the following new parameters to `<appSettings>`:

```html
<add key="GraphqlMaxInputFileContentSize" value="0" />
<add key="HooksMaxInputFileContentSize" value="0" />
<add key="GraphqlInputFileAllowedFolders" value="" />
<add key="HooksInputFileAllowedFolders" value="" />
```

{% hint style="warning" %}
If you're using folders for GraphQL and/or incoming webhooks file operations (such as sending a file action parameter), you must update the values of the `GraphqlInputFileAllowedFolders` and `HooksInputFileAllowedFolders` parameters. See the [GraphQL Input file allowed folders](https://docs.advantys.com/workflowgen-integration-guide/graphql#input-file-allowed-folders) and [Incoming Webhooks Input file allowed folders](https://docs.advantys.com/workflowgen-integration-guide/incoming-webhooks#input-file-allowed-folders) sections in the [WorkflowGen Integration Guide](https://docs.advantys.com/workflowgen-integration-guide/) for more information.
{% endhint %}

#### When upgrading from version 7.14.3 and earlier

Add the following new parameter to `<appSettings>`:

```html
<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y" />
```

#### When upgrading from version 7.14.8 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="EngineServiceInactiveRequestLifespanUnit" value="d" />
<add key="EFormAspxAcceptEmptyInputTextParam" value="Y" />
<add key="SendHttpPostMaxResponseLength" value="4194304" />
<add key="RestApiClientLogLevel" value="0"/>
<add key="RestApiClientRequestTimeout" value="3000" />
<add key="RestApiClientMaxResponseLength" value="4194304" />
<add key="RestApiClientEnableFilesCleanUp" value="Y" />
<add key="GetUsersFromDirLogLevel" value="0" />
<add key="XmlTransEnableFilesCleanUp" value="Y" />
<add key="MergeFormEnableFilesCleanUp" value="Y" />
<add key="GraphqlInputFileAllowedHttpUrls" value="" /> 
<add key="HooksInputFileAllowedHttpUrls" value="" />
```

{% hint style="warning" %}
If you're using HTTP URLs for GraphQL and/or incoming webhooks file operations (such as sending a file action parameter), you must update the values of the `GraphqlInputFileAllowedHttpUrls` and `HooksInputFileAllowedHttpUrls` parameters. See the [GraphQL Input file allowed HTTP URLs](https://docs.advantys.com/workflowgen-integration-guide/graphql#input-file-allowed-http-urls) and [Incoming Webhooks Input file allowed HTTP URLs](https://docs.advantys.com/workflowgen-integration-guide/incoming-webhooks#input-file-allowed-http-urls) sections in the [WorkflowGen Integration Guide](https://docs.advantys.com/workflowgen-integration-guide/) for more information.
{% endhint %}

Remove the following deprecated parameters from `<appSettings>`:

```markup
XmlTransPreviousFilesCleanUp
MergeFormTempFilesLifeSpan
```

#### **When upgrading from version 7.15.2 and earlier**

1. Add the following nodes after the existing `<location>` nodes in `\wfgen\web.config`:

   ```html
   <location path="auth" inheritInChildApplications="false">
       <system.webServer>
           <modules>
               <remove name="ApplicationSecurityAuthenticationModule" />
           </modules>
       </system.webServer>
   </location>
   <location path="hooks" inheritInChildApplications="false">
       <system.webServer>
           <modules>
               <remove name="ApplicationSecurityAuthenticationModule" />
           </modules>
       </system.webServer>
   </location>
   <location path="scim" inheritInChildApplications="false">
       <system.webServer>
           <modules>
               <remove name="ApplicationSecurityAuthenticationModule" />
           </modules>
       </system.webServer>
   </location>
   ```
2. Remove the node below from `\wfgen\auth\web.config`, `\wfgen\hooks\web.config`, and `\wfgen\scim\web.config`, if present:

   ```html
   <modules>
       <remove name="ApplicationSecurityAuthenticationModule" />
   </modules>
   ```

#### When upgrading from version 7.15.4 and earlier

Add the following new parameter to `<appSettings>`:

```html
<add key="PortalRedirectAllowedHttpUrls" value="" />
```

{% hint style="warning" %}
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/workflowgen-integration-guide/integration-using-workflowgen-urls#from-within-another-website)) **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'`).
{% endhint %}

#### When upgrading from version 7.15.5 and earlier

1. Add the following node after the existing `<location>` nodes in `\wfgen\web.config`:

   ```html
   <location path="graphql" inheritInChildApplications="false">
      <system.webServer>
         <httpProtocol>
            <customHeaders>
               <add name="Access-Control-Allow-Origin" value="*" />
               <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, HEAD" />
               <add name="Access-Control-Allow-Headers" value="Accept, Origin, Authorization, Content-Type, x-wfgen-impersonate-username, x-iisnode-auth_user" />
            </customHeaders>
         </httpProtocol>
      </system.webServer>
   </location>
   ```

2. Change the default value of `RestApiClientRequestTimeout` from `3000` to `30000` milliseconds.<br>

3. Make the following modifications to each Node.js component's `web.config` file (located in `\wfgen\graphql`, `\wfgen\hooks`, `\wfgen\scim`, and `\wfgen\auth`):

   * Change the iisnode handler path from `server.js` to `dist/server.js`.
   * Change the rewrite rule `url` property from `server.js` to `dist/server.js`.<br>

   It should look as follows:

   ```html
   <handlers>
      <add name="iisnode" path="dist/server.js" verb="*" modules="iisnode"/>
   </handlers>

   <rewrite>
      <rules>
         <rule name="DynamicContent">
            <conditions>
               <add input="{{REQUEST_FILENAME}}" matchType="IsFile" negate="True"/>
            </conditions>
            <action type="Rewrite" url="dist/server.js"/>
         </rule>
      </rules>
   </rewrite>   
   ```

#### When upgrading from version 7.16.5 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="AdministrationMaxHelpTextSize" value="10000" />
<add key="ApplicationSecurityAuthAdditionalScopes" value="" />
```

#### When upgrading from version 7.18.1 and earlier

Add the following new parameter to `<appSettings>`:

```html
<add key="ReportsTopProcessesNumber" value="10" />
```

#### When upgrading from version 7.18.2 and earlier

Add the following new parameter to `<appSettings>`:

```html
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
```

#### When upgrading from version 7.20.0 and earlier

Add the following new parameters to `<appSettings>`:

```html
<add key="ApplicationSecurityAuthResponseMode" value="" />
<add key="ApplicationSecurityAuthDecodeAccessToken" value="" />
```

#### When upgrading from version 7.21.0 and earlier

Add the following new parameter to `<appSettings>`:

```html
<add key="ExecSqlLogLevel" value="0" />
```

{% hint style="warning" %}
As of WorkflowGen 7.22.0, the log level values for the existing GETUSERSFROMDIR, MERGEFORM, SENDHTTPPOST, and RESTAPICLIENT workflow applications have changed to `0` for no logs (default), `2` for information, and `3` for debugging. You can set (or reset) the log levels by updating the values of the following parameters accordingly:

```html
<add key="GetUsersFromDirLogLevel" value="" />
<add key="MergeFormLogLevel" value="" />
<add key="SendHttpPostLogLevel" value="" />
<add key="RestApiClientLogLevel" value="" />
```

{% endhint %}

#### When upgrading from version 7.22.0 and earlier

Remove the existing `Access-Control-Allow-*` custom header nodes from `location path="graphql"` (as shown below), since they are deprecated as of version 7.22.1:

```html
<location path="graphql" inheritInChildApplications="false">
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="Access-Control-Allow-Origin" value="*" />
                <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, HEAD" />
                <add name="Access-Control-Allow-Headers" value="Accept, Origin, Authorization, Content-Type, x-wfgen-impersonate-username, x-iisnode-auth_user" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</location>
```

{% hint style="warning" %}
If you want to configure CORS to allow GraphQL API access from a third-party application, you must now follow the instructions in the [Cross-origin resource sharing (CORS)](https://docs.advantys.com/workflowgen-integration-guide/graphql#cross-origin-resource-sharing-cors) section in the [WorkflowGen Integration Guide](https://docs.advantys.com/workflowgen-integration-guide/).
{% endhint %}

#### When upgrading from all 7.x.x versions and earlier

1. Add the following new parameters to `<appSettings>`:

   ```xml
   <add key="AdministrationProcessQuickListSize" value="0" />
   <add key="EngineServiceNotificationFrequency" value="60000" />
   <add key="EngineServiceCancellationFrequency" value="120000" />
   <add key="EngineServiceSynchroActionFrequency" value="15000" />
   <add key="EngineServiceScheduledSystemActionFrequency" value="15000" />
   <add key="EngineServiceTimeoutSystemActionFrequency" value="15000" />
   <add key="EngineServiceCleanupFrequency" value="180000" />
   <add key="EngineServiceMaxScheduledSystemActions" value="25" />    
   <add key="EngineServiceMaxTimeoutSystemActions" value="25" />
   <add key="ApplicationSecurityAuthExposeAccessTokenInCookies" value="N" />
   <add key="DocuSignUserGuid" value="" />
   <add key="DocuSignAuthServer" value="" />
   <add key="DocuSignClientId" value="" />
   <add key="DocuSignHostServer" value="" />
   <add key="DocuSignSendLogLevel" value="0" />
   <add key="DocuSignCheckLogLevel" value="0" />
   <add key="JsonToDataLogLevel" value="0" />
   ```

2. Remove the following parameters from `<appSettings>`:

   ```html
   <add key="DirectoryApplicationAssemblyQualifiedName" value="Advantys.Workflow.Directories.WorkflowDirectoryUserManager, Advantys.Workflow.Directories" />
   <add key="DirectoryDeletionRulesAssemblyQualifiedName" value="Advantys.Workflow.Directories.WorkflowDirectoryDeletionRules, Advantys.Workflow.Directories" />
   <add key="DirectoryMaxMapToUsers" value="100" />
   <add key="DirectoryTruncateValue" value="50" />
   ```

3. Add the following to the `<configuration>` node:

   <pre class="language-html"><code class="lang-html"><strong>&#x3C;runtime>
   </strong>    &#x3C;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
           &#x3C;dependentAssembly>
               &#x3C;assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
               &#x3C;bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
           &#x3C;/dependentAssembly>
       &#x3C;/assemblyBinding>
   &#x3C;/runtime>
   &#x3C;system.diagnostics configSource="trace.config" />
   </code></pre>

4. Add `targetFramework="4.8"` to the three web apps' `httpRuntime` nodes:

   <pre class="language-html"><code class="lang-html"><strong>&#x3C;location path="." inheritInChildApplications="false">
   </strong>    &#x3C;system.web>
           &#x3C;httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.8" />
       &#x3C;/system.web>
   &#x3C;/location>
   &#x3C;location path="wfapps/webforms" inheritInChildApplications="false">
       &#x3C;system.web>
           &#x3C;httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.8" />
           &#x3C;pages clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5" />
       &#x3C;/system.web>
   &#x3C;/location>
   &#x3C;location path="ws" inheritInChildApplications="false">
       &#x3C;system.web>
           &#x3C;httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.8" />
       &#x3C;/system.web>
   &#x3C;/location>
   </code></pre>

5. Add the following to the `<configuration>` node in `\Inetpub\wwwroot\wfgen\ws\web.config`:

   ```html
   <runtime>
       <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
           <dependentAssembly>
               <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
               <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
           </dependentAssembly>
       </assemblyBinding>
   </runtime>
   ```

6. Add the following to `<configuration>` node in `\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config`:

   ```html
   <system.diagnostics configSource="WfgDirectoriesSyncService.exe.trace.config" />
   ```

7. Add the following to the `<configuration>` node in `\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineService.exe.config`:

   ```html
   <system.diagnostics configSource="WfgWorkflowEngineService.exe.trace.config" />
   <runtime>
       <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
           <dependentAssembly>
               <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
               <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
           </dependentAssembly>
       </assemblyBinding>
   </runtime>
   ```

## Upgrade the WorkflowGen database

Run the SQL scripts listed below in order, starting with your current version of WorkflowGen, then continue running the scripts in the [Upgrade the WorkflowGen database](https://docs.workflowgen.com/upgrade/10.0.3/workflowgen-upgrade/..#upgrade-the-workflowgen-database) section in the main upgrade chapter.

{% hint style="info" %}
Oracle database is no longer supported as of WorkflowGen 7.16.0.
{% endhint %}

### MS SQL Server

#### For versions 5.1.9 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-2-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.2.x and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-3-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.3.x, 5.4.0 (alpha, beta 1 and beta 2) and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-4-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.4.x official and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-5-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.5.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-5-1.sql`database update script in your SQL Server Management Studio tool.

#### For versions 5.5.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-5-2.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.5.4 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-5-5.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.5.5 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-6-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.6.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-6-2.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.6.2 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-6-3.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.6.3 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-6-4.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.7.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-7-1.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.7.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V5-7-2.sql` database update script in your SQL Server Management Studio tool.

#### For versions 5.7.4 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V6-0-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 6.0.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V6-1-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 6.1.2 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V6-1-3.sql` database update script in your SQL Server Management Studio tool.

#### For versions 6.1.3 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V6-1-4.sql` database update script in your SQL Server Management Studio tool.

#### For versions 6.1.6 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V6-2-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 6.4.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V6-5-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 6.5.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V6-6-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 6.6.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-0-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.1.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-1-1.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.1.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-2-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.2.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-3-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.5.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-6-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.9.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-10-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.10.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-11-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.11.2 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-12-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.12.2 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-13-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.13.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-14-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.14.7 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-15-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.15.1 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-15-2.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.15.5 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-16-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.16.5 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-17-0.sql` database update script in your SQL Server Management Studio tool.

#### For versions 7.21.0 and earlier

Launch the `Update\Databases\MsSQLServer\Update_WFG-V7-22-0.sql` database update script in your SQL Server Management Studio tool.

#### For all 7.x.x and earlier versions

Launch the `Update\Databases\MsSQLServer\Update_WFG-V8-0-0.sql` database update script in your SQL Server Management Studio tool.

## Update the Directory Synchronization configuration file

A new configuration parameter is required when upgrading from **version 5.1.5 and earlier**. This parameter allows you to provide a unique service name to the WorkflowGen Directory Synchronization service should you have multiple instances of WorkflowGen installed on a single server.

Add the following parameter to `DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config`:

```markup
<add key="ServiceName" value="WorkflowGenDirSyncService" />
```

## Update the WorkflowGen Engine Service configuration file

A new configuration parameter is required when upgrading from **version 5.1.5 or earlier**. This parameter allows you to provide a unique service name to the WorkflowGen Engine service should you have multiple instances of WorkflowGen installed on a single server.

Add the following parameter to `DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineService.exe.config`:

```markup
<add key="ServiceName" value="WorkflowGenEngineService" />
```

## Update the GraphQL and webhooks configuration files

In the `\wfgen\graphql\web.config` and `\wfgen\hooks\web.config` files, add the following to `<system.webServer>`:

```html
<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>
```

## Move the XMLTODATABASE transactions file

If you're upgrading **from version 5.7.4 or earlier**, copy the `Transactions.xml` file from `\wfgen\WfApps\WebServices\XmlToDatabase\App_Data` to `\wfgen\App_Data\Files\XmlToDatabase`.

## Remove the `xmlns` attribute

As of WorkflowGen version 7, you must remove the `xmlns` attribute from these configuration files:

```
\wfgen\web.config 
\wfgen\ws\web.config 
\wfgen\WfApps\WebForms\web.config 
DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineServer.exe.config
DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config
```

To do this, change `<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">` to `<configuration>`.
