View Single Post
  #2 (permalink)  
Old 01-01-2009, 05:56 PM
rstoyguy's Avatar
rstoyguy
SuperNoob
Offline
Threadstarter
Location: Wichita, KS
 
Join Date: Jan 2008
Posts: 6,309
Reputation: 23264
rstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation levelrstoyguy can't get a higher reputation level
Mentioned: 0 Post(s)
Tagged: 0 Thread(s)
Re: [TUT] Creating OEM's for your ROM

Advanced Topics & Tricks:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
1: Tweaking the "option.xml"
2: Tweaking the "initflashfiles.txt"
3: Importing Program Settings
4: Handling the Setupdll.dll file
5: Adding multiple files using OEMIzer (Good for Skins-n-Things)


Advanced Topics: Tweaking the "option.xml"
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
The file option.xml is basically for BuildOS. Here is the contents from a freshly made OEM:
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
  <Item name="Kevtris" group="Apps" checked="True">
    <Tip></Tip>
    <Guid type="p">e29023a8-1df6-47e1-8b01-4c94430ece83</Guid>
  </Item>
</Items>
Now let's take a look at each one:
Kevtris - This is the name that show up in BuildOS
Apps - This is the category sub-folder that the program will show up in BuildOS.
True - True, it is checked when BuildOS is first started and will be included in the build. The other option is "False" for it will not be checked.
Tip - This is the program description when you roll your mouse over that option in BuildOS (older) or to the right of the program name in the newer kitchen.
Guid Type - This is the GUID of the OEM, the DSM and RGU files have this same name as well.

Now let's add a few more components to the file.
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
  <Item name="Kevtris" group="Apps" checked="True">
    <Tip>Kevtris for winmo</Tip>
    <OEMAuthor>rstoyguy</OEMAuthor>
    <OEMDate>1/1/2009</OEMDate>
    <OEMVersion>1.00</OEMVersion>
    <AppVersion>0.xx</AppVersion>
    <AppAuthorURL>www.google.com</AppAuthorURL>
    <Guid type="p">e29023a8-1df6-47e1-8b01-4c94430ece83</Guid>
  </Item>
</Items>
Above I've added, the OEM Date, Author, Version, and a URL link. The information in orange is just text format. Adding this information is handy, especially if your using the latest ppckitchens buildos.


This is a text file I keep so I can easily cut and paste the above information into the option.xml of most of the OEM's I do.
Code:
    <OEMAuthor>rstoyguy</OEMAuthor>
    <OEMDate>12/9/2008</OEMDate>
    <OEMVersion>1.00</OEMVersion>
    <AppVersion>0</AppVersion>
    <AppAuthorURL></AppAuthorURL>
Other option.xml commands are:
<Require> {GUID} </Require> - Adding this line will require BuildOS to include that OEM as well. Replace the {GUID} with the actual GUID of the OEM.
Quote:
Originally Posted by GGuruUSA View Post
Beyond the basic tags, here's a list of PPCkitchen specific tags you can use in an option.xml file to make your kitchen more friendly. These tags are all optional.

Simple ones everyone should include:
<OEMDate> - Date the package was last modified
<OEMVersion> - package version (not necessarily the same as app version)
<OEMAuthor> - person to contact regarding the package
<AppVersion> - verison of the application
<AppAuthorURL> - author of the application
<LicenseType> - applications license model (freeware, shareware, commercial, subscription, etc)
<AdditionalInfo> - any additional info to describe the package/application

BuildOS display tags:
<CarrierModule> - package will appear and be selected from Carrier dropdown
Build controlling tags:
<Exclude> - Exclude the package with matching GUID (prebuild) when this package included
<Require> - Require the package with matching GUID (prebuild) when this package included
<RequireDeviceFeature> - this package Excluded if feature doesn't exist (prebuild)
<NeededForFeature> - this package Required if feature exists (prebuild)
<Features> - features this package adds (e.g., .NetCF35 package could have .NET and .Net35 features, which other packages might use in <RequireDeviceFeature> tags)
<SkipFile> - causes the named package file to NOT be include in the build
<PatchOEM> - this package is used to patch another package. This package is excluded if package to be patched is not included. Inclusion of package to be patched does NOT auto include this package.


Advanced Topics: Tweaking the "initflashfiles.txt"
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Here is a look at the file:
Code:
;*****************************************************************************
;initflashes.txt created with packages generator by ervius!!!
;package: Kevtris
 
Directory("\Program Files\"):-Directory("Kevtris 2")
Directory("\Program Files\Kevtris 2"):-File("176x220.dll","\windows\000-176x220.dll")
Directory("\Program Files\Kevtris 2"):-File("240x240.dll","\windows\000-240x240.dll")
Directory("\Program Files\Kevtris 2"):-File("240x320.dll","\windows\000-240x320.dll")
Directory("\Program Files\Kevtris 2"):-File("Kevtris.exe","\windows\000-Kevtris.exe")
Directory("\Program Files\Kevtris 2"):-File("SetupDLL.dll","\windows\000-SetupDLL.dll")
Directory("\Program Files\Kevtris 2"):-File("sounds.dll","\windows\000-sounds.dll")
 
Directory("\windows\start menu\programs\games"):-File("Kevtris.lnk","\windows\Kevtris.lnk")
 
;Help files:
;end of package: Kevtris
;*****************************************************************************
Sometimes cabs will install some additional .lnk files, misplace a file that got copied into the program directory that should have been left in the \windows directory, or will have multiple language files and depending on your language selection will copy only one to a different filename inside the program directory. I almost always anymore copy my .links from the device after a .cab install. I check the \windows\startup and \windows\program files directories. I then manually copy them from my device into the OEM and create an initflashfiles.txt entry for it. Other files, you will have to install the .cab on your device, then examine the structure within the OEM and adjust your OEM so it mimics the .cab install file placements, etc...

I've already covered handling this file in some other tutorials. So check out this tutorial to find out more:

Customizing Your Rom: Adding Personal Files & Other Stuff (the beef is in post #2 for those quick learners)
__________________
If this post was helpfull, let me know by clicking Thanks!


Last edited by rstoyguy; 01-14-2009 at 12:34 AM.
Reply With Quote
This post has been thanked 12 times.