none
How to remove or kill default phone application (cprog.exe) from WM2003 SE Phone

    Question

  • Hi guys!

    I have an application, which phone functionality for WM2003 SE Phone (T-mobile MDA III). The default phone app. of PPC  - cprog.exe is very "insolent" and in some cases shows differnet UI elements!

    If I kill its process, after some seconds Services.exe starts it again!

    My question is: Is possible to remove or kill cprog.exe ???

     

    Regards

    Thursday, July 13, 2006 2:36 PM

Answers

  • Remember I said "you don't want to use RIL directly?" This was one of the reasons. CProg (Phone app) is an integral part of the user experience on the PPC PE. If you are creating an application for other people, you cannot simply kill it just because you want to do things with RIL. It's somewhat like "this Explorer application keeps popping up on my XP machine and display some icons on the desktop. Can I kill it to get it out of the way?" Not really. I mean you can, but you are not supposed to
    Thursday, July 13, 2006 10:42 PM

  • Yes, I have almost solved this problem.


    I'm working on the Intermec 700Color mobile computer with Windows Mobile 2003, and since Microsoft does not provide any information on this regard, allegating that *** about the "Windows Mobile User Experience" and their recomendation of not touching what it is bundled on, the same way they did in the desktop with IE, I had to contact with Intermec Support and they gave me the following information (translated by me in order to post it in this forum):


    Place a file named CProg.exe (a program that does nothing, such as one with an empty main function, you can build it your own) in the "\Flash File Store\System\SysCache" folder. Then Warm Boot the handheld, and the CProg.exe that came with the OS in ROM will be temporarily replaced by this one. If you delete the file from the SysCache folder, the original file will be there again when you Cold Boot the machine.


    But, I don't think this pseudo-rom-update feature would be available on handhelds from other manufacturers. For example, I guess, Symbol can only update a whole system image (no individual files).


    There is a problem though:

    The signal status icon in the notification bar will not update accordingly (since this is done by the original CProg.exe), and you will only see an exclamation sign that says there is no service, although your programs can make and answer phone calls with no problem.



    Wednesday, April 04, 2007 1:08 PM

All replies

  • Remember I said "you don't want to use RIL directly?" This was one of the reasons. CProg (Phone app) is an integral part of the user experience on the PPC PE. If you are creating an application for other people, you cannot simply kill it just because you want to do things with RIL. It's somewhat like "this Explorer application keeps popping up on my XP machine and display some icons on the desktop. Can I kill it to get it out of the way?" Not really. I mean you can, but you are not supposed to
    Thursday, July 13, 2006 10:42 PM
  • Hi Alex

    I can't understand something! I was create a program, which use RIL - with managed (netcf) and unmanaged (eVC dll) parts! I'm catching the changes in network signal quality, notifications for calls, Network operator info and others... In the same time you say, that "you don't want to use RIL directly?". Ok, but why my program works?

     

    Thanks and regards

    Friday, July 14, 2006 6:50 AM
  • Alex,
    Agreed that someone generally shouldn't replace the dialer. but assuming that one does, what is the best way to do it? thank you!
    Friday, December 08, 2006 6:39 PM
  • Hello, everybody.
    We need to provide out users a way to answer incoming calls, and to perform outgoing calls only to people on an authorized list (on an external database, they should not use pOutlook Contacts).
    ¿How can I do that if that CProg application always pops up when an incoming call arrives, allowing the users to terminate that conversation and then make free use of the cellular line?
    I can completely build from scratch a full phone application that perfectly fits on my needs, but then I need to block out or disable the default dialer application.
    We have handhelds with an embeded operating system such as Windows Mobile 2003 (CE 4.2) because it is supposed to be the best choice to deploy a kiosk mode mobile solution.
    We can disable the taskbar, so the user cannot launch other programs. We can remap some keys, so that the user cannot launch special functions. We can have control of how other devices such as backlights, radios, network adapters, are enabled or disabled as our application needs, to preserve batteries.
    Now, we DO NEED to replace, or disable, or block out that CProg.exe that does not fit our needs.
    Please, if you do, let us know how.
    We would thank you.

    Thursday, December 28, 2006 6:28 PM
  • Hi,

    The solution is very simple, but it is not documented!!! cprog.exe is located in \Windows folder on your device. Create another application, with the same name "cprog.exe" (eVC or NETCF - simply "Hello world" for example) and put it in the root folder "\". Make a soft reset of your device and the system will run your new executable"\cprog.exe" instead of "\Windows\cprog.exe". This works on MDA3 (WM2003SE). If you want to remove your cprg.exe is necessary to hard reset the device.

     

     

    Friday, December 29, 2006 8:49 AM
  • This is officially unsupported.
    The guys at xda-developers.com might have solution for this.

    Have you considered tp negotiatiate a special contract with your mobile carrier that only allows to call numbers you authorize? This is probably the easiest way to get this solved.

     

    Saturday, December 30, 2006 2:19 PM
    Moderator
  • I could not agree more...

     

    First of all, that probably won't work on newer WM 5.0 devices due to signing issues. You will loose standard phone application and your own might not work as it's not signed properly (RIL is privileged API after all). Or phone might simply refuse to overwrite the phone application in ROM. What you going to do after your stockpile of older PPC 2003 phones is gone?

     

    Next, it does not prevent unauthorized calls. Anybody could simply pull SIM card from your "protected" smart phone, put it into any other phone and that would be it.

     

    Blocking unauthorized calls at the carrier level sounds like a plan to me.

    Sunday, December 31, 2006 3:47 AM
    Moderator
  • Lord_Sy, have you implemented this solution yet?  If so, how did you resolve this issue? Rype.
    Tuesday, January 16, 2007 4:44 PM
  • hi ,
    what are the api call in WM2003 to get the status of incoming calls and when the battery gets low . in both situations i have to save my application .
     could you help me in thsi .
    thanks
    sadiq

    Tuesday, April 03, 2007 10:58 AM

  • Yes, I have almost solved this problem.


    I'm working on the Intermec 700Color mobile computer with Windows Mobile 2003, and since Microsoft does not provide any information on this regard, allegating that *** about the "Windows Mobile User Experience" and their recomendation of not touching what it is bundled on, the same way they did in the desktop with IE, I had to contact with Intermec Support and they gave me the following information (translated by me in order to post it in this forum):


    Place a file named CProg.exe (a program that does nothing, such as one with an empty main function, you can build it your own) in the "\Flash File Store\System\SysCache" folder. Then Warm Boot the handheld, and the CProg.exe that came with the OS in ROM will be temporarily replaced by this one. If you delete the file from the SysCache folder, the original file will be there again when you Cold Boot the machine.


    But, I don't think this pseudo-rom-update feature would be available on handhelds from other manufacturers. For example, I guess, Symbol can only update a whole system image (no individual files).


    There is a problem though:

    The signal status icon in the notification bar will not update accordingly (since this is done by the original CProg.exe), and you will only see an exclamation sign that says there is no service, although your programs can make and answer phone calls with no problem.



    Wednesday, April 04, 2007 1:08 PM
  • How should i remove cprog.exe from an i-mate jasjar running WM5.0?
    I don't have that dir on my device.
    Damn cprog is the hell for developers.
    I'm using RIL just becouse TAPIs doesn't expose all functionalities of my device.
    When i make a data call using RIL, cprog using CellTSP.dll is dropping the call before
    i can answer it damn.
    I don't enjoy using RIL, it must be clear.

    Bye.
    Thursday, April 19, 2007 12:22 AM
  • hi coder82..
     i am trying to get the IMSI on iPAQ on WM5.0. For me RIL_SendSIMCmd is failing. Please tell me ,if you get any solution for this ?
    Thursday, April 26, 2007 12:26 PM
  • Hi

    This thread has a solution (C++) to read the IMSI without using RIL

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=707210&SiteID=1

     

    I'd consider using this approach.

     

    Thursday, April 26, 2007 12:58 PM
    Moderator
  • Hi, I've got the same problem, the signal status icon in the notification bar  of my phone shows an exclamation sign and no service. I can't make and receive call. I need help . thank you.

     

    Monday, December 31, 2007 12:03 PM