ConferenceXP 5 Installation Notes

From UW Center for Collaborative Technologies Wiki
Jump to: navigation, search

This documents provides installation instructions and notes for the various ConferenceXP 5.x software components. In general, each software component has a separate MSI installer for 32-bit and 64-bit architectures. The exceptions (currently, the CXP Client) are described below.

Client

In most cases, install by simply downloading and running the CXP Client MSI. When the MSI is complete, the ConferenceXP client should be ready to run.

System Requirements

  • Windows OS: Windows XP or later. (For Windows Server 2008 or later, see note below).
  • .Net Framework 4.0 Client Profile or later. This can be installed through Windows Update. (Versions prior to ConferenceXP 5.3 required .Net Framework 2.0 or later.)
  • If you are using Windows XP, make sure your Windows Media Player version is v.10 or later. This can be installed through Windows Update.
  • You must run in an account with admin permission, or have the ability to elevate to admin through UAC.
  • Hardware Specs: The ConferenceXP Client can run on nearly any hardware that can run Windows, however in order to handle multiple high quality video streams you will want a system with more substantial CPU. Any reasonably modern mid-range desktop CPU, or slightly higher-end laptop should be enough to get you started. Memory reqirements are minimal.
  • Network: There are several network issues to consider
  1. Bandwidth: ConferenceXP can run with as little as a few hundred Kbps, but video quality and number of concurrent streams will be very limited at that level. To deliver good quality audio/video for one participant requires about 1 Mbps at minimum. When working with constrained bandwidth, you will want to be careful to plan the utilization for each participant. Also consider that some networks have different send and receive bandwidths, so these two may need to be calculated and planned separately.
  2. Loss: Some networks may not deliver packets reliably. One example is wireless networks when overutilized, or when reception is marginal. ConferenceXP can't tolerate these extreme cases. You should not have any difficulty with loss on most wired networks.
  3. Multicast: ConferenceXP uses multicast as its native data transmission architecture. Many networks do not support multicast. In this case you can still work with ConferenceXP by using a Reflector Service as described in the ConferenceXP User documentation.

Installing side-by-side with previous version

It should work to install the 5.x client on the same system with a 4.1 client, or different 5.x client versions on the same system, however it is not recommended to actually run more than one client at the same time. Also note that if you uninstall one of them, you will probably need to re-install the other.

Installing on Windows Server 2008

One of the ConferenceXP prerequisites is Windows Media Player. In order to use Windows Media Player on Windows Server 2008, you have to go to the Server Manager and Add Features, then install the Desktop Experience Feature, and reboot. After Windows Media Player is working, you may need to reinstall ConferenceXP.

Venue Service

Prerequisite: Before you can install the Venue Service, you must install the appropriate version of the .Net Framework. For ConferenceXP versions 5.3 and later, use .Net 4.0 or later (full, or extended version). For earlier versions of ConferenceXP, use .Net 2.0 or later.

The installation steps are: 1) Install and activate IIS; 2) Install and activate Microsoft .NET and ASP.NET; 3) Install the Venue Service; 4) Miscellaneous post-processing steps. The precise set of steps differs for XP versus Vista versus Windows 7 and Windows Servers and for the various IIS versions.

Step 1: Install and Activate IIS

To install IIS on Windows XP, follow these steps:

  • Selecting Start => Control Panel => Add Or Remove Programs.
  • Click Add/Remove Windows Components.
  • In the Components list, select the Internet Information Services (IIS) check box, and then click Next.
  • Click Finish. You may need Windows XP media to complete the installation.

To install on Vista and Windows 7:

On these platforms, the process is streamlined such that IIS and ASP.NET are installed at once. Some details about the setup are available under the heading "Installing IIS and ASP.NET on Windows Vista" on this page. Briefly, the procedure is as follows:

  • Control Panel -> Programs -> Turn Windows Features on or off
  • Select the following features under "Internet Information Services":
    • "World Wide Web Services -> Application Development Features -> ASP.Net" Note that this causes a set of dependencies to be automatically selected. Don't unselect any of them.
    • "Web Management Tools -> IIS 6 Management Compatibility -> IIS Metabase and IIS 6 Configuration compatibility" This feature is needed to enable the Venue Service setup MSI to run properly.
    • Optional but recommended: "Web Management Tools->IIS Management Console"

To install on Windows Server 2008 and 2003 R2:

Install IIS and ASP.Net by installing the Web Server role using "Manage My Server" (or "Manage Your Server"). The role is called "Application Server (IIS, Asp.Net)" on Server 2003 R2. While adding the role, on 2008 be sure to check the ASP.Net role service and the IIS 6 metabase compatibility role service, and to confirm to add the other role services upon which these depend. On 2003 R2, check the box to install/configure Asp.Net.

For all but Windows XP and Server 2003 (non-R2), proceed to Step 3.

Step 2: Install and activate .NET and ASP.NET

This step applies to WindowsXP and Server 2003 only. It should not be necessary for ASP.NET installation on Vista, Windows 7 and Server 2008 and Server 2003 R2. For those platforms, continue to Step 3.

Installing .NET Framework

First, you must ensure that .NET 4.0 (extended profile) or later is installed. (Note that prior to ConferenceXP version 5.3, .Net version 2.0 or later was required.) You can verify this by checking under the list of installed programs:

  • Selecting Start => Control Panel => Add Or Remove Programs.
  • Click Change or Remove Components. Actually, this is the default, so you shouldn't have to click anything.
  • Check for the program Microsoft.NET framework 4.0 Extended in the listing. If not installed, it can be found under "Optional Software" in Windows Update.

Registering ASP.NET with IIS

Next, you must register ASP.NET with IIS. Follow these steps:

  • In Windows, on the Start menu, point to Programs, point to Accessories, and then click Command Prompt.
  • At the command prompt, type (Note that the details of the path may vary slightly on different systems):

%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

Where v4.0.30319 is the version number of the .NET Framework that you installed on your server.

  • Press Enter

Step 3: Run the setup utility

Run the MSI or setup.exe to install the venue service.

Note that on Vista, Windows 7 or Server 2008 with UAC you should use the "bootstrapper" setup.exe since it will cause the prompt for elevation of permissions before starting the install. Another alternative with UAC is to first start an admin command prompt (e.g. Right-click on the command prompt icon and select 'Run as Admin'), then run the MSI from that command prompt.

If prompted during setup, select the application pool of your choice. The Default Application Pool is recommended if you don't have a preference. Note that the .Net Framework version of the App Pool you select must be equal or greater than the .Net version targeted by the Venue Service. On one system, the default app pool was found to be running an earlier version. This can be inspected and changed using the IIS Admin tool.

For many installations this is the final step. Add a firewall expeption for the port used by your IIS installation, typically TCP port 80, and configure a Conference XP client to point at your venue service to test.

A quick way to do a local test is to open a browser on the Venue Server machine and type in http://localhost/venueservice. The web service should show its list of methods. Try "Get Participants", then "Invoke". If everything is working locally, you should see a (possibly empty) XML file. Otherwise, continue to step 4.

Step 4: Post-Processing and Troubleshooting

Some platforms and IIS version may require extra configuration. Perform only the steps below that are needed.

Set the Application Pool .Net Version

The .Net version used by the selected Application Pool must be equal or greater than the version required by the Venue Service. For ConferenceXP 5.3 and later, use .Net 4.0 or later. A symptom of this issue is seen if you run a web browser on your venue service system, and navigate to http://localhost/venueservice, you may see a message containing the description:

Unrecognized attribute 'targetFramework'

To change this, run the IIS Manager, expand your server, then 'Application Pools' in the left column. Find the application pool you used in the main panel, select it, and use Basic Settings to change the .Net version.

Add Permission to Temp Directory

You may need to add a permission to your system temp directory to allow the Venue Service to work properly. If you run a web browser on your venue service system, and navigate to http://localhost/venueservice, then click on GetParticipants then Invoke, if you see a message beginning with:

System.InvalidOperationException: Unable to generate a temporary class (result=1).

Then you need to add a permission for the account under which the web service runs (typically MachineName\ASPNET) to %windir%\temp (typically C:\windows\temp). Add Read&Execute, Read and List Folder Contents, then restart the web server.

Add Permission for Application Directory (IIS 7 or later)

When running on Windows 7 or Server 2008 with "Application Pool Identities" (the default) you may need to add permissions to allow the application to access the data file C:\Inetpub\wwwroot\VenueService\VenueService.dat. If you run a web browser on your venue service system, and navigate to http://localhost/venueservice, then click on GetParticipants then Invoke, if you see a message indicating that the applicaton could not access C:\Inetpub\wwwroot\VenueService\VenueService.dat, then you will know that a permission needs to be added.

To add the permission:

  • In Windows Explorer, right-click, c:\inetpub\wwwroot\VenueService, select Properties and select the "Security" tab.
  • Click the "Edit" and then "Add" button
  • Enter "IIS AppPool\DefaultAppPool" (no quotes) in the "Enter the object names to select:" text box. Note that if you are not using the Default Application Pool, or if you have changed the identity of the App Pool, you will need to use a different string here. The default identity for the Classic .Net AppPool is "IIS AppPool\Classic .NET AppPool".
  • Click the "Check Names" button and click "OK".
  • Make sure the DefaultAppPool user has the following permissions: Modify, Read & Execute, List, Read, Write. Click OK.

An alternative way to give the application the necessary permissions is to run the IIS management console from "Computer Management", and set the application pool used by the application to run under the NetworkService account, or other account of your choice. You can change the application pool used by the application by selecting VenueService under "Default Web Site", then click "Advanced settings" on the right panel. You can change the account used by the application pool by selecting Application Pools in the left panel, then select the application pool to change, and select "Advanced Settings" in the right panel. The Identity property sets the account that will be used. Be sure to restart the web server after making these changes.

Firewall Exception for IIS

You may need to explicitly modify your firewall settings to allow through HTTP traffic on port 80. On Windows 7 and Server 2008 this is done by clicking Advanced Settings in Windows firewall, then "Inbound Rules" and enabling the "World Wide Web Services" rule.

IIS 6.0 Web Service Extensions

For IIS 6.0, make sure the ASP.NET v2 "Web Service Extensions" are enabled. This option is set under the IIS configuration tool, which is part of "Administrative Tools" (which is available from the control panel).

Side-by-side installations

Side-by-Side installations of different Venue Service versions on one system should work fine. Simply assign different virtual directory names during setup for the different versions, for example 'venueservice4', 'venueservice5', etc..

Diagnostic Service

The setup for the Diagnostic Service is nearly identical to the Venue Service. Substitute the Diagnostic Service install file for the Venue Service install file in the above instructions.

Additional Firewall Exception

Prior to ConferenceXP version 5.3 a firewall exception for the Diagnostic Service needed to be added manually. For versions 5.3 and later, the exception is added automatically during setup. The Diagnostic service listens on UDP port 1776 by default for inbound reception reports. If the client running locally on the diagnostic service system appears in diagnostic statistics, but remote clients do not, then the firewall exception likely needs to be added.

Additional Permissions for Diagnostic logging

If the diagnostic logging feature is enabled in the web.config file for the DiagnosticService, additional permissions will be needed.

Registry Permission:

To allow logging configuration to be persisted across diagnostic service restarts, create a registry key and give the application pool identity permission to write there. Permission problems for this case will appear in the system's Application event log. To resolve, be sure that the the identity used by the DiagnosticService application pool has permission to read and write registry values at the specified location.

  • Run regedit as administrator
  • Create HKEY_LOCALMACHINE\Software\CCT\DiagnosticService if it doesn't exist
  • Add Full Control permission for "this key and subkeys" for the identity in use by the application, most likely "<local machine>\Network Service" or "IIS AppPool\DefaultAppPool".

File Permission:

By default the diagnostic service will write the log files to the web application directory in c:\inetpub\wwwroot\DiagnosticService. To allow the files to be created and written, add modify permission to the directory for the identity used by the Diagnostic Service application, most likely "<local machine>\Network Service" or "IIS AppPool\DefaultAppPool". If there is a file permission problem preventing the log files from being created, this will be logged as a warning in the system's application event log.

Archive Service

The Archive Service requires that Microsoft SQL Server be installed first. This can be SQL Server 2008 (R2), 2005 or 2000, or one of the free SQL Server Express editions. To simplify deployment, use all the defaults during SQL Server setup. On Windows 7, one of the 2008 (or later) editions is recommended. For SQL Server 2012, see the note below.

Run the MSI installer that is appropriate for your architecture. The installer will offer to initialize the database. You should select Yes unless you have pre-existing archive data that you wish to preserve. Be aware that if SQL Server is not installed, could not be started, or is not a supported version, you will see an error. In this case, you may need to carry out extra Archive Service configuration after the SQL Server issue is resolved. Note that sometimes the error dialogs can appear behind the setup dialogs, making it appear as if the setup has frozen. If an error occurs, it may be easiest to uninstall the Archive Service, resolve the SQL Server issue, then try installing the Archive Service again.

To test your installation you may run the Archive Service Admin tool from the Start menu. This will verify that the database is set up correctly. Next, configure a ConferenceXP client to use your new Archive Service, and try creating then playing back a short archive.

Using SQL Server 2012

Archive Service version 5.3 can be used with SQL Server 2012, however a couple of issues have been noted with the setup. For now the best workaround is to select the option to NOT create the Archive database during installation, then after installation do the following steps:

1. The stored procedure sp_dboption is used in the script AddDatabase.sql, but it is no longer available in SQL Server 2012. Find the line using sp_dboption in the script and replace it with:

 alter database ArchiveService set recovery simple

2. Run osql manually with AddDatabase.sql and AddSPs.sql as described below.

Manually Building or Rebuilding the Database

First verify that setup found your database installation:

If the ConferenceXP Archive Service setup does not successfully find the SQL Server database directory, you will see an exception during setup. For versions prior to 5.2, you may need to edit the SQL script AddDatabase.sql found in the Archive Service application directory. For versions 5.2 and later, the script automatically determines the data path, so you can skip this step and proceed to run the scripts to build the database. The default application directory location where the SQL script is located is: "C:\Program Files\Center for Collaborative Technologies\ConferenceXP\ConferenceXP Archive Service 5.x"). Replace two instances of the place holder string "MSSQLServerLocation" with the actual data directory path. For example, the default location for the default instance with SQL Server 2008 is:

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

For SQL Server Express edition 2008 prior to SP1:

C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA

If you are using a named instance, it might be something like:

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA

When new versions of SQL Server are released, it is expected that they will use slightly different paths. After correcting/verifying, and saving your changes, proceed to manually build the database as described below.

To Manually Build the Database:

If you chose not to let the setup create the ArchiveService database, or if the database creation failed, you can manually create the database and the stored procedures. First be sure to log in to an account that has the required SQL Server permissions. Navigate to the ArchiveService application directory and run from the command prompt:

osql -E -i AddDatabase.sql -r -n
osql -E -i AddSps.sql -r -n

(osql.exe is a tool provided with SQL Server, which should be in your path.)

Note that in some installation scenarios you may need to also specify the server in the osql command:

osql -S <local host name>\<sql server instance name> -E -i AddDatabase.sql

Caution: The AddDatabase script will delete any existing ArchiveService Database. If you have existing data you want to preserve, you should back it up before rebuilding the database.

Enable Archive Service and Admin tool to find your database

If there was an error during setup, or if you changed your database after the ArchiveService setup, you may need to edit configuration files to indicate the database location to the service and to the Archive Service Admin tool. If you run the Admin tool, it will issue an error if it can't find the database.

The two files are found in the application directory:

ArchiveAdmin.exe.config 
ArchiveWindowsService.exe.config 

In each file you will find a line similar to this:

<add key="MSR.LST.ConferenceXP.ArchiveService.SQLConnectionString" value="Data Source = .; Initial Catalog = ArchiveService; Integrated Security = SSPI; Pooling = false"/>

Most likely you will only need to change the "data source" element to indicate an instance, for example:

<add key="MSR.LST.ConferenceXP.ArchiveService.SQLConnectionString" value="Data Source = .\InstanceName; Initial Catalog = ArchiveService; Integrated Security = SSPI; Pooling = false"/>

Where InstanceName is the instance name of your database.

Another possiblity is that you will need to indicate a SQL Server user name and password if you are not using integrated security:

<add key="MSR.LST.ConferenceXP.ArchiveService.SQLConnectionString" value="Data Source=sql_host;Initial Catalog=ArchiveService;Integrated Security=false;User ID=sql_user;Password=sql_password"/>

Here you would replace 'sql_host', 'sql_user', and 'sql_password' using your actual values.

Stop and then start the Archive Service after the changes have been saved.

Archive Service Database Settings

You can change the ArchiveService database initialization settings by editing the SQL script file, AddDatabase.sql, located in the Archive Service application directory, then using the scripts to rebuild the database. The default settings install the database on the C drive with a growth rate of 50 MB and a default size of 100 MB. We recommended that you restrict the growth rate to a small number of bytes, because the Archive Service must cache incoming data while SQL Server is growing the database. Setting the growth rate too high may result in losing data during recording.

Open the Archive Service application directory, which is located by default in C:\Program Files\Center for Collaborative Technologies\ConferenceXP\. Open AddDatabase.sql and make the changes you want for the location, growth rate, or size of the ArchiveService database, and then save the file. Then proceed to rebuild the database as described above.

Changing Archive Service configuration settings

You can change Archive Service settings, such as the TCP Listening port it listens on or the timeout setting, by editing the Archive Service configuration files, located in the <install location>\Center for Collaborative Technologies\ConferenceXP\Archive Service folder. After making changes to a configuration file, restart the Archive Service to make sure the new settings take effect.

Change the TCP Listening port

Open the ArchiveWindowsService.exe.config file and edit the value for the following key:

<add key="MSR.LST.ConferenceXP.ArchiveService.TCPListeningPort" value="8082"/>

Where 8082 is the default TCP listening port.

Save the file and restart the Archive Service.

Change the timeout value

Open the ArchiveAdmin.exe.config file, located in the Archive Service application directory and edit the value for the following key:

<add key="MSR.LST.ConferenceXP.ArchiveService.CommandTimeout" value="600"/>

Where 600 is the number of seconds that Archive Service waits for a response before timing out.

Save the file and restart the Archive Service.

Archive Service Known Issues

  • There are possible message dialog boxes that may appear near the end of setup that may be hidden behind the main setup dialog making it appear as if setup has hung.
  • Under some circumstances there are Windows Firewall exceptions needed which are not created automatically by the installer. The symptom is that conferences appear to archive correctly, but when playing back a conference, no streams appear in the lower "streams" panel. The workaround is to manually add a firewall exception: Open the Firewall Exceptions dialog, click "Add Program", and browse to: "C:\Program Files\Center for Collaborative Technologies\ConferenceXP\ConferenceXP Archive Service 5.x\ArchiveWindowsService.exe"
  • Prior to version 5.2, if you placed your SQL data files in a location other than the default location, the database creation phase of the setup will fail. To create the database find the SQL script addDatabase.sql in the Archive Service application directory and edit the two lines as noted by the comment in the file to point to the actual location of your SQL data, then manually rebuild the database as described above.

Legacy Archive Service Setup Document

These instructions describe ConferenceXP 4.0 setup. [1].

Reflector

For all platforms, it suffices to open and run the reflector MSI file.

Reflector Service Known Issues

  • Prior to ConferenceXP 5.1, Running ConferenceXP client and Reflector Service on the same system was not supported.