When attempting to deploy a .NET 3.5 website on the default app pool in IIS7 having the framework section set to .NET 4.0, you may get the following error:
"There is a duplicate 'system.web.extensions/scripting/scriptResourceHandler' section defined."
This error occurs because you are using.NET Framework 4.0, which means that the machine config already has some of the section defined that were used in previous asp.NET versions. In order to fix this error, you will have to do ONE of the following.
OPTION 1 - Set the Web Configuration to use .NET 4.0
- On your EIOBoard Server machine, open up a file explorer.
- Go to the Savance folder. By default it is in C:\Program Files for 32-bit machines or C:\Program Files (x86) for 64-bit machines. However, if you chose a different location during installation, go to that folder location.
- Go to: Savance\EIOBoard Server\EIOBoard
- Right-click on web.config, click on Open With and select Notepad (or a similar text editor).
- Near the top, locate the section that looks something similar to this (where the "..." represents a long line of text):
- In each section with a "...", there is an attribute in the tag that is currently "Version=18.104.22.168". These are all located in about the same column in each line.
- Change each of these values to "Version=22.214.171.124". There should be 8 changes total, 1 in each long line of text in this section.
- Save the web.config file after making these changes, and you should no longer receive the error.
OPTION 2 - Create a New App Pool for EIOBoard
- On your EIOBoard Server machine, open up Internet Information Service (IIS) Manager.
- Under your server's name in the tree explorer on the left, right-click Application Pools and select Add Application Pool.
- Now give a meaningful name to your new Application Pool and make the .NET Framework version to be 2.0.
- After creating the App Pool, right-click on it and go to Advanced Settings. The Advanced Settings window will come up.
- Next to Identity under Process Model, click on .
- The Application Pool Identity window will pop up. Select Custom Account, click on , and set your desired credentials. Be sure to note these credentials.
- When you are done, click in the Application Pool Identity window and in the Advanced Settings window to get back to the IIS Manager.
- Now browse to your EIOBoard site or Virtual Directory. Right-click on it and select Edit Permissions.
- In the EIOBoard Properties window, go to the Sharing tab and click on .
- Check the Share this folder checkbox and click .
- Right-click on your EIOBoard site or Virtual Directory again and select Add Application Pool. The Add Application window will pop up.
- Next to the current Application Pool, click on .
- The Select Application Pool window will pop up. Select your new Application Pool and then select .
- Back in the Add Application window, select a meaningful Alias.
- Under Physical Path, click on and select the path for the App. By default, it is in C:\Program Files\Savance\EIOBoard Server\EIOBoard for 32-bit machines or C:\Program Files (x86)\Savance\EIOBoard Server\EIOBoard for 64-bit machines. However, if you chose a different location during installation, use that folder location.
- Click on . Select Specific User and click on . Type in the credentials that you chose before in Step 6.
- Click on twice to get back to the Add Application window.
- Click on to make sure there is a next to the Authentication test and the Authorization test to make sure they are both valid.
- Select in the Add Application window to create your new App under your EIOBoard site or Virtual Directory.
- Now go to the WebService under your EIOBoard site or Virtual Directory.
- Repeat steps 8 through 19 to add an application under WebService. You should then no longer receive the error when deploying .NET.