ArcGIS Server 10.1 - Web Adaptor Installs files to wrong location using Silent Instal

4915
9
Jump to solution
08-20-2012 09:23 AM
harleypowers_parks
New Contributor III
After failing the standard install process, I tried the slient install described in the help document here:
http://resources.arcgis.com/en/help/install-guides/arcgis-server-web-adaptor-iis/10.1/index.html#//0...
And to be clear, using the uninstall from the same help documents.

When I did, the installation created the web folders needed in the wrong place. I tried moving the folders, but that didn't resolve the issue, and right now working on changing rights, permissions,etc.

what we need is a set of instructions which resolves something like the Knowledge articles on arcgis server 9.3.1

the existing knowledgebase article here is lacking the discussion about setting up a user account or Group with rights to edit the webadaptor.config file: Error:  Application Error: Access to the path ???C:\Inetpub\wwwroot\arcgis\WebAdaptor.config??? is d....

also this kbase which tells us to use 2.0 .NET:  Error:  HTTP Error 500.19 - Internal Server Error "The requested page cannot be accessed because the...

Also, for continuity, this is a good forum thread on similar issues:
http://forums.arcgis.com/threads/45825-IIS-Web-Adaptor-Install-Error?p=225680#post225680


there is then this Error:  Failed to create the site. Failed to create the service 'System/CachingTools.GPServer': http://support.esri.com/en/knowledgebase/techarticles/detail/40465

Which reminds me, need to make sure that the services includes the ports being communicated on to the GIS Servers on port 6080.
agsoc             6080/tcp #arcgis server ports for gis data and managment communication
agsoc             6080/udp #arcgis server ports for gis data and managment communication

It should be noted that 10.1 is really new to me, and this installation includes a arcgis spatial data server and seperate web site with the web adaptor.
If you have not seen the admin page it looks like this on the hosting spatial data server:
[ATTACH=CONFIG]17101[/ATTACH]

If anyone has similar installation problems with the Web Adaptor for 10.1, your feedback is requested.

Note: this deployment scenario  is a web server w/ adaptor, single geospatial server, and data store.
at this point, just trying to get the adaptor to see the geospatial server.

Thanks.
0 Kudos
1 Solution

Accepted Solutions
harleypowers_parks
New Contributor III
Well, with the exception of the .net system.web.extensions element workaround, it is working.

the final issue with the Application Error, was the name resolution. this was a little tricky when going between servers, and one is on my vm workstation. Additionally, the name of the server is not always our dns names used internally.

I modified the hosts table in these cases, at which point I could see the rest services page throught the web adaptor.

recap, these are the main points from this forum thread:

1) If your installing the ESRI Web Adaptor and nesting it in a live site that has the "system.web.extensions" element at the root web.config, you will need to work something out with the site owner to move this setting into the folder or application that needs it.

2) If the host site is 4.0 and not 2.0 .NET, you will need to use the "location" element in the Web.config to prevent inheritance.

3) If the web site is physically stored in the "Program Files" directory, you will need to move the installed folders or redirect the virtual folder to the Web Adaptor application file location.

4) You will need to provide permissions to the WebAdaptor.config permissions, full control, using
icacls "C:\file location\WebAdaptor.config" /grant "IIS AppPool\ArcGISWebAdaptorAppPool":F

5) and last, make sure you are resolving to the correct names if your entering in IP addresses.


Regards,
Harley

View solution in original post

0 Kudos
9 Replies
ChrisWhitmore
Esri Regular Contributor
Hi Harley - Where were the web folders placed? And what was the failure with the standard UI install?

Thanks,

Chris
0 Kudos
harleypowers_parks
New Contributor III
Hi Harley - Where were the web folders placed? And what was the failure with the standard UI install?

Thanks,

Chris



Thanks. here is the image of the error provided:
[ATTACH=CONFIG]17099[/ATTACH]
The Silent Install:
msiexec /I D:\WebAdaptor\IIS\setup.msi WEBSITE_ID=1 VDIRNAME=ags /qb

The Silent Install target was here: "C:\Program Files\myWebApp\6.0"
The files were installed here: "C:\Program Files (x86)\myWebApp\6.0"
0 Kudos
harleypowers_parks
New Contributor III
1) Completed an uninstall and attempted re-installed.
2) attempted changing the website 80 to 81 per support. the error indicated the new port number
   2a) assume this route is deadend and set site back the way it was.
3) Completed silent installation, with the default files getting copied to the wrong file location.
4) pointed the virtual file location to the installed location and for now, NETWORK SERVICES is given full control of WebAdaptor folder.
5) HTTP Error 500.19, then followed reference for .net 2.0, and 32 bit application. (really? should i be doing this?)
6) still gettin error... see image:
[ATTACH=CONFIG]17104[/ATTACH]
0 Kudos
harleypowers_parks
New Contributor III
Attempted to install on a different website, but on the same box, and this help resolve some issues.

It made the installation without going to the "Program Files (32)" location, so perhaps this was an issue.

It also created the service account which now, makes more sense as described here:
http://support.esri.com/en/knowledgebase/techarticles/detail/40406

So essentially, if you don't install in the "Program Files" directory, the silent install works, more or less.

when assignment of permission is needed, I wasn't able to use the following:
IIS APPPOOL\ArcGISWebAdaptorAppPool

the Built-in account: ApplicationPoolIdentity must be set in IIS!

As soon as I changed the account to:

NETWORK SERVICE
or
Custom Account

I was not able to set the permissions.

Most important, I need a workaround that will allow for the installation in the "Program File\..." location?

1) I am guessing that the failed attempt to install, the only thing not completed was the file permissions, so here is the workaround for that:
icacls "C:\Program Files\mayWebApp\6.0\apangeo\WebAdaptor.config" /grant "IIS AppPool\ArcGISWebAdaptorAppPool":F

2) IISRESET... and still fail... even after a successful install on a different website, id:5.
3) attempted multiple instances with different names and only the one was installed.

I still need a workaround that will provide a working web adaptor site.
0 Kudos
ChrisWhitmore
Esri Regular Contributor
For the files being installed to C:\Program files (x86):

The Web Adaptor setup is 32-bit. No matter what, the setup will always redirect to the 32-bit Program files. Same thing for other locations that have dual folders for 32-bit and 64-bit, like the System32 folder.

Your situation is a bit different than simply trying to select a 64-bit specific folder for a 32-bit setup, but the same principle applies (I tested to confirm).

Thanks,

Chris
0 Kudos
harleypowers_parks
New Contributor III
right, a little different. the web adaptor installation is only asking for the web site id. I don't provide the path, the  path is pulled from iis or registery. So, the setup being a 32 application should not matter.

as for the configuration, I just discovered an issue with my website.
ESRI support provided this simple application.
zip file attached with the following instructions:
1.  Download the attached file to the <web site name> server.
2.  Within IIS Manager, publish the "bittest" folder as an application.
3.  Using any web browser on the server, load http://localhost/bittest.

this is a simple app that displays some text...

The folder and file bittest/default.aspx with the following code:

<%@ Page Language="cs" AutoEventWireup="false"  Debug="true" %>
<%
    if (IntPtr.Size == 8) {
     Response.Write("Running in 64-bit mode.  Int size=" + IntPtr.Size.ToString());
    } else {
     Response.Write("Running in 32-bit mode.  Int size=" + IntPtr.Size.ToString());
    }
%>


my test failed, so I put the opportunity to the other developers, and this is what we came up with:

The error that occurred was because the child application was inheriting the parent website's web.config file.  To stop the inheritance we will need to wrap certain sections of the parent web.config file.  Here is the text that needs to be added:

<location path="." inheritInChildApplications="false">
</location>

The sections that need to be wrapped are usually the system.web and system.webserver section.

http://stackoverflow.com/questions/4144117/nested-asp-net-application-within-iis-inheriting-parent-c... (look at the 3rd post)

Additionally, as my site is a 4.0 .net, I'm trying to nest the 2.0 application pool (note: assuming that 3.5 uses the 2.0x).
0 Kudos
harleypowers_parks
New Contributor III
To recap on the problem/workarounds -
MyWebSite = 4.0 .NET 4.0 (32-bit enabled)
ESRI Web Adaptor = 2.0 .NET 64-bit (32 bit disabled)

ESRI Web Adaptor is nested in MyWebSite.

Out of the box, the ESRI Web Adaptor does not work in a nested web site because of Microsoft breaking fix in 4.0 .NET http://www.asp.net/whitepapers/aspnet4/breaking-changes

I am able to get the site to work doing the following modifications on MyWebSite's Web.config:
1) wrap the system.web and system.webServer elements with <location path="." inheritInChildApplications="false"></location>
2) comment out the system.web.extensions element. ( this is the part that is not going to fly on the production site)

The workaround also required to complete the installation, since MyWebSite is installed in c:\Program Files\... and files are installed to the c:\Program Files (x86)\...

The installation to the wrong file location workaround (seems to work):
1) point the virutal file to the install location or move the folder to the virtual location
2) run "icalcls" command to set permissions.

I've registered the site successfully with the spatial data server over port 6080, through the web adaptor as well as from the spatial data server admin site.

I'm missing something, because i get an Application Error when trying to view the rest services locally, I think there is config file access that is required between servers, not sure.

[ATTACH=CONFIG]17185[/ATTACH]

instead of this:
[ATTACH=CONFIG]17186[/ATTACH]
0 Kudos
harleypowers_parks
New Contributor III
Well, with the exception of the .net system.web.extensions element workaround, it is working.

the final issue with the Application Error, was the name resolution. this was a little tricky when going between servers, and one is on my vm workstation. Additionally, the name of the server is not always our dns names used internally.

I modified the hosts table in these cases, at which point I could see the rest services page throught the web adaptor.

recap, these are the main points from this forum thread:

1) If your installing the ESRI Web Adaptor and nesting it in a live site that has the "system.web.extensions" element at the root web.config, you will need to work something out with the site owner to move this setting into the folder or application that needs it.

2) If the host site is 4.0 and not 2.0 .NET, you will need to use the "location" element in the Web.config to prevent inheritance.

3) If the web site is physically stored in the "Program Files" directory, you will need to move the installed folders or redirect the virtual folder to the Web Adaptor application file location.

4) You will need to provide permissions to the WebAdaptor.config permissions, full control, using
icacls "C:\file location\WebAdaptor.config" /grant "IIS AppPool\ArcGISWebAdaptorAppPool":F

5) and last, make sure you are resolving to the correct names if your entering in IP addresses.


Regards,
Harley
0 Kudos
harleypowers_parks
New Contributor III

1) If your installing the ESRI Web Adaptor and nesting it in a live site that has the "system.web.extensions" element at the root web.config, you will need to work something out with the site owner to move this setting into the folder or application that needs it.


To follow up, nesting a  .net 2 or 3.5 application in .net 4.0 website is not a good idea:

...for the  "system.web.extensions" or specificially "JSON serialization" is configured in the parent application, Per Microsoft, If an IIS Web application that targets the .NET Framework 3.5 or earlier is nested in an IIS application that targets the .NET Framework 4, the compiler might report errors when it compiles the nested application. This is because Web.config files inherit settings from files that are higher in the configuration file hierarchy. The .NET Framework 4 is backward compatible; therefore, a nested application that targets the .NET Framework 4 can inherit settings from Web.config files that are for earlier versions. But earlier versions of the .NET Framework are not forward compatible; therefore, they cannot inherit settings from a .NET Framework 4 Web.config file.

http://msdn.microsoft.com/en-us/library/a99txfy5(v=vs.100).aspx#different_versions_of_the_net_framew...
0 Kudos