Major architectural changes were introduced at ArcGIS Server 10.1. Therefore, if you're upgrading to 10.9 from 10.0 or earlier versions, you should closely follow the checklist in this topic. If you're upgrading 10.1 or a later version to ArcGIS Server 10.9, the following upgrade checklist does not apply. Instead, see Existing ArcGIS Server users to review common upgrade questions and links to topics that provide full upgrade instructions.
Before you upgrade from 10.0 to 10.9, you must first uninstall all ArcGIS products. Because the 10.9 installation does not recognize your 10.0 service configurations, you are strongly encouraged to prototype the upgrade on a development or test environment before uninstalling your 10.0 server. The steps in this checklist help you take inventory of your existing server so you can re-create its services and settings on your 10.9 server.
This checklist contains the core upgrade and migration steps that everyone needs to perform. You may find that other adjustments need to be made to support your specific set of services or web applications. In most cases, these other adjustments should be minor.
Check the operating system prerequisites
Determine if the operating system (OS) hosting your current installation of ArcGIS Server is 32 bit or 64 bit. ArcGIS Server10.9 requires a 64-bit OS, and the installation will exit and will not install if the OS does not meet this requirement.
If your current OS is 32 bit, make sure the hardware is compatible to support hosting a 64-bit OS. If it's not capable of hosting a 64-bit OS, do not proceed with uninstalling ArcGIS Server. You'll need to acquire new hardware to support the latest version of ArcGIS Server.
Determine the ArcGIS products and versions currently installed
Open Windows Control Panel to the Programs and Features window. Note the ArcGIS products and versions currently installed.
Make backup copies of important configuration files
Before uninstalling your current ArcGIS Server, make copies of the following files and place them in a stable, secure location. Although you won't be able to directly use these files to restore your services, they preserve a reference of the settings you had. These backups are also useful if the upgrade is interrupted or postponed.
- <ArcGIS Server installation location>\Support\Instance.log
- <ArcGIS Server installation location>\server\system\Server.dat
- <ArcGIS Server installation location>\server\system\ServerTypes.dat
- <ArcGIS Server installation location>\server\user\cfg (all folders and files beneath this location)
- C:\inetpub\wwwroot\ArcGIS\Services\web.config (If necessary, adapt this path to your own web server's root location and your ArcGIS Server instance name.)
Create a list of client applications that use your server
Think about the various client applications that your staff and customers use to connect to the web services you host on ArcGIS Server. These can include, but are not limited to, the following:
- Java and .NET Web ADF apps, including apps built with Manager in earlier versions of ArcGIS Server
- Maps built with Map Viewer and saved in ArcGIS Online
- Apps built with the ArcGIS APIs for iOS, Android, and Windows Phone
- Desktop applications such as ArcMap and apps built with ArcGIS Engine
- Third-party and OGC apps
Depending on the types of connections they use and the server URL that you configure when you upgrade, you may need to do some updating in these apps (described throughout the remainder of this topic). You'll probably want to contact the owners of these apps and alert them that you are upgrading.
Determine if you have any client applications that connect to ArcGIS Server using DCOM (ArcGIS Server Local) connections
ArcGIS Server 10.0 and earlier versions supported both DCOM (ArcGIS Server Local) and HTTP (ArcGIS Server Internet) connections. Beginning at version 10.1, support for DCOM connections with ArcGIS Server was discontinued. You need to refactor your web apps to use HTTP connections before upgrading. If you used DCOM connections for the purpose of accessing ArcObjects, you need to remove your ArcObjects code or wrap it in a server object extension.
Determine the URL format used by your existing applications when connecting to ArcGIS Server
You need to determine the URL format used by your existing apps when connecting to ArcGIS Server. This will help you understand whether your apps need to be modified after the upgrade. Using ArcGIS Web Adaptor, you can engineer your site to match the URLs you used at earlier versions, thereby saving yourself the time and effort of updating all your app code.
Apps that make HTTP connections to your server through REST or SOAP generally follow the syntax:
If ArcGIS Server is configured to use the default port of your web server (such as port 443), your URLs will likely not include port :6443. Note that port 6443 corresponds with the use of HTTPS, which is enforced by default by ArcGIS Server. If your site uses HTTP Only, the ArcGIS Server port will be 6080.
Take note of whether your services are being accessed through the default instance name of arcgis or some other instance name.
Also determine if you have multiple instances installed on your system. To do this, browse to <ArcGIS Server installation location>\DotNet and launch the AddInstance.exe tool. Choose Modify an existing instance, and click Next. The dialog box lists the instance names and the IIS website (Port) locations on which they are hosted.
When you upgrade ArcGIS Server, your site will use port 6443 and will have the site name arcgis in the URL. You can expose your site to external users through a different port and site name by installing ArcGIS Web Adaptor. If you don't use ArcGIS Web Adaptor, you need to update your apps to use the new server URL referencing port 6443.
Make an inventory of your existing services
Create an inventory of all your existing services and the folder structure containing them. For example:
- MyServer (root)
- Service1 (service type)
- Service2 (service type)
- . . .
- . . .
Note the properties of your services
Carefully record the properties of each service so that you can re-create the services after you upgrade. You should note the following things in the Service Properties dialog box in ArcCatalog or the corresponding dialog boxes in Manager:
- Description—On the General tab, copy the Description property if it's populated. This can be reused when you re-create the service.
- Document Path—The document path is the most important information to note before uninstalling. View the Parameters tab to see where the source file (such as .mxd, .tbx, or .loc) is located on disk. Once you upgrade, you'll return to these documents and republish them to the server. For map services that use .msd files, also find and note the location of the .mxd.
- Parameters—Note all other property values in the Parameters tab.
- Capabilities and operations—On the Capabilities tab, note the capabilities enabled and operations allowed.
- Pooling parameters—View the Pooling tab, and note the minimum and maximum number of instances that the service is configured to use. Also, note the time-out values that are recorded. You don't have to record whether a service is pooled or nonpooled, since all services are pooled at version 10.1 and later.
- Processes—View the Processes tab, and note the isolation and recycling values.
- Caching—View the Caching tab, and record whether the service is drawn dynamically from the data or using tiles from a cache. If the service uses a cache, note the Cache directory location.
Make an inventory of your KML network links
Determine if your server is hosting any KML network links by logging in to Manager and clicking Services > KML Network Links. If you see KMZ files listed, note them. Also, browse to the KML folder of your ArcGIS Server instance (for example, C:\inetpub\wwwroot\ArcGIS\kml) and make backup copies of all the KMZ files therein.
Note the details of your security configuration
ArcGIS Server for the Microsoft .NET Framework
Determine if security is enabled for your server by opening Manager and browsing to Security > Settings.
Migrate users and roles
If security for GIS services is enabled, note the location of the security store (the location is visible on the same page), and follow the instructions for the specific store type below to migrate your users and roles:
- SQL Server—To use the 10.0 SQL Server store in 10.9, see Using a 10.0 .NET SQL Server security store in later versions.
- Windows local users and groups—If you're using local Windows groups to assign permissions to a web service or folder, use the Security > Users and Security > Roles pages to make an inventory of users and roles. You'll use this inventory to re-create users and roles in 10.9.
- Windows domain users and groups—If you're using Windows domain groups to assign permissions to a web service or folder, you can continue to use the same domain in 10.9. To do this, you must install ArcGIS Server on a machine that is part of the same domain.
Note permissions for folders and services
If security for GIS services is enabled, use Manager to determine which roles are allowed to access each folder and service. To do this, click Services > Manage Services > Manage Folders, and click the Permissions link. Record the list of allowed roles so that you can apply these permissions on your 10.9 server. Repeat this process with each service by clicking the Permissions (lock) button next to the service.
ArcGIS Server for the Java Platform
Determine if security is enabled for your server by opening Manager and browsing to Security > Settings.
Migrate users and roles
If security for GIS services is enabled, click the Security Store tab to determine the type of security store being used, and follow the instructions for the specific store type below to migrate your users and roles:
- Internal Data Store or External Database Store—If the security store used is the Internal Data Store or External Database, use the Security > Users and Security > Roles pages to make an inventory of users and roles. You'll use this inventory to re-create users and roles in your upgraded site.
- LDAP Store—If the security store used is an LDAP server, note the LDAP connection properties. You'll use these properties to use the same LDAP server as the security store in your upgraded site.
- Active Directory—If the security store is Active Directory, determine the domain that hosts the Active Directory. When installing ArcGIS Server, you'll need to install on a machine that is part of the same domain. This enables the server to use the Active Directory server for that domain as the security store.
Note permissions for folders and services
Determine which roles are allowed to access each folder and service. To do this, click Services > Manage Services, and click the Permissions (lock) button next to the folder name. Record the list of allowed roles so that you can apply these permissions on your upgraded server. Repeat this process for each service within the root folder by clicking the Permissions (lock) button next to the service. Repeat this process for each subfolder within the root folder.
Unregister server object extension libraries
Before you uninstall ArcGIS Server, unregister any server object extension libraries deployed on your server object container (SOC) machines. You don't have to unregister the extension with ArcGIS Server; just unregister the library (for example, the DLL in the case of a .NET extension).
Server object extensions do not automatically migrate from 10.0 to later versions. They need to be rebuilt and redeployed.
Verify authorization and licensing information for your upgraded version
Before uninstalling ArcGIS Server, verify that you have the necessary authorization codes or provisioning files that you can use to authorize the server once you upgrade your new version.
Uninstall ArcGIS Server and other ArcGIS products
Uninstall all ArcGIS products from your server. If you had the SOM and SOC components distributed among multiple machines, uninstall those components from all machines.
Once you uninstall, make a backup of any files remaining in the installation location (\ArcGIS\Server10.0) and the instance root location (probably C:\inetpub\wwwroot\ArcGIS).
Install version 10.9 and create a site
Install ArcGIS Server 10.9 and create a site. You can install the server on multiple machines and join them into the same site if desired. See the installation guide and Create a new site.
You also need to install ArcGIS 10.9 for Desktop on at least one machine on your network. ArcMap and ArcCatalog will recognize any previous ArcGIS Server connections that you had in the Catalog tree. Delete the connection to your old server, and establish a new connection to your 10.9 server. See Connect to ArcGIS Server from ArcGIS Desktop.
Register your data with the server
An aspect of ArcGIS Server management not present at 10.0 is the data store, a list of locations known by the server to contain data and have the necessary permissions applied. When you install 10.9, grant the ArcGIS Server account permissions to the data used by your former services. Then register the databases and data folders with ArcGIS Server using the steps in Register your data with ArcGIS Server using ArcGIS for Desktop.
To duplicate the workflow you had in earlier releases, you can register your folders and databases such that the publisher and server use the same path or connection information. In other words, the publisher and the server are accessing the data out of a common folder, visible to both. However, more sophisticated workflows are available allowing for automatic correction of paths as files are transferred between the publisher's machine and the server at publish time.
Finally, register your existing server cache directories with ArcGIS Server, or move your caches into the server cache directory that was created at the same time the site was created.
Publish services and configure properties
Now you can begin publishing your services and configuring them with the same properties they had before you uninstalled. The publishing experience changed at 10.1 and now takes place in ArcGIS Desktop. Follow the instructions in How to publish a service to familiarize yourself with the publishing workflow. If you're publishing map services, you must open the source .mxd file in ArcMap; you cannot directly publish .msd files as you could in version 10.0 and earlier.
As you work through the publishing process, you can use the Service Editor dialog box to set the properties that you recorded from your former services. Most of the properties work the same way as they did at version 10.0 and earlier. Notable exceptions are the minimum and maximum number of instances properties, which now refer to the minimum and maximum number of instances per ArcGIS Server machine, not per the site as a whole.
Map and globe caches created in earlier versions should work in your upgraded site, provided the tiles reside in a registered service cache directory and the ArcGIS Server folder and service names match the name of the directory containing the tiles. The directory should be named in the format <folder name>_<service name>, meaning if you have a folder California with service Fresno, the folder containing the tiles should be named California_Fresno.
You'll see some services already running in your upgraded site that will help you with publishing (PublishingTools) and caching (CachingTools and CachingControllers). If you plan to do a lot of caching and you want to dedicate more server power toward caching jobs, increase the maximum number of instances of the CachingTools service that are allowed to run. At version 10.0 and earlier, you added more instances of the map or globe service being cached; now you add more instances of CachingTools.
Rebuild and redeploy server object extensions
If you were using server object extensions with your previous deployment, now is the time to rebuild them and deploy them to ArcGIS Server. A rebuild is required to create the .SOE file used in version 10.1 and later. Deployment is greatly simplified by the .SOE file and is typically performed using Manager. See Migrate a .NET server object extension to 10.9 and Migrate a Java server object extension to 10.9.
Once you've redeployed your server object extensions, you need to enable them on any services that use them and set the extension properties, if any.
Install ArcGIS Web Adaptor
ArcGIS Web Adaptor helps you integrate your ArcGIS Server site with your existing enterprise web server. Install ArcGIS Web Adaptor if you want to modify the port and URL used to access your server. In most cases, you can get the URL to be the same as it was in earlier releases, saving you the trouble of updating your web apps. There are various other benefits to the Web Adaptor that are listed in About ArcGIS Web Adaptor.
If your ArcGIS Server instance used the default name of arcgis and you want to maintain this in your upgraded site using ArcGIS Web Adaptor, you need to do some preparatory work before you run the Web Adaptor setup. Using your web server software, remove the virtual directory named arcgis. Then delete the folder on disk that was holding the files for the ArcGIS Server instance, for example, C:\Inetpub\wwwroot\arcgis. (You may want to create a backup before you do this.) Finally, install ArcGIS Web Adaptor, and run the Web Adaptor configuration page.
If you don't install ArcGIS Web Adaptor, you need to update the URLs used in your client apps to point to your upgraded server URL. For REST services, this URL is http://gisserver.domain.com:6080/arcgis/rest/services.
Define your security store
At this point, you can begin reconstructing the security settings on your services. You can either connect ArcGIS Server to your previous user and role store, or you can re-create your user and role store using the built-in store in ArcGIS Server . Once you've defined your user and role store, you can reassign the permissions that you recorded for each folder and service.
Republish KML network links
If you noted any KML network links available on your former server, you can republish those with your upgraded ArcGIS Server site. See Upload an existing KML network link to ArcGIS Server.
Migrate and test your web apps
You can now test all of your web apps and update the URLs used by them, if necessary.