The Remote Performance Monitor (RPM) first shipped in version 2 service pack 1 of the .Net Compact Framework.  Since that time, numerous customers have come to depend on RPM to help them diagnose performance problems and find memory leaks in their applications.  With each release we add new features and fix bugs based on what customers tell us is important, and version 3.5 is no exception.  This post summarizes what's new in v3.5. 

Emulator support

One of the most glaring omissions from RPM in previous releases was the lack of support for emulators.  Thankfully, in version 3.5 you can use the WindowsMobile and WindowsCE emulators with RPM just as you would a "real" device.

Auto-deployment of device-side components

The 3.5 version of RPM no longer requires any manual setup steps.  Previously, you had to manually copy netcfrtl.dll and the VSD transports to your device before using RPM.  Now, RPM does everything for you: if anything RPM depends on is missing from your device, those dependencies will be copied before you launch an application.

New User Interface

RPM's user interface has been streamlined to make the process of collecting and browsing performance statistics and analyzing GC heap dumps easier.  We've removed the use of MDI to manage windows, simplified the menu options and added a dialog used to launch applications.  Here's a screenshot of a section of the new UI.  None of us are UI gurus here on the .Net Compact Framework team, but we hope our new approach is an improvement.

We also keep track of the applications you've previously launched so you don't have to retype them every time.  I always hated that....

Improved Device Management

RPM now includes a new component that lets you manage the devices you'd like to connect to.  The following device management form can be accessed from the Browse button on the launch dialog (see the previous picture):

This dialog makes it much easier for you to work with your devices.  As with previous releases, RPM knows about Active Sync devices automatically.  You can now add and save devices connected over tcp/ip so you don't have to retype the addresses each time you'd like to use the device.  You can also set various device properties and designate one of your devices as the default device.  Tagging a device as the default causes it to be automatically selected when the launch dialog is displayed.

Remote Installation of .Net CF

Installing .Net CF into RAM typically involves either rerunning the SDK setup program or browsing through your file system searching for the correct cab to install, manually copying it to the device and launching the cab installer. With RPM 3.5 you can install Net CF onto your device using the device management dialog as shown below:

 

 

RPM will detect the version of the OS on the device, along with the processor type, and deploy the correct cab file.

Deployment of your application from RPM

If the application you'd like to launch isn't present on your device, you can now use RPM to deploy it.  On the launch dialog you'll see two fields: "Deploy application from" and "Application":

As you'd expect, "Deploy application from" is the location on your desktop computer where the .Net Compact Framework application executable you'd like to deploy resides.  The "Application" field is the location on the device you'd like your application deployed to.  There is one subtlety in the use of these fields to remember: in the "Deploy application from" field you specify the directory your application resides in, not including the name of the executable itself.  In the "Application" field you specify the fully qualified name of the destination on device, including executable name. 

For example, say I'd like RPM to deploy the file stored on my desktop computer at c:\temp\neilyoung\archives\riverboat.exe to the \program files\sjp directory on my device.  The values of the two fields would be:

 

This feature can only be used to deploy applications consisting of a single file.  If your application contains one executable file and several dlls you'll still have to deploy your application manually.

We hope these improvements make RPM an even better tool.  As always, please keep the feedback coming.

Thanks,

Steven

This posting is provided "AS IS" with no warranties, and confers no rights.