[Touch HD General] kika.93:
To start with, English is not my mother tongue, and I am only a poor little student :p, sorry for possible mistakes.

I have spend a lot of time gathering information and making trials on how to backup automatically my Touch HD before a ROM flash and restore it in the same state automatically after the flash, with focus in particular on Manila settings. I will describe here solutions that I have found, hope it will save time for others.

I will try to make this how-to simple, for the n00bs like me :D. Hence, sorry if some information seems useless/obvious for some people here.

This how-to is meant to save your time in finding information & testing, however, SASHIMI still require some amount of time to be set up correctly. If you consider you don't have more than 2 hours for it, don't start reading. Despite the initial amount of time to spend, it's worth it, trust me! If you are not convinced, take a look to my conclusion:

"With this method I am able to backup/restore almost all my data and settings automatically, including Manila configuration, Opera bookmarks, cache and cookies, Start Menu shortcuts organisation, WiFi settings, Email account settings, OS tweaks, Wallpaper, ringtones, notification, owner info, "my contact card" info, Facebook link with contact, messenger, windows live & facebook login/passwords, 3rd party application settings, etc... in less than 2 minutes!"

This how-to have been tested on several WM6.5 cooked ROMs with Manila 2.1. Concerning WM6.1 and other TF3D versions the principle should be the same, however file and registry path may differ.

My backup strategy involves:

- Microsoft MyPhone for contacts, agenda, tasks, mails, SMS/MMS, ringtones, and documents on internal storage.

- SASHIMI for everything else: Manila configuration (Programs Tab organisation, Weather cities, My Contact Card, Facebook, Push Pages...), Wifi/Bluetooth settings, Email accounts settings, applications settings, keyboard settings, OS tweaks, etc.

Step 1: What you need

First, go to http://www.winmo-experts.com and download SASHIMI v8.0 (you must be registered to be able to download). Once the package unzipped on your PC, you need to read the (very complete) documentation, which is in [extracted_folder]\documentation\sashimi.html. You may want to watch the tutorial videos as well.

If your ROM doesn't come with Microsoft MyPhone, go to http://myphone.microsoft.com (from your PC) or http://myphone.microsoft.com/install (from your phone) and install it. You also need to have a valid Windows Live ID account.

Note: For people who don't like the idea of having PIM data stored on a Microsoft server, you can use PimBackup instead, however, it offer less functionalities and is less convenient to use IMHO.

Step 2: How to organise your data

I recommend to put all data (music, pictures, documents) on the storage card as well as to install 3rd party applications on the storage card. However, if you happen to forget some pictures/music on the internal storage, Microsoft MyPhone will take care of that, as well as documents stored in My Documents.

Your contacts MUST NOT be stored in your SIM card. If you use contacts in your SIM card, use PIMBackup instead of Microsoft MyPhone.

Step 3: Configure SASHIMI

Ok, here is the big stuff. Be sure you read the SASHIMI documentation and watch the videos here. With this, you should be able to install SASHIMI on your storage card. Take the time to look at the data structure of the SASHIMI installation in your explorer and understand how it works. Now it's time to configure...

SASHIMI uses INI files in \SASHIMI\Program\INI to automate almost everything. The downside is that you have to do them yourself :(. However, once done, you can save a lot of time as it will backup and restore almost everything automatically :cool:. Example files are provided in \SASHIMI\Program\Help.

Step 3a: Registry backup

All registry backup is configured in the \SASHIMI\Program\INI\regexport.ini file. If it is not present, create it or copy from the sample files.

For Manila, the following entry must be backed up:

- Program Tab organisation:

HKEY_LOCAL_MACHINE\Software\HTC\Manila\ProgramLauncher

- Weather tab, and other things (Facebook account):

HKEY_CURRENT_USER\Software\HTC\Manila

- YouTube account, Facebook account:

HKEY_LOCAL_MACHINE\Software\HTC\HTCAccountManager

- "My Contact Card":

HKEY_CURRENT_USER\Software\HTC\People\OwnerInfo

- Push pages:

HKEY_LOCAL_MACHINE\Software\HTC\Manila\InternetPush\Enabled

Hence, my regexport.ini file looks like:

[Manila_Programs_Tab]
RegExportDirMode=Auto
key1=HKEY_LOCAL_MACHINE\Software\HTC\Manila\ProgramLauncher

[Manila_Weather_Cities]
RegExportDirMode=Auto
key1=HKEY_CURRENT_USER\Software\HTC\Manila

[HTC_Accounts]
RegExportDirMode=Auto
key1=HKEY_LOCAL_MACHINE\Software\HTC\HTCAccountManager
key2=HKEY_CURRENT_USER\Software\HTC\People\OwnerInfo

[Push_Web]
RegExportDirMode=Auto
key1=HKEY_LOCAL_MACHINE\Software\HTC\Manila\InternetPush\Enabled

But you can also do that:

[Manila_Settings]
RegExportDirMode=Auto
key1=HKEY_LOCAL_MACHINE\Software\HTC\Manila\ProgramLauncher
key2=HKEY_CURRENT_USER\Software\HTC\Manila
key3=HKEY_LOCAL_MACHINE\Software\HTC\HTCAccountManager
key4=HKEY_CURRENT_USER\Software\HTC\People\OwnerInfo
key5=HKEY_LOCAL_MACHINE\Software\HTC\Manila\InternetPush\Enabled

The advantage of splitting in different sections like I have done in my file is to better organise your file, and to get individual confirmation on each backup by SASHIMI. If you make one big section and ONE entry goes wrong while SASHIMI backup, you will not know what went wrong (not tested, need confirmation).

If you have 3rd party application installed which store settings in the registry, you also need to add the corresponding registry keys. To find where the data is stored, the easiest way is to:

- Open HTC Task Manager or any registry editor and perform a full registry backup. In HTC Task Manager go to Bottom Left icon -> Export All, name the file before_modification.reg.

- Open you app, change the settings that you want to backup (we don't care for the value, just change them, they must be different that when you launched the app), and close the app.

- Do a full registry backup again, name the file after_modification.reg.

- Transfer both registry backup files to your PC, and use WinDiff to compare the modifications. Do File->Compare Files, select the before_modification.reg file, press ok, then select the after_modification.reg file, press ok. Select the line which has appeared and click Expand, then in the Expand menu, select Right File only (only if you selected the after_modification.reg file in second). All the new/modified entries made after your setting modification are showed in yellow (some are due to the OS, ignore them).

Edit: ubumga also suggested using SKTracer to track changes, you may want to have a look.

Copy the key that you need to backup and create a new section in the regexport.ini file:

[My_App]
RegExportDirMode=Auto
key1=what you have found
key2=...

Create a new section for each app that you want to backup settings.

For advanced user, you can also store your tweaks/advanced settings in this INI file. For example, adding this section:

[MySettings]
RegExportDirMode = Auto
Notifications=HKCU\ControlPanel\Notifications
Sounds=HKCU\ControlPanel\Sounds
Phone=HKCU\ControlPanel\Notifications\Phone
SIP=HKCU\ControlPanel\SIP
Backlight=HKCU\ControlPanel\Backlight
GSensor=HKLM\drivers\builtin\gsensor
Power=HKLM\System\CurrentControlSet\Control\Power
PressureThreshold=HKLM\Drivers\TouchPanel\PressureThreshold
FingerPressure=HKLM\Software\OEM\TFLOSettings
Wallpaper=HKCU\ControlPanel\Desktop

For more on registry tweaks see the Wiki.

If you know that you will only edit some settings/tweak once and don't change them afterwards it is also possible to put a .REG file in \SASHIMI\Auto\REG with all your tweaks in the form key=value. For exemple I want my all program tab to display 4 column, my .REG file looks like:

[HKLM\Software\Microsoft\Shell\IconConfig\]
"HorizontalIconSpacing"=dword:112
"VerticalIconSpacing"=dword:115
"IconTitleFontSize"=dword:6

SASHIMI will execute the .REG file at restore and set the registry value.

Unfortunately, all apps does not store their settings in the registry, for those, see next section.