Wednesday, November 30, 2005

CFBuild: Building your own deployment module

To create your own deployment method in CFBH all you need to do is create an application that accepts the following parameters and react to each to aid with your deployment method.

Param 1 -> Device to use
This parameter is currently hardcoded for the Device Connectivity deployment method to "Pocket PC 2003 Emulator". For the ActiveSync deployment method an empty string is passed.

Param 2 -> Deployment type
-cr for Copy and Run
-c for Copy

Param3 -> Application to copy
Full path to the application being deployed. Currently this is only an exe file (but this will change in an update and it could then be a DLL).

Param4 -> Remote destination to copy to
Currently this defaults to "//". Attempts to create folders on the devices proved to be fruitess in my tests unfortunately and require revisiting at some stage.

Param5 -> Run Arguments for application being copied
Currently an empty string is sent for both Deployment methods

Parameters 1, 3, 4 and 5 are quoted as they might contain spaces


Async Deployment Method
\DeployAS.exe "" -cr "c:\someapp.exe" "\\" ""

Device Connectivity Method
\Deploy.exe "Pocket PC Emulator" -cr "c:\someapp.exe" "\\" ""

Q) Steps to adding your new Deployment Method.
A) In the Smart Device Options dialog select the Deployment page. There are 2 methods of deployment that require a file to launch. Replace one of these methods (given the information above for best parameter fit) with the path to your Deployment executable.

Note: An update currently being worked on will be introducing a new parameter. This new parameter will be in the following form...

"file1,file2,file3" or "@filename" where filename is a file that contains a list of filenames in the following format:


This parameter is being introduced to allow you the ability to deploy additional files with your application file. While you can already deploy an Assembly file (right click on the Assembly in the Project Manager and select the Deploy Reference menu item) if deploying to an emulator this doesn't currently work for the other 2 deployment methods (ActiveSync and Device Connectivity).

Any questions either leave a comment or email me.

Friday, November 25, 2005

DCM: Updating the beta to release

Work is starting on updating the current DCM beta to a release version. Only some minor changes will occur and a new install will be built.

It would be an ideal time to contact me with any specific issues you are seeing.

As this will most likely be the final DCM release I might sneak in a couple (of the 42 currently listed in StarTeam) of features I've wanted to add previously.

Stay tuned.

CFBuild: Version 1 released - Website public

Version 1.0 of Compact Framework Build Helper has been released.

For more details please check out the information at
Getting Started, IDE Integration document and a Walk Through for two sample applications (source and precompiled binaries) included in the installation.


Monday, November 14, 2005

pssst... wanna test cfbuild before release?

If you have a Pocket PC or Visual Studio 2003 and want to test Compact Framework Build Helper for Delphi 2005 then contact me via email.

Email is available from

Only apply if you are willing to give feedback over the next couple of days.

What will be tested:
  1. Install and Uninstall
  2. New Deployment Options
  3. Other bugs fixed from previous builds

This is not a 2 week beta test - this is a "I don't want show stoppers found 2 minutes after installation of the release" test.

Friday, November 11, 2005

CFBuild: Deployment (next release)

The next release of the Compact Framework Build Helper will support 3 methods of deployment for your compiled files.

  1. To emulator storage card (how it is in the current release).
  2. To emulator using Device Connectivity from Visual Studio (required). This deployment will also start the application you are deploying in the emulator.
  3. To a real device using ActiveSync that will also start the device when deployed.

Deployment method can be set at the IDE level and can then be overriden of a project basis. I will also make it accessible from the toolbar so it is easy to change methods if required.

As for when it will be available... well I won't give dates but lets just say - within a week.

Many other enhancements and fixes are done as well.