|
||||
Tutorial: Adding Registry Entries to your Rom (RGU Method)
About this Tutorial
-=-=-=- -=-=-=- -=-=-=- =-=-=- -=-=-=- This tutorial will show you how to add registry entries to your cooked rom. If you are wanting to learn about the registry, follow this link first! http://www.wmexperts.com/articles/ho..._registry.html A little preparation now, can save you a lot of time later. This tutorial ASSUMES you have working knowledge of cooking your own rom. I AM NOT RESPONSIBLE FOR ANYTHING THAT HAPPENS TO YOU OR YOUR DEVICE by reading this tutorial! This tutorial will work with most windows-mobile based kitchens, Apache, Titan, Vogue and others. Credits -=-=-=- -=-=-=- -=-=-=- =-=-=- -=-=-=- I would like to thank PPCGeeks and all those that made the kitchens possible! You all know who they (you) are! And a special thanks to Hobbesisreal for the Registry tutorial I've linked, and AcesZHigh for providing the tutorial basics on WinCeRegeditor! And of course mrgeoff, I found that he was the one that started the base for the registry edits in the RGU that I use and have attached! Terminology used in this tutorial: -=-=-=- -=-=-=- -=-=-=- =-=-=- -=-=-=- OEM - Similar to a .CAB file, this is the method used to add files/programs to a cooked Rom. This is copied to USER_OEM if using the ppckitchen, or into your OEM folder if you are using another kitchen. GUID - GUID (or UUID) is an acronym for 'Globally Unique Identifier'. It is a 128-bit integer number used to identify resources. RGU File - The file in the OEM that contains the registry entries. What you will need: -=-=-=- -=-=-=- =-=-=- -=-=-=- -=-=-=- 1. CeRegEditor from: http://ceregeditor.mdsoft.pl/ 2. zz_MyRegistry_OEM.zip attached to this post. The steps involved: -=-=-=- -=-=-=- =-=-=- -=-=-=- -=-=-=- This tutorial will teach you how to registry entries to your cooked rom. I will show you how to add the registry entries to the attached zzz_My_Registry_OEM by editing the *.RGU file. So here are the steps: 1. Download and extract "zzz_My_Registry_OEM.zip" 2. Copy "zzz_My_Registry_OEM" to your USER_OEM or OEM folder(s). 3. Registry Basics (If you need more, come back later...) 4. RGU Registry Syntax and proper formatting. 5. RGU file and it's formatting requirements. 6. Identify the registry entries you wish to include. 7. Export and/or enter your edits. 8. Flash and enjoy! 1. Download and extract "zzz_My_Registry_OEM.zip" -=-=-=- -=-=-=- =-=-=- -=-=-=- -=-=-=- Ok, who needs help with this one? Be sure to extract with paths! 2. Copy your files to the new directory "zzz_My_Registry_OEM". -=-=-=- -=-=-=- =-=-=- -=-=-=- -=-=-=- Just copy the files you want into the zzz_My_Files_OEM directory. I have already created a custom OEM for you with a unique GUID, a sample initflashfiles.txt, and included a XML file so the ppckitchen will identify your OEM. 3. Registry Basics -=-=-=- -=-=-=- =-=-=- -=-=-=- -=-=-=- First I think we need a little education on registry formats. There are 5 types of registry entries I deal with on a regular basis. These are: 1. DWord : For entering numerical data 2. String for entering alphanumerical data 3. Multi-string - advanced 4. Hex or binary data - advanced 5. DecDword - A decimal valued DWord. Not currently supported by BuildOS. All entries must have proper syntax or buildos will not like it and say "Error building xxxxxx Hives". All entries must have 3 components. The Key or location name, the Value Name, and finally the data. Let's take a look at the registry edit to kill the SMS Sent notification as it would appear as a registry entry for a RGU file: Code:
; No SMS Sent Notification [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inbox\Settings] "SMSNoSentMsg"="1" Line 1, is how to add a comment. Anything preceded by a ";" is considered a comment to the end of the line. Line 2, is the Keyname where the value is located that you want to modify. If it does not exist, it will be created. The Keyname is enclosed in brackets, [ and ]. Line 3, is the Valuename and the data. The value name is always enclosed in quotes. 4. RGU Registry Syntax and proper formatting. -=-=-=- -=-=-=- =-=-=- -=-=-=- -=-=-=- That was simple enough, now let's look at the syntax required for the above registry values. These will be followed by the names from above, an example or two to show the syntax, and then a few comments. 1. DWord : for entering numerical data. This is a HEXADECIMAL VALUE! "Value1"=dword:00000001 "Value2"=dword:000001cf "Value3"=dword:1cf The key here is the value must be in hex! The actual data can be 8 digits long padded by zeroes. You could also omit the leading zeroes and that will work as well. 2. String : For entering alphanumerical data "Value1"="blah, blah, blah" This is straight forward. Most data here is text and simply enclosed in quotes. There are some advanced functions, but I am here to show the basics. PM me or read below on exporting values. 3. Multi-string - advanced "Curr0"=multi_sz:"alarm2", "", "alarm2", "default", "Empty", "alarm2", "infbeg", "infend", "infend", "", "", "", "alarm2", "infbeg", "infend", "infend", "alarm2", "", "", "voicbeep", "RecEnd" This is one that I almost always Export. 4. Hex or binary data - advanced "AlarmHandle"=hex:\ 21,00,00,35,2B,00,00,32,1F,00,00,35,2A,00,00,34,2D ,00,00,34,00,00,00,00,\ 18,00,00,36 This is multi-line and I ALWAYS Export these! 5. DecDword - A decimal valued DWord. Not currently supported by BuildOS. This is not supported by the current kitchens. I was introduced to this while making custom OEM's. It sure would be sweet though! The OEM below is ALREADY LOADED with most of the registry edits I use in my rom!
__________________
If this post was helpfull, let me know by clicking Thanks!
Last edited by rstoyguy; 09-06-2008 at 02:20 PM. |
This post has been thanked 18 times. |
|
||||
Re: Tutorial: Adding Registry Entries to your Rom (RGU Method)
5. RGU file and it's formatting requirements.
-=-=-=- -=-=-=- =-=-=- -=-=-=- -=-=-=- Now that you have that down, let's talk about the kitchen requirements of a basic RGU file and it's format. There are 4 basic rules: 1. The first line must be "REGEDIT4" 2. The second line is usualy a blank line. (enter will do just fine.) 3. any thing on a line after a ";" is ignored. This can be at the beginning of the line or after your entry. Comment well so you know what you have! 4. The end of the file always need to have two blank lines! Again enter will work. And while it is debated 1 or two, I always put two to be safe... Here a complete sample RGU file including the SMS Notification hack from above: Code:
REDEDIT4 ; No SMS Sent Notification [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Inbox\Settings] "SMSNoSentMsg"="1" 6. Identify the registry entries you wish to include. -=-=-=- -=-=-=- -=-=-=- =-=-=- -=-=-=- Site to learn more about registry: http://www.wmexperts.com/articles/ho..._registry.html You can also find some great links here for additional registry entries... 7. Export and/or enter your edits. -=-=-=- -=-=-=- -=-=-=- =-=-=- -=-=-=- The easiest way to do this is by using CeRegistry Editor mentioned above. Here are the steps as explained by Aceszhigh from his tutorial: Tutorial: Integrating Custom Registry Settings into a ROM w/ ProvXML - Lazy Man's Way Quote:
paste into the OEM's RGU file. Don't forget formatting!!!! 8. Flash and enjoy! -=-=-=- -=-=-=- -=-=-=- =-=-=- -=-=-=- Build your rom and Flash! Now everyTime you need to hard reset, re-flash, you can keep your registry edits if you wish and know how... This has been a great timesaver for me in the past, and I hope it will be for too. If you can think of an idea for another tutorial, send me a pm to let me know and I will see what I can do... HAVE FUN!!! You can also find some great links here for additional registry entries... Note: I will edit the content over the next few day to ensure accuracy and clear content.... Last edited by rstoyguy; 01-19-2009 at 11:56 PM. |
This post has been thanked 7 times. |
This post has been thanked 5 times. |
|
||||
Re: Tutorial: Adding Registry Entries to your Rom (RGU Method)
Great post! I've always wanted to add my registry into the kitchen so I don't need to do it every time after I cook. This thread should be sticky'ed.
|
|
||||
Re: Tutorial: Adding Registry Entries to your Rom (RGU Method)
Thanks, remember, I'll update it tomorrow after a couple hours of sleep...
It is already. I maintain Post #8 in the stickied How To's For Developing. thread with links to all my tutorial's. |
This post has been thanked 1 times. |
|
||||
Re: Tutorial: Adding Registry Entries to your Rom (RGU Method)
Paging: rstoyguy
A little bit off topic, but this is the closest (on topic) thread of yours. I used CeRegistryEditor to extract the values in question. Code:
[HKEY_CURRENT_USER\Software\TodayAgenda] "FontSize"=dword:FFFFFFFF Code:
<?xml version="1.0" encoding="utf-8"?> <wap-provisioningdoc> <!-- Today Agenda --> <characteristic type="Registry"> <characteristic type="HKCU\Software\TodayAgenda" translation="filesystem"> <parm name="FontSize" datatype="integer" value="4294967295" /> </characteristic> </characteristic> </wap-provisioningdoc> There are a number of other settings that are in the xml, too - but this is the one that is preventing the cab from installing properly. Any thoughts that you might have are certainly welcome and appreciated. Best regards, -boggsie
__________________
|
|
||||
Re: Tutorial: Adding Registry Entries to your Rom (RGU Method)
Quote:
You need to use base64 for this and xml. I'm trying to finger it out now. (learning/googling) A quick call to the colonel may help as he uses the same method when defining binary data in his themes... Example: the "Manilla Theme" in ppcgeek_oem.rar |
This post has been thanked 1 times. |
|
||||
Re: Tutorial: Adding Registry Entries to your Rom (RGU Method)
Quote:
Code:
<wap-provisioningdoc> <!-- *** COMMENTS *** --> <characteristic type="Registry"> <characteristic type="HKCU\Software\TodayAgenda" translation="filesystem"> <parm name="FontSize" value="-1" datatype="integer"/> </characteristic> </characteristic> </wap-provisioningdoc> http://forum.xda-developers.com/showthread.php?t=390846 Edit: When running the program, click "Cab & Copy" tab up top, then the option in the lower left will do all the dirty work... |
This post has been thanked 1 times. |
|
|
|