yashsingh1/xdaforums huggingface dataset:
[Touch HD General] kika.93:
I was tired to search and go to too many thread, each of them containing a piece of information... so I decided to include all in one big thread with a How To. I am still learning and will keep this thread updatted with my foundings. I am still building up my .INI, .REG and .XML files at the moment, I will share them as soon as I concider they are ready to be used.
[Touch HD General] anssibragge:
Well I used a better 2 hours to study that stuff. I am no means computer illiterate - but it did take some time to realise how each of the stuff works.

And after taking the basic examples from the original author, I dumped the whole registry and browsed that thru for some stuff.

So I flashed from Miri's V23 to V25 and after connection setup ran the sashimi auto.

Some cabs were unfortunately not installed, some reg stuff was not changed. Haven't checked the file copies yet. But with the customemregs.ini and customfiles.ini I didn't have any errors when generating the lists with them.

Hmm... Have to take a look sometime again.

For example, my t-online email account did get configured - but pop3 gmail account did not get created at all.

abe
[Touch HD General] JohnQ:
im gona spend 24hrs to read your masterpiece! cheers man! a great long article lol
[Touch HD General] farqui:
An awesome guide - well done.

Perfect timing too as I've just become a 'flash junkie' :p
[Touch HD General] kika.93:
Can you be more precise: how your INI files look like? What stuff didn't get changed in the registry? I am by no mean an expert, but maybe I can help.

For your emails account, all is done with makisu, maybe you made a mistake while answering makisu questions. I have a POP3 Gmail account and I also jumped from Miri v24 to v25 without problems :)
[Touch HD General] adell_:
Thanks a lot. It's quite complicated.
[Touch HD General] crankshaft:
Good work fella. I'd been hunting through the regisrty for thing I can add to Sashimi.

Here's what I'd come up with so far if anyones interested:

[TaskManager]

RegExportDirMode=Auto

key1=HKEY_CURRENT_USER\Software\HTC\TaskManager

[Single_Volume]

RegExportDirMode=Auto

key1=HKEY_LOCAL_MACHINE\Software\HTC\VolumeOverlay

[Quick_GPS]

RegExportDirMode=Auto

key1=HKEY_LOCAL_MACHINE\Software\HTC\QuickGPS

[Power_Settings]

RegExportDirMode=Auto

key1=HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Timeouts

[GAlarm]

RegExportDirMode=Auto

key1=HKEY_CURRENT_USER\Software\ageye\G-Alarm

key2=HKEY_CURRENT_USER\Software\ageye\G-Alarm\1

key3=HKEY_CURRENT_USER\Software\ageye\G-Alarm\1\Playlist

key4=HKEY_CURRENT_USER\Software\ageye\G-Alarm\0

key5=HKEY_CURRENT_USER\Software\ageye\G-Alarm\0\Playlist
[Touch HD General] lefty6688:
good work!
[Touch HD General] anssibragge:
Well, my gmail-settings are...

<characteristic type="EMAIL2">
<characteristic type="{0b0c0a06-0907-0303-0b01-070804060806}">
<parm name="CONNECTIONID" value="{436EF144-B4FB-4863-A041-8F905A62C572}" />
<parm name="SERVICENAME" value="Gmail Anssi" />
<parm name="SERVICETYPE" value="POP3" />
<parm name="INSERVER" value="pop.gmail.com" />
<parm name="OUTSERVER" value="smtp.gmail.com" />
<parm name="NAME" value="Anssi Bragge mobile" />
<parm name="AUTHNAME" value="xxx" />
<parm name="AUTHSECRET" value="xxx" />
<parm name="DOMAIN" value="" />
<parm name="REPLYADDR" value="xxx@gmail.com" />
<parm name="FORMAT" value="2" />
<parm name="LINGER" value="0" />
<parm name="RETRIEVE" value="51200" />
<parm name="KEEPMAX" value="" />
<parm name="DWNDAY" value="30" />
<characteristic type="TAGPROPS">
<parm name="8128000B" value="0"/>
<parm name="812C000B" value="0"/>
</characteristic>
<parm name="AUTHREQUIRED" value="1" />
<parm name="SMTPALTENABLED" value="0" />
<parm name="SMTPALTAUTHNAME" value="" />
<parm name="SMTPALTPASSWORD" value="" />
</characteristic>

The first email account was run halfway ok - but this second one not at all.

It is also a bit annoying, that I can only restore the most basic info, I can't change the behaviour what to do when deleting current message (show precious rather than show next), signature, the advanced server settings like leave message on server when deleting locally, ...

Or do I have to start searching for those again from the registry dump and add some parms myself in the xml code (I would assume so).

abe
[Touch HD General] zenkinz:
instead of backing up the opml file for the RSS Hub,

if you are like me, who prefer to store the rss and opml files in the storage location, you can actually configure it accordingly in RSS Hub, and then backup the registry

HKEY_CURRENT_USER\Software\Ilium Software\RSS Hub

When you flash your ROM, just import this registry, your RSS list and content, are automatically displayed w/o having to reload the news again.
[Touch HD General] anssibragge:
Even easier to back up RSS is to use the storage card for saving the status.

When starting RSS for the first time after the flash, say cancel for the initial "add channel", then go to options and change the save path to storage card, and when it asks if the current channels should be saved, say *No*, then the old status from the storage card will be returned.

abe
[Touch HD General] kika.93:
This is not due to SASHIMI but to the Microsoft XML provisionning limited functionalities, so it is simply not possible to do that using XML and/or Makisu. If you want to backup this kind of settings you have to locate where it is stored in the registry (I assume it is in the registry) and then add the settings to a .REG file in SASHIMI/Auto/REG.

Apart from that I looked at your XML and it looks like mine except for some values like retrieve etc. Maybe try to remove space in your names (service name & name) because I haven't ones and I have no connection ID set, that's the only difference I can see.

My Gmail account looks like:

<characteristic type="EMAIL2">
<characteristic type="{00070100-0e04-0300-0b10-050a0c080d00}">
<parm name="CONNECTIONID" value="" />
<parm name="SERVICENAME" value="Gmail" />
<parm name="SERVICETYPE" value="POP3" />
<parm name="INSERVER" value="pop.gmail.com" />
<parm name="OUTSERVER" value="smtp.gmail.com" />
<parm name="NAME" value="xxx" />
<parm name="AUTHNAME" value="xxx" />
<parm name="AUTHSECRET" value="xxx" />
<parm name="DOMAIN" value="" />
<parm name="REPLYADDR" value="xxx" />
<parm name="FORMAT" value="2" />
<parm name="LINGER" value="120" />
<parm name="RETRIEVE" value="2048" />
<parm name="KEEPMAX" value="0" />
<parm name="DWNDAY" value="3" />
<characteristic type="TAGPROPS">
<parm name="8128000B" value="1"/>
<parm name="812C000B" value="0"/>
</characteristic>
<parm name="AUTHREQUIRED" value="1" />
<parm name="SMTPALTENABLED" value="0" />
<parm name="SMTPALTAUTHNAME" value="" />
<parm name="SMTPALTPASSWORD" value="" />
</characteristic>
</characteristic>

@zenkinz: I have added your RSS Hub suggestion to the List, thanks.

Please continue to share your settings all !
[Touch HD General] zenkinz:
no need just load the registry using sashimi or UC, and you can run RSS Hub w/o having a need to change anything.
[Touch HD General] zenkinz:
here's another one.

http://xdaforums.com/showthread.php?p=4253260#post4253260

restore your favorite contacts in TouchFlo3D ;)
[Touch HD General] ugumba:
Screen calibration

I've saved the calibration settings to a REG after doing my best to calibrate it accurately. Now, when I'm asked to calibrate after a flash, I can do it pretty quickly and sloppily, since I know that SASHIMI will restore my "perfect" settings later on:

[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
"CalibrationData"="503,553 180,893 176,203 839,204 841,891 "
"MaxCalError"=dword:00000008

This is a sample from my HD, you should export your own.

Great thread, by the way! If I hadn't found it, I probably would have started a very similar one.
[Touch HD General] ugumba:
WiFi settings

Using provisioning XMLs, you can automatically restore your WiFi settings after a flash.

For example:

<wap-provisioningdoc>
<characteristic type="Wi-Fi">
<characteristic type="access-point">
<characteristic type="WLANSSID" broadcast="0" preferred="-1" connecting="0" connected="0">
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>
<parm name="AdHoc" value="0"/>
<parm name="Hidden" value="0"/>
<parm name="Authentication" value="4"/>
<parm name="Encryption" value="4"/>
<parm name="KeyProvided" value="0"/>
<parm name="NetworkKey" value="PASSWORD"/>
<parm name="KeyIndex" value="1"/>
<parm name="Use8021x" rw-access="1" value="-1"/>
<parm name="EAPType" rw-access="1" value="13"/>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>

Obviously "WLANSSID" and "PASSWORD" need to be replaced.

The problem is that I haven't found a simple way to generate this file - quite a few of the values are required (to specify security properties), and they seem to have to match the access point's settings or it won't work.

I solved this by settings up a working connection, then extracting it using the query feature of rapiconfig.exe (details here). Rapiconfig is part of the Windows Mobile SDK, and runs on your PC, accessing your device over ActiveSync.

I think the query XML should look like this (it's been a while):

<wap-provisioningdoc>
<characteristic-query type="Wi-Fi" recursive="true"/>
</wap-provisioningdoc>

Running "rapiconfig /p theabovequery.xml" will output a XML containing all your WiFi connections. You need to edit it, as the access point password will be masked (just put in the password in clear text), but afterwards dump it into SASHIMI\Auto\XML, and never think about it again.
[Touch HD General] ugumba:
Starting WiFi during SASHIMI customization

I like my customization to be complete, so I also synchronize time and ActiveSync over WiFi as part of the SASHIMI run.

When the WiFi provisioning XML from my previous post is working, the following MortScript should be able to connect:

If (RegRead("HKLM", "System\State\Connections\Network", "Count") = 0)
RunWait("\Storage Card\bin\AKToggleWifi.exe")
SleepMessage(180, "Waiting for WiFi...",, 1, RegRead("HKLM", "System\State\Connections\Network", "Count") > 0)
If (RegRead("HKLM", "System\State\Connections\Network", "Count") = 0)
SleepMessage(10, "No network available!",, 1)
Exit
EndIf
EndIf

It will only connect if there's no data connection already, and will wait for 180 seconds before failing. You also need the attached executable.
[Touch HD General] ugumba:
Time synchronization

This script will run Dave Shaw's TimeSyncTZ to silently synchronize the clock, so his CAB must obviously have been installed (for example from SASHIMI\Auto\CAB). There must be a working connection to the net (for example through WiFi as posted above).

# Sync with NTP time server.
RunWait("\Program Files\DaveShaw\TimeSyncTZ\TimeSyncTZ.exe", "silent /autoconnect+")
[Touch HD General] ugumba:
Automating PPCPimBackup restore operation

PPCPimBackup is essential in any flasher's toolkit. I use it only for SMSes and call logs, as the rest is synchronized from Exchange. PPCPimBackup can run

silent, scheduled backups (configured within the application), but restoration is a manual process.

Until now. :-)

The following script will restore SMSes and call logs from the newest PIB file in "\Storage Card\MyDocuments\PIMBackup". You may need to tune it, especially if you need to restore other data types.

# Find most recent backup
folder = "\Storage Card\My Documents\PIMBackup"
lastTime = 0
ForEach file in files (folder \ "*.pib")
time = FileModifyTime(file)
If (time > lastTime)
lastFile = file
lastTime = time
EndIf
EndForEach

exe = "\Storage Card\bin\PPCPimBackup.exe"
Run(exe, lastFile)

w="PIM Backup"
WaitForActive(w, 30)

# Select "Next"
SendUp(w)
SendUp(w)
SendCR(w)
# Unzipping
Sleep(1500)
# Accept message folders
SendLeftSoft
Sleep(500)
# Accept restore options
SendLeftSoft
# Restoring...
Sleep(90000)
SleepMessage(20,"Continuing in:",,1)

# Exit PPCPimBackup
SendLeftSoft

Note that I have found no good way to determine that the restoration has actually finished, so the last Sleep+SleepMessage need to be fairly generous, depending on the size of your backup. Most importantly, SASHIMI must not be allowed to reboot the device *while* the restore is running.
[Touch HD General] ugumba:
Schedule PPCPimBackup

This will schedule PPCPimBackup to execute a silent backup in 12 hours:

exe = "\Storage Card\bin\PPCPimBackup.exe"
RunAt(TimeStamp() + 12*60*60, exe, "/SchedBackup")

PPCPimBackup stores its backup settings in

HKEY_CURRENT_USER\Software\FdcSoft\PPCPimBackup

so I recommend that you set up PPCPimBackup as you please, export this entire subtree from the registry, and have SASHIMI restore these settings from SASHIMI\Auto\REG, before the above script is executed from SASHIMI\Auto\Scripts.
[Touch HD General] ugumba:
Silencing interactive CABs

Some CABs insist on asking questions (reboot?) or opening configuration dialogs as part of their installation. Very often, this is not really needed.

Automating their installation with SASHIMI and/or Mortscript usually works fine, but can also be frustrating and occasionally next to impossible.

This interactive part of the installation is always handled by a setup DLL which is embedded in the CAB. In many cases, I've simply removed this DLL from the CAB (using my favorite, WinCE CAB Manager, but I'm sure there are free alternatives).

The problem with this is that you need to repeat this procedure when updated CABs are released.
[Touch HD General] ugumba:
Move thread?

There's no reason for this thread to be Blackstone specific.

Could it be moved to Development and Hacking, perhaps?
[Touch HD General] TronC:
First: Thanx for this! If it works this is just perfect

Second: .. yes.. IF it works :( Somethings did come back with SASHIMI, but most I didn't retrieve.

But that's to much to explain, so I just need to look for myself what I did wrong..

I do have 1 question: I did use Microsoft My Phone to backup my text messages, Contacts etc..

But after the hard reset I can't log in to My Phone! I know 100% sure that my email address and password are correct. AND that I have internet connection

Whats wrong?
[Touch HD General] ugumba:
Detecting configuration changes with SKTracker

SKTracker is an excellent tool for detecting where some configuration change is stored.

Exporting with a registry tool and using a PC diff utility is all well and good, but takes time and you need to sit down, connect with the PC and transfer the files. SKTracker lets you accomplish the same thing entirely on the device, within a single focused tool.

Have SKTracker take a system snapshot (file system and registry) before and after your change (a setting or an entire CAB), then mark each snapshot for comparison, then execute the compare. The result only shows differences, and is reasonable easy to interpret.

In particular, this is useful to determine required registry values or files in main memory, when installing a CAB to the storage card. This indicates candidates for backing up with the techniques provided by the OP, and for restoring during post-flash customization.

The only downside is that SKTracker is not free.
[Touch HD General] ugumba:
That's the problem with what this thread is advocating. Every user will have different requirements and expectations, SASHIMI just provides a framework and some relatively coarse tools. Serious time must be invested by each of us.
[Touch HD General] ClydeB1:
I have found that if you try to login to MyPhone before setting your time and date, this causes problems. If this still does not work, you can login to MyPhone on the pc and delete the connected phone. You should then have no problesm connecting and restoring your data.
[Touch HD General] TronC:
Yes, confirmed. After I set up the time and region settings, I connected :) but damn, that restore takes forever! about 45 minutes..

Next time I will just import my contacts with active sync ;)
[Touch HD General] Contumil:
I used MyPhone to have a permanent backup of all my contacts, calendar and messages, but after, when I sync it with ActiveSync for my mails, it duplicates all my contacts and calendar entries.

Does anybody now how to avoid it?
[Touch HD General] anssibragge:
well don't sync the contacts with myphone, if you already have outlook for that.

or vice versa.

abe
[Touch HD General] ugumba:
Restoring synchronized mail folders

If you synchronize with Outlook or Exchange, you might want to read more folders than just Inbox on your mobile device. Setting this up after a hard reset is pretty dull. The following provisioning XML is a sample of how you can setup which folders are synchronized:

<wap-provisioningdoc>
<characteristic type="Sync">
<characteristic type="FolderHierarchy">
<characteristic type="Drafts">
<parm name="SyncEnabled" value="1"/>
</characteristic>
<characteristic type="Inbox">
<parm name="SyncEnabled" value="1"/>
</characteristic>
<characteristic type="Personal">
<characteristic type="Finance">
<parm name="SyncEnabled" value="1"/>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
<wap-provisioningdoc>

In real life, I setup about 20 folders for synchronization.

The big problem with this is that your device must already have been synchronized once for it to work - I guess the initial sync resets which folders to sync. Using Mortscript, I have successfully had SASHIMI provision my Exchange account settings (similar to how the OP used Makisu), connect to WiFi, run ActiveSync and start synchronization. After a couple of minutes the script provisions the above XML, and my custom folders will synchronize next time.

Like with the WiFi settings in my earlier post, you can extract your current Synch folders using the following query XML with "rapiconfig /p" (over ActiveSync):

<wap-provisioningdoc>
<characteristic-query type="Sync" recursive="true"/>
<wap-provisioningdoc>
[Touch HD General] ClydeB1:
Glad it worked for you. Yes I have also come to the conclusion that MyPhone is there for an emergency if I have to hard rest for some reason and don't have access to Activesync. (see the posts above about using both ActiveSync and MyPhone - you end up with duplicated contacts.)
[Touch HD General] sch1zo:
almost

to get all WiFi settings the query has to look like this

<wap-provisioningdoc>
<characteristic-query type="Wi-Fi" recursive="true"/>
</wap-provisioningdoc>

in the same way you can get your email accounts:

<wap-provisioningdoc>
<characteristic-query type="EMAIL2"/>
</wap-provisioningdoc>

you just have to add the line

<parm name="AUTHSECRET" value="PASSWORD" />

with your own password to each account
[Touch HD General] kika.93:
For WiFi settings, don't loose your time manually editing XML files, the Makisu tool that comes with SASHIMI does it all alone.

@TronC: you said myphone took 45min to restore, that is surely because you have a lot of pictures in My Document/My Pictures or music in My Document/My Music on your internal storage. Try to move your music/pictures on the external card. Syncing contact/SMS with my phone takes only 1-2min for me.
[Touch HD General] TronC:
****..

I don't know what I did, but I can't install SASHIMI :(

When runnin the .cab, after install when initializing SASHIMI i get an error:

"couldn't create directory 'Windows\start\menu\Programs\SASHIMI'

Line 1516 (\Storage card\SASHIMI\Program\bin\SASHIMI.mscr):MkDir(sashimiFolder)"

when I click 'ok' to close the error message, sashami quits, and i cant find sashimi nowhere in my program list or start menu..

Anyone can help?

EDIT: Maybe it IS installed.. but nowhere in my programs list or start menu.. So.. where can I find the .exe file in file explorer?
[Touch HD General] TronC:
I have all my pictures in my storage card, the problem was that I had lots of pictures with my contacts, but now I'm syncronising my contacts with active sync, it now takes about 5 minutes :)
[Touch HD General] checker7481:
I want to save backup my programs. Am I able to restore the programs after a ROM flash?
[Touch HD General] ugumba:
Yes, there are 3 possible solutions:

* Use a 3rd party backup program (Sprite, Resco, SPB, ...). Personally, I don't like this solution (too little control).

* Automate the CAB installation after a flash using e.g. SASHIMI. Optionally, also use SASHIMI to backup settings from registry and files (requires you to locate the settings and edit INI files).

* Install CABs to Storage Card, most programs work fine after a flash (they rebuild their registry settings), but you'll need to make the shortcuts in \Windows\Start Menu yourself (SASHIMI helps with this, too). The same option applies here for settings.
[Touch HD General] cronas:
Thanks for the tutorial, this program is great. I have backed up and automated most things but I am having trouble finding where some of the settings are held.

Stock tab in manila

Ring Tones assinged to contacts (I have tried Favorite Peps Backup but for some reason manage ringtones is greyed out)

Task Manager settings Specifically end program by tapping "X"

Sound notifactions i.e. text message sounds etc

Manila and start menu wallpapers

Regional settings

Alarm settings

Has anyone managed to automate this items? It would be a great help.
[Touch HD General] plaktoets:
i really appreciate the work put in this, but what's wrong with spb? After i flash a rom and restore with spb backup my phone is

exactly

in the same state as before i flashed. This works all the time!
[Touch HD General] ClydeB1:
This approach is not always recommended by the chefs. When they cook new ROMS they often update drivers and apply the latest apps and other goodies. When you do a full restore it is possible that some of the older drivers are put back and this could cause stability issues with the ROM. Using it to restore contacts and sms and emails is not a problem, but I have seen chefs discouraging these full restores.
[Touch HD General] ugumba:
Don't know yet.

Try the latest version! I haven't tested contact ringtones, but the changelog claims it works in 1.1.

HKCU\Software\HTC\TaskManager\EnableTapAndHold=1

Use a registry editor and diff utility (or SKTracker) to determine the changes that happen in the registry when you set it up how you want. The "target areas" are HKCU\ControlPanel\Notifications and

HKCU\ControlPanel\Sounds.

The easiest method is to use HDWall to produce a CAB which installs high resolution, default wallpapers. Then set HKCU\Software\HTC\Manila\CachedBackgroundPath and HKCU\Software\HTC\Manila\HomeBackgroundPath to empty strings. I haven't had much success with setting these paths to anything else.

Set it up how you want, then export HKLM\nls.

Clock and time zone settings: HKLM\Software\Microsoft\Clock

Manila world clock settings: HKCU\Software\HTC\Manila\WorldClock.*

Never done this. I suspect they're stored as scheduled notifications, i.e. not in the registry. You can use SKTools or FdcSoft Task Manager to read the notification list, or use the registry-diff method to check for registry changes.
[Touch HD General] kika.93:
Here are my comments.

@TronC you DON'T need to reinstall SASHIMI after ROM upgrade, just launch SASHIMI in \Storage Card\SASHIMI\Program\bin\SASHIMI using File explorer, ans it will re-install itself at first execution. You did not follow my how to! : P
[Touch HD General] plaktoets:
Question: does it matter what i put between the brackets in the regexport.ini file?

For example, can i put anything i like here? (eg MyPowerSetting)

[MyPowerSetting]

key1=HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\Timeouts

-edit: nevermind, i guess it doesn't!