none problem


  • There is a known problem with cab is installed but system error messages are not displayed.

    Workaround here and here is good for debugging but bad for deploying.

    I wonder how people deploy to customers and bypass the problem? 

    P.S. How to reproduce the problem:
    - Windows Mobile 6.5.3 Professional Emulator.
    - C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Diagnostics\
    - Install cab to Storage Card (NOT to Device).
    - Run the following sample code:

      WebRequest webRequest = WebRequest.Create("");
      catch (Exception ex)

    -You will get the error message:

    "An error message is available for this exception but cannot be displayed because these messages are optional and are not currently installed on this device. Please install ‘’ for Windows Mobile 5.0 and above or  ‘’ for other platforms. Restart the application to see the message."


    Thank you.

    • Edited by vv.iwork Wednesday, April 06, 2011 8:58 AM
    Monday, April 04, 2011 3:42 PM

All replies

  • Hello,


    Install "" file on device instead of Storage card then you will rectified your problem. Sometimes you see the error message when an exception occurs on mobile devices:

    “An error message cannot be displayed because an optional resource assembly containing it cannot be found.”

    This is because the resource assembly containing the error message is not installed on the device. so you just installed ‘’ file on your mobile device or emulator.

    Important: do not install on storage card.

    For your http code please msdn reference see.


    Hope it helps.

    - Pavan [MCTS - Windows Mobile 5.0] If you find my post is helpful for you then mark as a answer and vote it.
    Monday, April 04, 2011 4:10 PM
  • Hi,

    Try making a single cab file with multiple cab files( With  your application cap and all required cab files).

    Single cab installer.

    Please check the link to make single cab installer:

    Please let me know if my understanding is wrong regarding your query.






    Monday, April 04, 2011 5:33 PM
  • Thanks all for answers.
    I know about single cab file with multiple cab files.
    My problem is not how to deploy but how to bypass installation bug.
    I never saw a reference that MUST be installed to Device.
    Cab proposes a choice to install to Device or Storage Card, a user 100% will select Storage Card.
    I'm confused that such regular installation prerequisite is so tricky to install.
    I have a feeling that I'm missing something.
    Thank you.

    Monday, April 04, 2011 8:39 PM
    • Proposed as answer by Luke-Skywalker Tuesday, April 12, 2011 6:31 AM
    • Unproposed as answer by vv.iwork Tuesday, April 12, 2011 2:40 PM
    Tuesday, April 12, 2011 6:30 AM
  • Hi Luke-Skywalker,

    I made a reference to martijnh1's blog in my initial post.

    Workaround here and here is good for debugging but bad for deploying.

    Let me try to explain the problem in other words:

    1. You cannot use martijnh1's workaround to deploy System.SR.dll file with your project because System.SR.dll is not redistributable.

    2. You cannot use to deploy System.SR.dll because has a bug:cab is installed but system error messages are not displayed.


    The problem is clear, but I did not find any good reference on this problem discussion/solution.

    Thank you.


    Tuesday, April 12, 2011 3:00 PM