locked
What devices will my app run on? RRS feed

  • Question

  • Let me apologize in advance for this question, but I'm confused.

    I developed a Windows Mobile application in VS 2008 using VB.NET.  I chose the Mobile 5.0 environment, CF 2.0.  My app also requires SQLCE 3.5.  I have finished develpoment, including an installation routine.

    My question:  What devices will my application run on?  I have tested it on the emulator, and on an HP iPaq 111, and it works great.  Will it work on phones, etc.?

    Monday, May 4, 2009 8:21 PM

Answers

  • Assuming that the device you named is a device with a touch screen then the executable should be able to startup and run on pretty much any other Windows Mobile  device with WM5 or WM6 given that the .Net 3.5 framework and SQL CE 3.5 are installed.  But if you've not accounted for the possible screen resolutions then the user experience on some devices may be subpar.  Windows Mobile Professional device (devices with a touch screen) currently range screens from 240x240 to 800x480 pixels, and the orientation is adjustable (so it could be 480x800 instead).
    Joel Ivory Johnson
    • Edited by Joel Ivory Johnson Tuesday, May 5, 2009 1:18 AM added version qualifier
    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Monday, May 4, 2009 9:13 PM
  • Hi Allen,

    You may like to review the "Devices and Platforms Supported by the .NET Compact Framework" article available on MSDN at http://msdn.microsoft.com/en-us/library/ms172550.aspx .

    It outlines which versions of Windows Mobile (i.e. 2003, 5.0, 6 and Smartphone vs Pocket PC) each release of the .NET Compact Framework supports.

    There is also a second table that outlines which version of the .NET CF will be included in the PDA's ROM (i.e. out of the box).

    If you want to use a newer .NET CF release on an old PDA you would need to manually distribute/install the .NET CF runtime as part of your application.

    Hope this helps,
    Christopher Fairbairn

    PS: You can also introduce dependencies within your application by using certain assemblies. For example Microsoft.WindowsMobile.Status.dll is only present on WM 5.0 or above, even though the underlying .NET CF runtime is supported on older OSes.

    Visit my blog at http://www.christec.co.nz/blog/
    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Tuesday, May 5, 2009 1:17 AM
  • Hi Allen,

    Try to install WM 5.0 SDK and WM 6.0 SDK so that you can test your application on multiple emulators with different resolutions including VGA emulators. After installing these SDKs you can find many emulators in the list.

    Then you can make your application compatible for WM 5.0 and WM 6.0 all resolution devices by testing and adjusting the things accordingly.


    Please let me know if you have any queries regarding this.


    Reegards,
    Malleswar


    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Tuesday, May 5, 2009 4:05 AM
  • Hi Allen,

    If you target .NET CF 2.0 and use the Windows Mobile 5.0 Pocket PC SDK (as you appear to be doing) your application should be binary compatible with any Windows Mobile 5.0 or above Pocket PC device. This will mean the application will run on such devices, but it doesn't mean it will run satisfactorly.

    The emulator you are using has a 320x240 screen resolution which matches your device, but there are other form factors devices could use. Ideally you would use the target device combo box within Visual Studio to select a different emulator and test how your user interface reacts to other form factors such as 640x480, or 320 x 320. If you are using the docking and anchoring functionality within System.Windows.Forms for example you may find you have little problems coping with these form factors.

    If you are not using Windows Mobile 5.0 or above specific assemblies (such as Microsoft.WindowsMobile.Status.dll) your application may also be suitable for Pocket PC 2003 devices.

    The other main type of device (Windows Mobile Smartphone) potentially requires additional changes to support fully, but yet again the only real way to figure this out is to try your application on an actual device or emulator and seeing what breaks. The Visual Studio IDE will help you out where it can. For example if you switch to the SmartPhone SDK it will provide warnings where ever you have used buttons, as smartphones (non touchscreen devices) do not support the use of button controls.

    Hope this helps,
    Christopher Fairbairn


    Visit my blog at http://www.christec.co.nz/blog/
    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Thursday, May 7, 2009 4:28 AM

All replies

  • Assuming that the device you named is a device with a touch screen then the executable should be able to startup and run on pretty much any other Windows Mobile  device with WM5 or WM6 given that the .Net 3.5 framework and SQL CE 3.5 are installed.  But if you've not accounted for the possible screen resolutions then the user experience on some devices may be subpar.  Windows Mobile Professional device (devices with a touch screen) currently range screens from 240x240 to 800x480 pixels, and the orientation is adjustable (so it could be 480x800 instead).
    Joel Ivory Johnson
    • Edited by Joel Ivory Johnson Tuesday, May 5, 2009 1:18 AM added version qualifier
    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Monday, May 4, 2009 9:13 PM
  • Hi Allen,

    You may like to review the "Devices and Platforms Supported by the .NET Compact Framework" article available on MSDN at http://msdn.microsoft.com/en-us/library/ms172550.aspx .

    It outlines which versions of Windows Mobile (i.e. 2003, 5.0, 6 and Smartphone vs Pocket PC) each release of the .NET Compact Framework supports.

    There is also a second table that outlines which version of the .NET CF will be included in the PDA's ROM (i.e. out of the box).

    If you want to use a newer .NET CF release on an old PDA you would need to manually distribute/install the .NET CF runtime as part of your application.

    Hope this helps,
    Christopher Fairbairn

    PS: You can also introduce dependencies within your application by using certain assemblies. For example Microsoft.WindowsMobile.Status.dll is only present on WM 5.0 or above, even though the underlying .NET CF runtime is supported on older OSes.

    Visit my blog at http://www.christec.co.nz/blog/
    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Tuesday, May 5, 2009 1:17 AM
  • I'm using CF 2.0.  My device has a screen resolution of 320x240.  I'm not sure what the USA Windows Mobile 5.0 Pocket PC R2 emulator has.  I used WM 5.0 and CF 2.0 as my targets as it seems like I would get more devices that could use the application.  I'm not sure what I can correctly claim my software will run on, though.
    Tuesday, May 5, 2009 2:23 AM
  • Hi Allen,

    Try to install WM 5.0 SDK and WM 6.0 SDK so that you can test your application on multiple emulators with different resolutions including VGA emulators. After installing these SDKs you can find many emulators in the list.

    Then you can make your application compatible for WM 5.0 and WM 6.0 all resolution devices by testing and adjusting the things accordingly.


    Please let me know if you have any queries regarding this.


    Reegards,
    Malleswar


    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Tuesday, May 5, 2009 4:05 AM
  • Hi Allen,

    If you target .NET CF 2.0 and use the Windows Mobile 5.0 Pocket PC SDK (as you appear to be doing) your application should be binary compatible with any Windows Mobile 5.0 or above Pocket PC device. This will mean the application will run on such devices, but it doesn't mean it will run satisfactorly.

    The emulator you are using has a 320x240 screen resolution which matches your device, but there are other form factors devices could use. Ideally you would use the target device combo box within Visual Studio to select a different emulator and test how your user interface reacts to other form factors such as 640x480, or 320 x 320. If you are using the docking and anchoring functionality within System.Windows.Forms for example you may find you have little problems coping with these form factors.

    If you are not using Windows Mobile 5.0 or above specific assemblies (such as Microsoft.WindowsMobile.Status.dll) your application may also be suitable for Pocket PC 2003 devices.

    The other main type of device (Windows Mobile Smartphone) potentially requires additional changes to support fully, but yet again the only real way to figure this out is to try your application on an actual device or emulator and seeing what breaks. The Visual Studio IDE will help you out where it can. For example if you switch to the SmartPhone SDK it will provide warnings where ever you have used buttons, as smartphones (non touchscreen devices) do not support the use of button controls.

    Hope this helps,
    Christopher Fairbairn


    Visit my blog at http://www.christec.co.nz/blog/
    • Marked as answer by warrentang Monday, May 11, 2009 1:41 AM
    Thursday, May 7, 2009 4:28 AM