[Touch Diamond, MDA Compact IV General] Diplomate:
Hello everyone.

I may be alone in this, but I always try to keep my PPCs as "lean" as possible, i.e. I only install those Apps which I really cannot do without (TomTom, RegEdit, etc.). One of the things I have always wanted to avoid is to have to install a whole app just to apply a few registry tweaks (always the same ones) after each hard (or soft) reset.

So, in the end, I just came up with the following solution for my Diamond, which works flawlessly: build a simple CAB file which only applies the registry changes I want!

This is actually a very simple thing to do. First, you have to create a file called _Setup.xml, which in my case looks like this:

<wap-provisioningdoc>

<characteristic type="Registry">

<characteristic type="HKCU\ControlPanel\Phone">

<parm name="ShowSim" value="0" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Drivers\TouchPanel">

<parm name="PressureThreshold" value="240" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Security\Internet Explorer\User Agent">

<parm name="CustomBase" value="HTC-P3700-orange/PPC; 480x640; OpVer 30.126.2.732" datatype="string" />

</characteristic>

<characteristic type="HKLM\Software\HTC\AdvancedNetwork">

<parm name="SupportHSUPA" value="1" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\Camera\P10">

<parm name="enabled" value="1" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\Camera\P6">

<parm name="enabled" value="1" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\Camera\P8">

<parm name="enabled" value="1" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\Camera\P9">

<parm name="enabled" value="1" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\Manila">

<parm name="HomeLSKText" value="Comms" datatype="string" />

<parm name="HomeLSKPath" value="\Windows\CommManager.exe" datatype="string" />

<parm name="HomeRSKText" value="Camera" datatype="string" />

<parm name="HomeRSKPath" value="\Windows\Camera.exe" datatype="string" />

</characteristic>

<characteristic type="HKLM\Software\HTC\HTCAnimation">

<parm name="StartupGif" value="\Windows\animated_OUT.gif" datatype="string" />

<parm name="StartupWav" value="\Windows\BootUpHTC_OUT.wav" datatype="string" />

</characteristic>

<characteristic type="HKLM\Software\HTC\PHONE">

<parm name="FaceDownMuteRing" value="0" datatype="integer" />

</characteristic>

<characteristic type="HKLM\System\GDI\GLYPHCACHE">

<parm name="limit" value="16384" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\Total Commander">

<parm name="ClassName" value="CECMD" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\MSClog">

<parm name="ClassName" value="MSClog" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\MSContactsUI">

<parm name="ClassName" value="MSContactsUI" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\PROGRAM">

<parm name="ClassName" value="Explore" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\RSSMAIN">

<parm name="ClassName" value="NewsBreak_Main" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\RSSHEADLINE">

<parm name="ClassName" value="HeadLineWindow" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\Phone">

<parm name="ClassName" value="Dialog" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\Folderview">

<parm name="ClassName" value="WCE_HTC_UXC_FOLDER" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\FileExplorer">

<parm name="ClassName" value="FEXPLORE" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\CONTACTS">

<parm name="WheelCount" value="2" datatype="integer" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="ClassName" value="MSContactsUI" datatype="string" />

</characteristic>

<characteristic type="HKLM\Software\HTC\SmartTouch\ContactChooser">

<parm name="ClassName" value="MSContactChooser" datatype="string" />

<parm name="Mode" value="4" datatype="integer" />

<parm name="WheelCount" value="2" datatype="integer" />

</characteristic>

</characteristic>

</wap-provisioningdoc>

This includes all the registry changes I want to do to my Diamond after each hard reset.

Then, I use a DOS-based program called MakeCab.exe (Google it to find where to download it from on the Microsoft site - it is free) to generate a CAB file based on this XML file, with the following command:

C:\<whatever path>\makecab _Setup.xml RegistryTweaks.cab

And I end up with a nice little CAB I can run on my Diamond after each soft/hard boot to make sure all my settings get back to where I want them in less than 5 seconds!

There is one which I was not able to find in the registry: when you go into "Settings / System / Screen / Text Size" you are able to set the size normally used to display text in the interface. Does anyone know where this value is stored in the Registry? I would love to be able to add it to my list, and do away entirely with manual configuration...

Posted here to provide a starting point in case any of you want to adopt the idea... :)