Found a fix to the "Pocket Inbox/Messaging app doesn't run!" bug!!!

The built-in Pocket Inbox (its name in pre-WM2003SE op. systems) / Messaging (its name in WM2003SE+ op. systems) application often refuses to start because of internal WindowsCE database problems (see for example this thread for an example). Unfortunately, internal database problems like this also plague alternative mailer apps (for example, WebIS Mail) too because they also use the same WinCE system mail databases.

Up to now, noone knew how the bug can be fixed (except for a plain hard reset). Until I came, completely documented the mail-related databases and fiddled with a non-working mail database, that is. ;)

This all means you no longer need to hard reset your Pocket PC if Messaging stops starting!

What you need to do? It's pretty simple.

- get a database export/import-capable tool. I recommend SKTools. Unfortunately, the trial version will be useless; nevertheless, I do recommend purchasing this application for the reasons outlined here (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand). (Note that if you don't want to use it, skip the following section and go to the one on Phatware Pocket dbExplorer!)

- get the free Kenny Soft dbView (I really recommend this app! Too bad it doesn't support backup/restore...)

1. Start SKTools, go to Databases, tap-and-hold pmailFolders and choose Export:

click here for the screenshot

2. start dbView, go to pmailFolders, scroll to the right until you see the column 0x8301, 0x8302 and 0x3001. (Actually, one of them will entirely suffice; it's just for being absolutely sure that I'm recommend this.) The first two will mostly be empty, except for the POP3/IMAP services you've defined, while the third will either contain one of the "ActiveSync/Deleted Items/Drafts/Inbox/IPM.Root/Outbox or Sent Items" or the name of the POP3/IMAP accounts you've set up. In the following screenshot, there is only one user-defined POP3 account is visible. 0x8301 is the standard 'mailtrns.dll', 0x8302 will always be 'POP3' for accounts and 0x3001 is 'winm' in here – the account name of my Windows Mobile Technology account.

click here for the screenshot

Now, highlight the POP3/IMAP accounts and choose the Tools/Delete Record (or click the rightmost-but-one icon). Do this for all your POP3/IMAP accounts. (Note that this process only worked for me if I removed all my POP3 accounts; however, I didn't need to remove the ActiveSync accounts. Your mileage may vary – you may want to try restarting Messaging after removing a record one-by-one. Dunno if it works: it didn't with me; while removing all POP3 accounts did work.)

3. try restarting Messaging. Now, it should work.

4. go back to SKTools; go to Databases, choose Action/Import and go to \My Documents\db_xml:

click here for the screenshot

Highlight pmailFolders.sk.xml and click OK.

All is set – everything is working again and all your mail accounts are restored. No need for any kind of hard reset. Congratulations :)

Alternatively, if you already have/prefer Phatware Pocket dbExplorer (as opposed to SKTools, you can fix this problem even with the trial version, so, you may want to prefer this app in this case), do the following:

1. tap and hold pmailFolders and choose Backup:

click here for the screenshot

Just click OK on the next screen:

click here for the screenshot

2. Now, click pmailFolders and click the right arrow icon at the bottom until you find a record that has many fields: it's only with POP3/IMAP accounts that there are several values; that is, always pay attention to the size of the scrollthumb next to the values in the bottom region. If it's large, then, just step to the next record. If it's small, go down for the field of ID 12289 to check its value (the POP3/IMAP account name):

click here for the screenshot

Once found the right record(s), choose Records/Delete.

3. start Messaging; it will start no problem

4. go back to Pocket dbExplorer and choose Tools/Restore. Choose the backup file (in the screenshot, "PmailBackup") you've saved:

click here for the screenshot

And, on the next screen,

click here for the screenshot

just click OK, and, on the next, Overwrite:

click here for the screenshot

Congrats - that's all! :)

For tech geeks, this is what happens to the databases during runs. After you remove the POP3/IMAP accounts, they are untouched. After you restore the old pmailFolders, though, the following two databases change: pmailMsgClasses and pmailServices. In the latter, it's definitely the 0x8001 that is messed up; after the restoration, these records receive the right value. An example of two messed up and right values:

Pre-restoration, non-working:
<record oid="8057">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="5" >fm -w</field>
<field id="32769" type="19" htype="CEVT_UI4">83893767</field>
</record>
<record oid="8058">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="4" >winm</field>
<field id="32769" type="19" htype="CEVT_UI4">83894329</field>
</record>

Post-restoration, working:
<record oid="8057">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="5" >fm -w</field>
<field id="32769" type="19" htype="CEVT_UI4">8057</field>
</record>
<record oid="8058">
<field id="33536" type="31" htype="CEVT_LPWSTR" size="4" >winm</field>
<field id="32769" type="19" htype="CEVT_UI4">8058</field>
</record>

Note that 'winm' and 'fm -w' is the two POP3 account names I've defined.

Additional, recommended stuff:

- My documentation of the mail-related databases

My other genuine findings, as far as Windows Mobile bugs are concerned (certainly worth reading!):

- Warning to all WM2003+ Pocket Word users (alternatives: iPAQ HQ, AximSite, PPC Magazine, FirstLoox, BrightHand)

- Ever wondered why some of the Web pages saved with MultiIE or Spb Pocket Plus are completely unreadable? (alternatives: PPCT, AximSite, PPC Magazine, iPAQ HQ, FirstLoox)

Do you a "Dummies Version" of this? ;-)

Werner Ruotsalainen's picture

Andy, not yet - the 8125 uses WM5, which uses a new WinCE database technique.

Werner Ruotsalainen's picture

Phil, the Audiovox PPC6600 runs WM2003SE; therefore, the Messaging fix app will fix its Messaging databases. Get it from here, transfer the EXE file to your PDA and execute it there.

I've tested it on WM2003(SE) PPC devices; worked flawlessly. Haven't tested it on PPC PE but I don't think it'll mess up anything.

Note that it'll deleta ALL your Messaging-related settings and databases (accounts, everything).

Werner Ruotsalainen's picture

Nope, unfortunately - this trick can only be used on operating systems prior to WM5 primarily because the database editor tools are still not upgraded for WM5 (otherwise, it would work).

Werner Ruotsalainen's picture

Saab, unfortunately, this tip is only referring to operating systems prior to WM5. I have tons of comparatively old, pre-WM5 articles like this; I'll try to dedicate some time to re-editing them to reflect the WM5/WM6 changes.

Werner Ruotsalainen's picture

Wowz, great! Thanks for the thorough detective work!

Werner Ruotsalainen's picture

Mark, give a try to SKTools PIM cleanup functionality. IIRC, it's able to separately (!) remove mailboxes, not touching anything else in the system (that is, it's in no way a hard/clean reset - you only end up having to set up the mailbox again, which only takes 1-2 minutes, particularly with an external keyboard). Of course, this will only work if and only if you don't have other POP3 mailboxes you don't want to set up again.

Syndicate content