[XAP] SMSBackup V0.9, Backup & Export SMS/MSN/Facebook Messages [Updated 2012-05-19]

Search This thread

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
OK so the backup works on my focus. Now can the next step be to merge SMS Database from two phones ?

Tested v0.4 on my HD2 Yuki WP7, works splendid so far (no troubles with SkyDrive at all).
However, I have the following question - is there a way to import a xml database with SMS messages exported from Android using this tool? I guess it's not possible at the moment but is it theoretically possible? :) I have a huge message archive collected in the past 4 years and I'll be very happy if I can keep it like I did when I switched from Iphone to Android.

No, we have no way to operate store.vol because there is no API for manipulating this kind of file. We can only backup and restore the whole file currently.
 
Last edited:
  • Like
Reactions: didopicha

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
Thx man for this app
Is there any chance to translate the app for German dudes?

I will do this, can you give me all words are used in this Application?


THX!!!!!!!!

It is easy to add new language in the app. The trouble is that when new version comes out, it may need more words(thus difficult to maintain). I think English is enough.

The file attached is the words used in V0.5. If it is really necessary, I can build a new xap which includes German language.
 

Attachments

  • language.xls
    32.5 KB · Views: 12
  • Like
Reactions: didopicha

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
Thanks for the great app. Unfortunately, neither importing nor backup work (though exporting & Skydrive work).

First of all, I'm using a Samsung Focus 1.3 v7720 Interop Unlocked

When importing, I get an error that says "Import failed, Can not copy sms from system", then when I click OK, it says "Can not import sms or no sms can be imported".

Then, when I try to backup, it gives me this error: "Backup failed". If I try again, it gives me another error: "Backup failed, Operation not permitted on IsolatedStorageFileStream."

Please help me fix this. Thank you.

This error means the app can not copy "CommsBackup.xml" in your phone(\Application Data\Microsoft\Outlook\BackupVols\CommsBackup.xml), you can try DiagProvXML to check if it can be copied.
 

VenezuelaDan

Member
Apr 27, 2010
31
2
San Antonio
This error means the app can not copy "CommsBackup.xml" in your phone(\Application Data\Microsoft\Outlook\BackupVols\CommsBackup.xml), you can try DiagProvXML to check if it can be copied.

So I did as you suggested (luckily I already had DiagProvXML, but thanks for the link anyway), and I was able to successfully copy CommsBackup.xml from \Application Data\Microsoft\Outlook\BackupVols\ to IsoStorage (Pic Attached). So when I confirmed that I *could* copy it, I went to try the program again and got a new error:

"Import failed, Failed to provision cml

at
System.IO.IsolatedStorage.IsolatedStorageFil..."

Any help would be greatly appreciated.

Thanks
 

Attachments

  • CommsBackup.xml.jpg
    CommsBackup.xml.jpg
    93.7 KB · Views: 61

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
So I did as you suggested (luckily I already had DiagProvXML, but thanks for the link anyway), and I was able to successfully copy CommsBackup.xml from \Application Data\Microsoft\Outlook\BackupVols\ to IsoStorage (Pic Attached). So when I confirmed that I *could* copy it, I went to try the program again and got a new error:

"Import failed, Failed to provision cml

at
System.IO.IsolatedStorage.IsolatedStorageFil..."

Any help would be greatly appreciated.

Thanks

Strange problem. The possbile reason I think is that your CommsBackup.xml is too big(32MB) and copying it will cost some time. In my code, I just wait for a certain amount of time(6 seconds). Is there a "CommsBackup.xml" file in my app's IsolatedStorage("\Applications\Data\09125ea9-95de-469a-aedc-22e35389ab0a\Data\IsolatedStore\Backup\") ? If it exists, then can copy this file but need more waiting time.
 

VenezuelaDan

Member
Apr 27, 2010
31
2
San Antonio
Huh, yeah, there it is! There's also a store.vol (48 MB) in BackupVols. So am I to assume that it worked alright (and the error comes from CommsBackup.xml being to large)?

Thanks for your response.
 

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
Huh, yeah, there it is! There's also a store.vol (48 MB) in BackupVols. So am I to assume that it worked alright (and the error comes from CommsBackup.xml being to large)?

Thanks for your response.

Yes, the app can copy the file, but need more time for executing the copying operation(currently I only set to 6 seconds). I will add a strategy for handling large CommsBackup.xml in the next version(for example, wait for a longer time). Thanks for your feedback! I think you have more than 10,000 text messages.
 

VenezuelaDan

Member
Apr 27, 2010
31
2
San Antonio
Yeeeeeeah about those messages, I never delete my girlfriend's messages (weird romantic sentiment, I know). So that's why.
That would be awesome! Thanks for the help.
Just so you know, after all the troubleshooting and whatnot, I decided to try and restore. After a couple of failed messages saying it couldn't restore, it said it succeeded. It really did succeed (I deleted some useless messages, and they restored). So even after all that, it did work.
This was the last thing holding me back from reformatting my phone and starting from scratch (some weird glitches have been popping up, too much tinkering).

You're the best. Thanks for helping out the whole Windows Phone homebrew community.
 

skorpio

Member
Dec 30, 2004
20
2
49
Vicenza
i have translate the excell file for the italian language...

may be useful?
 

Attachments

  • language_Italian.xls
    34 KB · Views: 10

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,933
Seattle
No, we have no way to operate store.vol because there is no API for manipulating this kind of file. We can only backup and restore the whole file currently.
Actually, it is possible to operate on those files. They are database volume files, either the legacy CEDB (Compact Edition DataBase) or the new EDB (Embedded DataBase) format. There are native APIs on Windows Phone for dealing with both types of database. Of course, they just enable you to read/write the contents (databases and the records they contain) in the file - it's up to you to process those data.

Unless you have some way to increase your app's permissions (I use HtcRoot project on my phone, Heathcliff74 has a method for Samsung but hasn't published it yet), you'll need to copy the .VOL file to your app's Isolated Storage first, or you won't be able to open it using the native APIs (Error 1260/0x4EC).

You can read more about my recent exciting adventures with these APIs here: http://xdaforums.com/showpost.php?p=22126541&postcount=102 . I was specifically dealing with the policy database, so the SMS database may behave a little differently, but the general principles should work. The links to MSDN docs for CEDB and EDB functions are here: http://msdn.microsoft.com/en-us/library/ee489739.aspx . You'd need to write some native code, and probably expose it through COM; Heathcliff74 has written a rather fine tutorial on the steps to do that (I'm assuming you know, or can lern, C++).

Alternatively, your app seems to work pretty well as-is, so you could always just stick with that too. :) Seriously, well done; this was a gaping hole in WP7's (already pretty bad) backup story.
 
  • Like
Reactions: shinichi_wtn

Nowaynoway

Senior Member
May 6, 2007
87
4
Jeddah
Thx for this app !

I can confirm that it works well on my OMNIA 7 with the latest 8107 build:

I could backup all sms´s from my 1st OMNIA 7 and after that I restored them to my 2nd OMNIA 7. Great !

Hint for OMNIA 7 owners: This app doesn´t work with the latest KK2 Samsung update, because the provxml security hole has been closed by Samsung.



Cheers


contable

I’m using Omnia 7 with 8107 build and it is not working with me. It always show backup failed.

i have tried smsbackup v2 and it back up the file successfully but i could not find it under the folder.
 

kahiro

Senior Member
Jun 7, 2005
215
18
Samsung Galaxy Z Fold 4
phone contacts

hi. firstly thanks for the great app.

did anyone noticed any odd behavior with contacts after a restore?

i did a couple of test after a hard reset and found the following:

1. if i sync with live account first restoring store.vol kinda screw up the people hub. The live tile doesn't show any pictures anymore and the contact photos get screwed up. ie, photo for contact A will show as contact B.

2. if i restore store.vol first and then sync live account then the word search in the people hub get screwed up. ie, contact John Doe is there but when i search for John no results. i can scroll to the contact open the contact but just doesn't show when searching.

anyone got any suggestions/solution would be much appreciated.
 

shinichi_wtn

Senior Member
Jun 25, 2009
58
81
Beijing
Actually, it is possible to operate on those files. They are database volume files, either the legacy CEDB (Compact Edition DataBase) or the new EDB (Embedded DataBase) format. There are native APIs on Windows Phone for dealing with both types of database. Of course, they just enable you to read/write the contents (databases and the records they contain) in the file - it's up to you to process those data.

Unless you have some way to increase your app's permissions (I use HtcRoot project on my phone, Heathcliff74 has a method for Samsung but hasn't published it yet), you'll need to copy the .VOL file to your app's Isolated Storage first, or you won't be able to open it using the native APIs (Error 1260/0x4EC).

You can read more about my recent exciting adventures with these APIs here: http://xdaforums.com/showpost.php?p=22126541&postcount=102 . I was specifically dealing with the policy database, so the SMS database may behave a little differently, but the general principles should work. The links to MSDN docs for CEDB and EDB functions are here: http://msdn.microsoft.com/en-us/library/ee489739.aspx . You'd need to write some native code, and probably expose it through COM; Heathcliff74 has written a rather fine tutorial on the steps to do that (I'm assuming you know, or can lern, C++).

Alternatively, your app seems to work pretty well as-is, so you could always just stick with that too. :) Seriously, well done; this was a gaping hole in WP7's (already pretty bad) backup story.
Good:) it's really an exciting news. I will spend some time to look into it. Although I'm not very familiar with C++, I will try. Thanks for sharing your adventures on CEDB and EDB.
 

AshleyT

Senior Member
Oct 26, 2011
157
67
Salerno
Just a little information...
I have an Omnia 7 with the latest firmware that locks the possibility of using this application. Now I want to flash a DFT Full-Unlocked ROM.
I copied "store.vol" using Windows Phone Device Manager
Now, All I need to do, after flashing, is to put that file back where it was before? Anything else?

EDIT: It works! I'm so happy :D
(I used WP7 Root Tools to copy the file)
 
Last edited:

GoodDayToDie

Inactive Recognized Developer
Jan 20, 2011
6,066
2,933
Seattle
It would be possible if you re-create the database with the CEDB APIs. Somebody would need to reverse-engineer the database layout first, though, then write an app that takes the TXT and imports it.

Alternatively, it might be possible to use the SMS APIs directly, but... same problem. Somebody would have to develop it.
 
  • Like
Reactions: pLUSpISTOL

Top Liked Posts

  • There are no posts matching your filters.
  • 60
    [XAP] SMSBackup V0.9, Backup & Export SMS/MSN/Facebook Messages [Updated 2012-05-19]

    [Introduction]

    Thunder_ in XDA have found that windows phone itself has a backup mechanism, it may backup messages on a regular basis, and store it at "\Application Data\Microsoft\Outlook\BackupVols\CommsBackup.xml" (see this link), so we can take the file, extract it and then we get our messages. Before version 0.7, the app automatically copy the "CommsBackup.xml" to IsolateStorage and extract them to readable sms.

    Since CommsBackup.xml is generated by the system, we can't controll it. We often get only part of our messages because CommsBackup.xml doesn't contain newest ones.

    The sms/msn(also many other datas) in Windows Phone actually stored at "\Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol". It is an EDB database. We can use native EDB API to explore and extract it. From Version 0.7, the app use this way to extract our messages and will never rely on CommsBackup.xml anymore:)

    [Compatibility]

    The app should be compatible with devices supported by WP7 Root Tools(need to mark the app as Trusted)
    Also support fully-unlocked phones

    [Features]

    1. Automatically extract messages in store.vol, can sort messages by conversation or by sending time, can filter messages by contact, start/end date and keyword.
    2. Export messages in txt/xml/csv format to IsolateStorage or SkyDrive.
    If you export messages to IsolateStorage, you can use any IsolateStorage tool to download them to your computer.(The ID of this app is 09125ea9-95de-469a-aedc-22e35389ab0a);
    If you export messages to SkyDrive, they will be uploaded to your SMS folder in SkyDrive(The folder is private, thus "just me")
    3. Backup and restore "store.vol" and "PimIndex.vol", you can backup these two files before you flashing ROM and restore it later. This will keep your messages and contacts remain the same.(This feature is for professional users only)

    [Versions History]

    V0.9
    1. Reduce memory usage(tested with 100,000 messages)
    2. Speed up message importing process(faster than previous versions)
    3. Add csv export option
    4. Facebook messages will show Facebook friend's name(not the ID number in v0.8)
    5. Switch backup mode(SMS or MSN) in Setting page.
    V0.8
    1. Add feature to backup MSN messages. You can switch backup mode(SMS or MSN) in the menu bar
    2. Change UI of message list, looks more Metro now.
    3. Improve contact identify algorithm.
    4. Optimize the compatibility with WP7 Root Tools.
    V0.7
    1. Extract sms from store.vol directly, now you can backup and export all short messages and will never rely on CommsBackup.xml.
    2. Optimize for fully-unlocked ROMs. If your phone is fully-unlocked, the app read store.vol directly; If your phone is interop-unlocked but not fully-unlocked, the app will copy store.vol to IsolateStorage and then read store.vol(because directly mount store.vol will cause Access Denied exception)
    3. Add more setting options and remove exit confirm.
    V0.6
    1. Add support to backup and restore both store.vol and PimIndex.vol.
    2. Increase max waiting time for file operation to 15 seconds(older version is 6 seconds). This may help those who have very big CommsBackup.xml or store.vol(>10MB)
    3. In order to find how WP store contact's index in PimIndex.vol, I add a test feature(Click "test" in the menu bar) and need your feedbacks. Thanks!
    V0.5
    1. Add feature to export filtered messages. You can enable this in setting page.
    2. Simplify setting page, no "save" button now.
    3. Fix a bug in V0.4 which may show "import error: Value Does not fall within the expected range" when the app starts.
    V0.4
    1. Integrated with phone's contacts. For each message, the app will show contact's name if the phone number exists in any of the contacts, otherwise it will show pure number as before.
    2. Add feature to filter sms. You can filter messages by contact, begin/end date and keyword. This will allow you search sms more quickly.
    3. Add feature to restore system sms database store.vol, you can restore all sms and contacts after you flashing rom
    4. Fix a bug when uploading txt to SkyDrive, the text document sometimes become incomplete or even blank.
    Known bugs: Under certain conditions, it may show "import error: Value Does not fall within the expected range"
    V0.3
    1. Add double-language support(both en-US and zh-CN)
    2. Fix the bug in V0.2 that the app may crash when uploading sms to SkyDrive
    Known bugs: When uploading txt to SkyDrive, the text document sometimes become incomplete or even blank
    V0.2
    1. Add feature to export txt format
    2. Add feature to upload sms to SkyDrive(some guys think IsolateStorage is not convenient)
    3. Add feature to Backup system database "store.vol"
    4. Fix some bugs that do not automatically update sms
    Known bugs: the app may crash when uploading sms to SkyDrive

    [Tutorial - How to backup and restore your sms]

    The sms and contacts information(also many other datas) actually stored at "\Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol". To backup and restore this file will keep our text messages remain the same. Also, there is a file in the same folder named PimIndex.vol which contains contacts' indexes. WP use it to search contacts. So you must also backup and restore this file.

    Below is the methods:
    1. Open SMSBackup app(version>=0.6), go to "Export & Backup" page, navigate to "Backup", there are two buttons for backup and two buttons for restore.
    2. Click "Backup store.vol" button to backup "store.vol", then the file will be copied to "BackupVols/store.vol" in IsolateStorage, you can use any IsolateStorage tool to download it to your computer(the same with PimIndex.vol).
    3. When you need to restore sms and contacts(for example, after flashing a new ROM), you find the store.vol and PimIndex.vol you have already backup in your computer, use IsolateStorage tool to upload the two files to BackupVols folder.
    4. Open SMSBackup app and navigate to the same page in step 1. Click "Restore store.vol" button, then click "Restore PimIndex.vol". When both have executed. Restart your phone immediately.
    Important Note(Updated 25/2/2012): If you flash a new ROM, please add/sync live account first and then restore store.vol and PimIndex.vol; After restoring, sync again. If you failed in this way, you can restore store.vol and PimIndex.vol first and then add/sync live account. Since we do not know how WP manage accounts and other infos, so different problems may happen after restoring. Feedbacks and suggestions on restoring feature are welcome.

    Important Note: the restore feature in version 0.5 is not perfect. It can restore all text messages and contacts successfully. But you may encounter the problem with searching contacts or wrong profile pictures in the People Hub. Thanks to the feedbacks by kahiro, 2new, AshleyT. The reason is that we haven't backup and restore PimIndex.vol. Now I'm researching on how WP store contact's index. I think we can modify this file to add indexes by ourselves. every contact is a 12 bytes in PimIndex.vol. I don't know what it means. If you can help me, please open SMSBackup V0.6, Click "test" in the menu bar to navigate to a new page, then click "Get Contact Index Format" button and reply the format string it shows(for example 01-00-00-00-02-00-07-00-8E-00-00-00). Thanks!

    There are some users say the app may crash when login or upload to SkyDrive while some others do not have this problem. I use Microsoft Live SDK to connect to SkyDrive, I do not know if the SDK have some compatibility issues. I'll continue to find if there is anything wrong. Thanks for your feedbacks.

    At last, thanks to Thunder__ who find the CommsBackup.xml file and endeffekt who find the store.vol file (see http://xdaforums.com/showthread.php?t=1072796); Thanks to the DiagProvXML app, I use the COM libraries to copy native files in early versions. Thanks Heathcliff74's wonderful guide on native code. Thanks to GoodDayToDie, he gave me good suggestions and idea.


    Early versions download stats
    V0.3 - 1897 views
    V0.4 - 830 views
    V0.5 - 1922 views
    V0.6 - 1322 views
    3
    Working fine on NextGen+ ROM, HD7.

    I'm wipping together a small tool to read the exported txt files.
    Should be finished soon

    RY7ua.jpg
    2
    THX for your useful reply. I know there are some problems with LG ProvXML. I hope and wait for the next version of SMSBackup. So you suggest to backup these files manually. Is it possibile with WP7 Root Tools ? Can you write me the path of these two files ? THX in advance ;)

    Path of the two files:
    \Application Data\Microsoft\Outlook\Stores\DeviceStore\store.vol
    \Application Data\Microsoft\Outlook\Stores\DeviceStore\PimIndex.vol

    Now new version(V0.8) is available, you can try this version to backup these two files. Let me know if it works.
    2
    GoodDayToDie,

    Thanks for pointing that out.
    Both the phones are mine & both have been registered with the same WLID.
    I wanted to test restoring SMS from my primary device (HD7) to the Samsung Focus. Both of these are currently running DFT Freedom ROMs.
    Perhaps I understood wrongly where the IsolateStorage actually is.
    I use WMDC enabler to browse the phone's storage & made manual backups from the HD7 & copied them to the Samsung Focus.
    Is that correct?

    Konker

    Yes. Before you restore, you should install and open SMSBackup app first. Then you can use any IsolateStorage tool to upload your backup store.vol and PimIndex.vol to BackupVols folder of my app's IsolateStorage(09125ea9-95de-469a-aedc-22e35389ab0a).

    I've attach an image to show where you should put your backup files, hope you understand.
    2
    Tester needed

    Update to version 0.6. This version allows you backup and restore both store.vol and PimIndex.vol.

    Now I'm researching on how WP store contact's index in PimIndex.vol. Every contact appears in the database is a fixed length array of byte. The length is 12. For example 01-00-00-00-02-00-07-00-8E-00-00-00.

    Now, I find that 8E(142) is the unique ID of the corresponding contact(in Contact table of store.vol). But I am not sure that every phone is the same. Also, if the contact's ID is larger than 256, for example 257(I only have 200 contacts...), how the array will like to be. 01-00-00-00-02-00-07-01-01-00-00-00 or 01-00-00-00-02-00-07-00-01-01-00-00 or something else...

    So I add a test feature in v0.6(Click "test" in the menu bar). I need your feedbacks, thanks!