Troubleshooting Microsoft IIS Configuration & Operation of Express Software Manager Web Components
Technical Note 2018
Last Reviewed 07-Oct-2013

Applies To
Express Software Manager version 9.0 and above

Note: This information applies to Express Software Manager version 9.0 and above and supersedes the information previously found in this technical note. The original content (for Express Software Manager version 8.0 can now be found in technical note 2024. This includes information on using SSL with Express web components.

Note: The included information which references Express Purchasing applies to Express Software Manager 9.5 and above only.

Summary
Express Software Manager includes several web-based components to facilitate communication between Express Clients and the Express Database, and to deliver Express Reporting and Purchasing via a web browser. These components run under Microsoft Internet Information Services (IIS) and utilize Microsoft's .NET Framework. This technical note provides information about resolving certain IIS configuration issues which may affect proper operation of these components including Express Access Point registration and Express Reporting.

Troubleshooting IIS Configuration Issues

Overview
Express Software Manager includes the following web-based components
  • The Express Access Point is a web service that facilitates communication between Express Clients and the Express Database.
  • Express Reports which consists of two components: a) the Express Reports Console, a web site that provides filtering and report selection; and b) the Express Reports Web Site which provides the actual reports.
  • Express Purchasing, a website that provides Express Software Manager's purchasing functionality.
(The Reports Console and Reports Web Site are installed as a single feature on the same machine and will hereafter be referred to as the Reports Web Site unless individual distinction is necessary.)

The Express web components are built using Microsoft's .NET Framework and run on IIS version 6.0 or higher. (Note: for evaluation purposes, IIS 5.1 running on Windows XP may be used.) The current version of Express Software Manager uses .NET version 4.0; earlier versions of ESM use .NET 3.5 or earlier. The Express Software Manager Requirements Analyzer checks to make sure IIS and the correct version of .NET are installed, however there may still be issues with the IIS configuration that must be resolved. This technical note covers many of these configuration issues based on which operating system version is being used.

Note: This technical note is focused on IIS configuration for deployment of Express web components on Windows Server platforms. Installation on Windows 7/Windows Vista or XP will be similar to Windows 2008 Server and Windows 2003 Server respectively.

Background
Each Express Software Manager web component is created during installation as a "virtual directory" within IIS. A virtual directory is simply a mapping of a web-based name to a physical location where the actual web component is installed. Express web components are, by default, installed into an esmweb folder created in the root folder of the default web site. The individual virtual directories which make up the Express Software Manager web components are simply names which point to folders within the esmweb folder.

For example: ExpressSoftwareManagerAP, the virtual directory of the Access Point, is typically installed in C:\inetpub\wwwroot\esmweb\expresssoftwaremanagerap.

You can view the three virtual directories from within IIS Manager:
  • From the Start menu, select Administrative Tools, then Internet Information Services (IIS) Manager
  • From within IIS Manager, open the tree nodes on the left until you see and open the Default Web Site node
  • Under this node, you will see the three Express-specific virtual directories:
    • ExpressSoftwareManagerAP - the Express Access Point
    • ESMReportsConsole - the Express Reports Console
    • ESMReports - the Express Reports Web Site
    • ESMPurchasing - the Express Purchasing Web Site
  • For any of these, you can view the physical location of the component by right-clicking the virtual directory and selecting Properties (Windows 2003) or Manage Application/Advanced Settings (Windows 2008)
You can determine whether or not the web components have registered and are operating properly in several ways:
  • Express Today includes a list of registered Access Points and their status based on a periodic test of accessibility. If an Access Point is not registered, it will not show up in the list. If it is not accessible for some reason, a red X icon will be displayed next to it.
  • Express Today also includes the URLs used to access Express Reports and Express Purchasing. If either URL is blank, that web component did not register properly.
  • If you are not getting metering or inventory data from Express Clients, the Access Point may not be registered properly.
  • If you are able to access the Reports Console but not view reports themselves (including the dashboard), there may be a configuration issue with the Reports Web Site.

Verifying IIS Configuration
ASP and ASP.NET support must be installed, registered, and enabled for Express web components to work properly. Depending on how .NET and IIS were installed, you may need to enable one or both of these. The process for doing so differs between Windows 2003 and Windows 2008

Verifying configuration on Windows 2003 Server/IIS 6
  1. Open IIS Manager (Start/Administrative Tools/IIS Manager)
  2. Open the top tree node and click on Web Service Extensions
  3. In the right pane, make sure Active Server Pages and ASP.NET v2.0.50727 (32-bit) or ASP.NET v4.0.30319 are set to Allowed.
  4. Exit IIS Manager
If you are running on Windows 2003 Server 64-bit, you need to make sure IIS is running in 32-bit compatibility mode and that 32-bit ASP.NET is registered properly. To do this:
  • Open a DOS box
  • Issue the following commands:
    cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
    For Express Software Manager 9.6 and earlier:
    %SYSTEMROOT%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i
    For Express Software Manager 10.0 and later:
    %SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
This will enable 32-bit .NET as required by Express Software Manager.

Note: This is a global setting on IIS6 and will affect all .NET-based applications on your server.

Verifying configuration on Windows 2008 Server/IIS7
  1. From Start/Control Panel, select Programs and Features
  2. Click Turn Windows features on or off
  3. In the Windows Features dialog box, click Internet Information Services
  4. Expand the Internet Information Services folder, and then expand the World Wide Web Services folder
  5. Expand the Application Development Features folder, and make sure ASP and ASP.NET are both checked
  6. Expand the Common HTTP Features folder and make sure Static Content is checked
  7. Click OK and wait for the install to complete (if applicable)
  8. Close the Control Panel
  9. From Start/Administrative Tools, select IIS Manager
  10. Open the top tree node and click on Application Pools
  11. In the right pane, locate the three Express Software Manager application pools named ExpressAppPool, ExpressReportsAppPool, ExpressReportsConsoleAppPool, and ExpressPurchasingAppPool
  12. For each application pool, verify the following settings:
    • Basic Settings/.NET Framework version (ESM 9.6 and earlier) - .NET Framework v2.0.50727
    • Basic Settings/.NET Framework version (ESM 10.0 and later) - .NET Framework v4.0.30319
    • Basic Settings/Managed pipeline mode - Integrated for ExpressAppPool and Classic for ExpressReportsAppPool, ExpressReportsConsoleAppPool, and ExpressPurchasingAppPool
    • Advanced Settings/Enable 32-bit Applications - True for ExpressReportsAppPool, False for ExpressAppPool, ExpressReportsConsoleAppPool, and ExpressPurchasingAppPool
  13. Exit IIS Manager

Using Secure Sockets Layer (SSL) with the Express Access Point
The Access Point can be configured to use SSL communications which encrypts the data sent between it and the Express Client. If you want to use SSL, you will need to manually register the Express Access Point after it is installed. See "Registering the Express Access Point" below for more information.

For more information about using SSL in IIS, see Microsoft Knowledgebase Article 299875.

Registering the Express Access Point
The Express Access Point is a web service that must register itself with the Express Database. It is normally registered during installation but can be registered manually if automatic registration failed due to IIS configuration issues. If you run the Express Administrative Console, then run the Evaluation Wizard and it fails because there is no Access Point, you need to follow these instructions to register it.

Step 1: Verify Access Point Installation
You should first validate that the Access Point files were installed properly - see the information in the Background section above and verify that the Access Point files are installed in the proper location. If they are not, you may need to rerun setup.

Step 2: Check the Access Point Virtual Directory
Setup creates a virtual directory, that is, a mapping between a name and a physical disk location, to reference the Express Access Point. The information in the Background section above describes how you can view the virtual directories of all of the Express web components from within IIS Manager.
  • If the Access Point virtual directory is shown with the web application icon, you have verified that the Access Point has been created properly.
  • If the Access Point virtual directory is not shown, you will need to uninstall the Access Point and reinstall it.
  • If the Access Point virtual directory is shown with a stop sign icon, you need to verify that it is pointing to the correct folder. You can do this by viewing and, if necessary, modifying the physical location the Access Point virtual directory points to by following the instructions in the Background section above.
  • OK the dialog and close IIS Manager.

Step 3: Register the Access Point
You are now ready to register the Express Access Point.
  • Bring up a browser window on the machine on which the Access Point is installed. The format of the URL you enter depends on your web site's port number and whether or not you are using SSL. The examples below assume the name of the Access Point machine is MYIISBOX.

    Note: Do not use "localhost" for the machine name as the Access Point will not be registered properly.
    • Not using SSL - If you are not using SSL and your web site is using port 80 (the default), enter:
      http://MYIISBOX/expresssoftwaremanagerap/clientservices.asmx
      If your non-SSL web site is using a port other than 80, enter:
      http://MYIISBOX:<port>/expresssoftwaremanagerap/clientservices.asmx
      For example, if your web site is on port 8080, enter:
      http://MYIISBOX:8080/expresssoftwaremanagerap/clientservices.asmx
    • Using SSL - If you are using SSL and your web site is using default SLL port 443, enter:
      https://MYIISBOX/expresssoftwaremanagerap/clientservices.asmx
      If your web site is using a non-default SLL port, enter:
      https://MYIISBOX:<port>/expresssoftwaremanagerap/clientservices.asmx
      For example, if your web site is using port 8443, enter:
      https://MYIISBOX:8443;/expresssoftwaremanagerap/clientservices.asmx
      Important Note: The format of the machine name must match that specified when the SSL certificate was created. If you used a fully qualified domain name to create the certificate, you must use that in the URL, for example:
      https://MYIISBOX.EXAMPLE.COM/expresssoftwaremanagerap/clientservices.asmx
  • You should see a list of the functions provided by the Access Point. (If you do not see such a list, please contact Express Metrix technical support.) Look down the list, locate the link to RegisterAccessPoint and click it.
  • You will see information about this function including a button labeled "Invoke". Click this button. (Note - if you do not see the invoke button, you are likely not running the browser on the Access Point machine. You must do this to register the Access Point.)
  • Clicking Invoke will bring up a new browser window in which the status of the registering process is displayed. There should be two lines, the second of which is an <int> </int> tag enclosing a status value. If the value is 0, the registration succeeded. If it is 1, registration failed and you will need to verify that the credentials you specified when installing the Access Point are valid.
If registration succeeded, you are finished and can now go back and run the Administrative Console. Select Evaluation Wizard from the Help menu to rerun the evaluation process.

Step 4: Verifying the Access Point's Database Credentials
If you were able to successfully display the Access Point function list but the registration process failed (a 1 was returned by Invoke), the Access Point was not able to contact the Express Database. If you installed the Access Point separately, this is most likely caused by specifying the wrong Express username or password during setup. (The Express database account information must match what was specified during database creation.) There are two files on the Access Point that store unencrypted database access credentials. They are located in the Access Point installation folder and a subfolder, for example:
c:\inetpub\wwwroot\esmweb\expresssoftwaremanagerap\web.config
and
c:\inetpub\wwwroot\esmweb\expresssoftwaremanagerap\webreports\webreports.config
If you check web.config and the credentials are incorrect, you'll need to change them in both files.
  • Open web.config in a text editor such as Notepad. (On Windows Vista/2008, make sure to run the editor as Administrator so you can save the file.)
  • Locate the <DBInfo> tag in the file. In this section of the file, you'll see the database server name, database name, user name and password.
  • Verify that all entries are correct for your installation. If your database server is case sensitive, these values are also case sensitive.
  • Save any changes and close the file. If any changes were made, open webreports.config and make the same changes there.
Note: if you are using a non-default SQL Server instance, make sure you include the instance name with the SQL Server machine name, for example MYSQLSERVER\ESMINSTANCE. Once these changes are made, go back and perform step 3 above to register the Access Point.

Registering the Express Reports Console
The Express Reports Console is a web site that is normally registered during installation. If automatic registration failed due to IIS configuration issues, it can be manually registered from within the Express Administrative Console:
  • From Express Today, Web Component Locations, click Express Reports
  • Enter the URL to the Express Reports Console - this is a URL to the ESMReportsConsole virtual directory on the machine on which the Express Reports Web Site was installed. For example, if the Reports Web Site was installed on machine named IISBOX22, the URL would be:
    http://IISBOX22/ESMReportsConsole/Default.aspx
    Note: This URL could start with https if you are using SSL. See the information on Access Point registration (referenced above) for more information on using SSL on your web site.

Registering Express Purchasing
Express Purchasing is a web site that is normally registered during installation. If automatic registration failed due to IIS configuration issues, it can be manually registered from within the Express Administrative Console:
  • From Express Today, Web Component Locations, click Express Purchasing
  • Enter the URL to Express Purchasing - this is a URL to the ESMPurchasing virtual directory on the machine on which the Express Purchasing Web Site was installed. For example, if the Purchasing Web Site was installed on machine named IISBOX22, the URL would be:
    http://IISBOX22/ESMPurchasing/Default.aspx
    Note: This URL could start with https if you are using SSL. See the information on Access Point registration (referenced above) for more information on using SSL on your web site.

Verifying Database Credentials
All web components include their own configuration files which contain, among other configuration settings, the credentials used to access the Express Database. These credentials are written into the files during installation; you should not normally have to change them unless the credentials to your Express Database have been changed. The information above describes verifying/updating database credentials for the Express Access Point. Please see technical note 2023 for information on locating and validating database credentials for other Express web components.

Related Technical Notes

2000Express Software Manager Technical Notes

Click here for a printable version of this tech note.