CoreCon API – Part V


Last post we looked at how to write a device side agent. I am uploading the source for file viewer written using CoreCon API’s.


How to use



  • You need to have visual studio 2008 installed in your machine.

  • Extract the zip file. It has 2 solutions and 2 xsl files.

  • Take a back up of your global datastore directory


    • In vista this is “C:\Users\All Users\Microsoft\corecon\1.0”

    • In non-vista this is  “c:\documents and settings\All users\Application Data\Microsoft\corecon\1.0”

  • Copy the xsl files to “addons” directory inside the Global datastore directory.

  • Build the solutions. Copy the RemoteAgent.exe to d:\temp\Armv4i directory. If you are keeping the file in different directory then you need to modify the RemoteAgent.xsl file accordingly (modify the RootPath property)

  • Execute the FileViewer.exe – you have the fileviewer ready.

I have created the RemoteAgent.xsl package for Armv4i architecture only. If you want to work in any other architecture then you need to build the RemoteAgen.sln in the required architecture. Add a Packagetype entry in the Remoteagent.xsl for that architecture. In case you want to add support for X86, then add the following inside the Packagetypecontainer (in RemoteAgent.xsl)


<PACKAGETYPE Name=”x86″ ID=”x86″ Protected=”True”>
  <PROPERTYCONTAINER>
    <PROPERTY ID=”RemotePath” Protected=”True”>%CSIDL_WINDOWS%</PROPERTY>
    <PROPERTY ID=”RootPath” Protected=”True”>D:\temp\x86</PROPERTY>
    <PROPERTY ID=”CommandLine” Protected=”True”></PROPERTY>
    <PROPERTY ID=”CPU” Protected=”True”>x86</PROPERTY>
    <PROPERTY ID=”Host” Protected=”True”>RemoteAgent.exe</PROPERTY>
  </PROPERTYCONTAINER>
  <FILECONTAINER>
    <FILE ID=”RemoteAgent.exe” />
  </FILECONTAINER>
</PACKAGETYPE>


Place the remoteagent.exe built for X86 in D:\temp\X86 directory.



Anand R

fileviewer.zip

Comments (4)

  1. sfcsarge says:

    I have to provide a solution that would provision at least four each Windows CE 5.0 devices that are placed in a four slot Ethernet cradle each device has an TCP IP address where the last octet is 145, 146, 147, and 148.  Using the CoreCon API samples you provide on this blog I was able to connect to each of the four devices by IP address only if I changed the IP Address set inside of VS.Net 2008 under “ToolsOptions Device ToolsDevices” selected “Windows CE Device” and clicked Properties button.  

    I then configured the TCP Connect Transport as: “Use fixed port number: 5655”, and “Use specific IP Address: #.#.#.148” where # was the real octet.  Each time I wanted to connect to another device I had to change the TCP Connect Transport inside VS.Net 2008 before it would work.  

    My question is, can you change or set these settings using the CoreCon API and inside the CoreCon API application?

    VS.Net would not be installed on the provisioning server so  I need to be able to change the TCP connection transport IP Addresses dynamically.

    I tried to use the sample from you last post the uses: “RemoteAgent.exe” but it returns the message “The specified program requires a newer version of Windows. If I copy the “RemoteAgent.exe” to the Windows CE 5.0 device and run it, it returns the message: Cannot find “RemoteAgent” (or one of its components). Make sure the path and filename are correct and that all the required libraries are available. I have a option to deploy to Windows CE device inside of your sample solution but I cannot change the platform to anything but Windows Mobile 5.0 Pocket PC SDK (ARMV4I). All the other samples code you provided works great, what am I missing?

    danny.c.mcnaught@usps.gov

  2. MobileDevGroup says:

    You will not be able to set the transport properties (IP/Port info) using the APIs (at least in the current release). If you want to modify the transport properties you need to do it via Visual studio only.

    As i mentioned in my post the sample i provided is for ARMV4I only. If you want to use this for x86, you need to have "standard sdk" installed (http://www.microsoft.com/downloads/details.aspx?FamilyID=fe5ca9a9-43d9-46d7-bcbe-9fff174acaf5&displaylang=en).

    If you build the same project for X86 you should be able to work with the winCE device as well.

  3. sfcsarge says:

    The RemoteAgent.exe is being deployed to a ARMV4I Windows CE 5.0 device not Windows Mobile 5.0 ARMV4I device. Selecting Windows Mobile 5.0 ARMV4I works for all the other development process on this device using managed code but the unmanaged C++ RemoteAgent complains about missing components. So I assume that this is because this is not a Windows Mobile device but a basic Windows CE 5.0 device. If this assumption is wrong please respond.

    Also, as for having to use VS to set the transport properties severely limits the developmental use of the CoreCon API because you are limited to one PC to one device just like ActiveSync. If all that is required, is to enable the undocumented feature in VS.Net 2008 that sets the transport properties for the desktop to device then you would greatly enhance the CoreCon API, by making it a able to select not only the device type but which device of that type you want to deploy to and provision etc.

    Is Microsoft planning on added this functionality to the CoreCon API? If not please send my comments on to your management for review and possibly adding this feature to the CoreCon API so that companies that support and deploy thousands of devices can modify those device before deployment to the field.

    Thank you!

    Danny C. McNaught

    Project Developer

    EDS-USPS Network Operations

    danny.mcnaught@eds.com or danny.c.mcnaught@usps.gov

Skip to main content