Creating an Install Package for the Web Client

Updating the client control can be a cumbersome process on large LANs with NT/2000/XP workstations, since normal users typically cannot install ActiveX controls themselves.

In general, you have the following deployment options on most managed LANs:

  1. Walk around to each workstation, log on with admin privileges, navigate to the TSWeb page, and accept client download and install.
  2. Give your users admin privileges; not a good idea.
  3. Deploy the client with automation; the best method, and the alternative methods of doing it are covered below.

Techniques for Deployment of an MSI or Setup Application

An MSI package gives you the most flexibility.  You can publish the MSI in Active Directory, remotely install it using the Installer service, or remotely install using WMI; you can even do walk-around installs more quickly than by navigating to the web page.

A setup.exe is a little more restrictive; you can deploy using WMI or by the walk-around method.  We'll discuss how you get a package put together for the client install next.

Getting an MSI/Setup Package for the TS/RD Client

The only precompiled MSI available for the client at present is the full client.  Here's how you can approach putting together your package.

What The Install Needs to Do

For the web client, install is very simple.  The msrdp.ocx file needs to be copied to the local system.  It then needs to be registered, which can be done with the command

regsvr32 msrdp.ocx

Any install you put together will simply wrap this up.

Alternative 1: Repackage OCX in an MSI Install

You can use Visual Studio or do some work with WinInstall LE from the 3rd party tools folder on the Win2K Server CD to make your own package.  You can also download my MSI-packaged control.

The advantage of this method is that you can deploy the application using Active Directory, so your users don't need admin privileges and so you don't have to walk around the network installing it manually.

Alternative 2: Raw Install

All you need to do is copy the client file and issue the above command; this can be done with a batch file.

Alternative 3: Use  the Full Client MSI

To get an automation-ready MSI, one alternative is to simply upgrade to the full client; it already comes in an MSI, and using it will give you some enhanced abilities (as well as immunity on the local LAN to potential future issues with web client vulnerability).  You can get the installer here:

http://microsoft.com/windowsxp/pro/downloads/rdclientdl.asp

Alternative 4: Create a Setup Package - Inno Setup Example

You can put together your own setup.exe for rapid install using a standard setup tool.  Here are example instructions using Inno Setup.

  1. Extract msrdp.ocx from the msrdp.cab file
  2. Install Inno Setup from http://www.jrsoftware.org/isinfo.php ( I used the 3.02 beta, which is stable - directives may be different for 2.x).
  3. Create a new script.  You can copy and paste the following as the script; note that you will need to customize the Source line to point to where you have your copy of msrdp.ocx stored.
[Setup]
AppName=RDP Web Client
AppVerName=RDP Web Client Build 1095
CreateAppDir=no
DisableStartupPrompt=yes

[Files]
Source: "C:\tmp\msrdp.ocx";
DestDir: "{sys}"; CopyMode: normal; Flags: regserver regtypelib
  1. A Setup.exe file will have been created in an Output subdirectory of the path where you have the msrdp.ocx file.  You can rename the setup.exe as you wish with no problems.
  2. To run a silent Inno install, run with (assuming the installer is still named setup.exe):
setup /silent (no prompts, but the progress window is displayed)
setup /verysilent (no prompts, no progress window - best for WMI deployment)