a question on where to begin - Windows Mobile Development and Hacking General

hi there,
i have recently cooked my first rom for my htc rapheal thanks to the help of Da_G's simple rom Kitchen,
ive also got over the hurdle of how to change cabs to oem packages and made a few roms with some of these added
so far so good however i still have a few questions now concerning Manila,
ive seen quite a few posts on the topic but nothing really fitting my needs,
i have a cab file that is the glass clock manila theme (i dont know who made it but its really nice so thank you )
what im wanting to do now is work out how to incorporate this into my rom,
can any one give me some pointers
thanks

annonymouse said:
hi there,
i have recently cooked my first rom for my htc rapheal thanks to the help of Da_G's simple rom Kitchen,
ive also got over the hurdle of how to change cabs to oem packages and made a few roms with some of these added
so far so good however i still have a few questions now concerning Manila,
ive seen quite a few posts on the topic but nothing really fitting my needs,
i have a cab file that is the glass clock manila theme (i dont know who made it but its really nice so thank you )
what im wanting to do now is work out how to incorporate this into my rom,
can any one give me some pointers
thanks
Click to expand...
Click to collapse
The glass clock cab should just be a collection of manila files for the clock graphics. All you should have to do is replace the corresponding files in your manila OEM and it should cook right up.

hows the best way to find the files,
im guessing install it to the phone copy the manila files out and put them into the oem?
the cab file's xml contents are
<wap-provisioningdoc>
- <characteristic type="Install">
<parm name="InstallPhase" value="install" />
<parm name="AppName" value="ProphecyXR GlassClock_v1" />
<parm name="NumDirs" value="1" />
<parm name="NumFiles" value="2" />
<parm name="NumRegKeys" value="0" />
<parm name="NumRegVals" value="0" />
<parm name="NumShortcuts" value="0" />
</characteristic>
- <characteristic type="FileOperation">
- <characteristic type="\Windows" translation="install">
<characteristic type="MakeDir" />
- <characteristic type="1bbfdc9b_manila" translation="install">
- <characteristic type="Extract">
<parm name="Source" value="1BBFDC~1.001" />
</characteristic>
</characteristic>
- <characteristic type="4e670504_manila" translation="install">
- <characteristic type="Extract">
<parm name="Source" value="4E6705~1.002" />
</characteristic>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="Registry" />
</wap-provisioningdoc>
i see
1bbfdc9b_manila
4e670504_manila
i also searched bedore i install the cab and found these files
guess i might be answering my own questions

annonymouse said:
hows the best way to find the files,
im guessing install it to the phone copy the manila files out and put them into the oem?
Click to expand...
Click to collapse
There are programs you can use to extract files from cabs to your desktop. That's probably easier than trying to figure out what files the cab installed on your device. I use WinCE Cab Manager. It's a commercial program, but I think the demo will let you run it for a few days. If you can't find a way to do it, PM me the cab and I can extract them for you.

cool thanks for the offer, i shall to endever to do it myself tho need to learn my lessons,
i made a note of the files and file sizes when i ran the cab they were both modified in size im hedging bets those are the manila files,
now onto working out how the hell cook these in now to see if they are right
thanks for your help
just a quick addition to say it worked,

Related

Bluetooth Gateway

Is there a today screen plugin that displays whether the Bluetooth Gateway is open or closed and lets you change it. I have found myself often leaving the gateway open when the phone is silent. Thanks in advance.
Use the wireless today plugin - cab attached
Hi meschle,
you CAB is empty. Don't have any files inside neither reg keys...
Conchas said:
Hi meschle,
you CAB is empty. Don't have any files inside neither reg keys...
Click to expand...
Click to collapse
It does have a setup.xml file that writes the reg keys. There is no program its a reg hack and i dont think it will work on your universal anyhow.
Sorry you are right.
As I saw no effect at first, I've open it with WinCE CabManager to take a look, and saw nothing.
Checked now with Zip, and the .xml it's there.
Might be some new bug with the WinCE CabManager version 2...!?
By the way, do you know about some documentation that explains how to change registry via .xml files?
Conchas said:
Sorry you are right.
As I saw no effect at first, I've open it with WinCE CabManager to take a look, and saw nothing.
Checked now with Zip, and the .xml it's there.
Might be some new bug with the WinCE CabManager version 2...!?
Click to expand...
Click to collapse
I dont use wince cabmanager - i manually write the xml file - and put the cab together with smartarchiver - meant for smartphone but works a treat with wm5.
Its not difficult to write xml file i taught myself. Here is the one for the wireless plugin - you could use it as a template and change values to suit.
- <wap-provisioningdoc>
- <characteristic type="Install">
<parm name="InstallPhase" value="install" />
<parm name="AppName" value="Meschle Wireless plugin" />
<parm name="NumRegKeys" value="1" />
<parm name="NumRegVals" value="4" />
</characteristic>
- <characteristic type="Registry">
- <characteristic type="HKLM\Software\Microsoft\Today\Items\Wireless">
<parm name="DLL" value="netui.dll" datatype="string" />
<parm name="Order" value="0" datatype="integer" />
<parm name="Enabled" value="1" datatype="integer" />
<parm name="Type" value="4" datatype="integer" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
Thanks but problem
Thanks meschle for making that for me, but for some reason it shows up in my today opions but not on my today screen. I do notice the line that normally divides two items on the today screen is missing in teh place the plugin should be. I am using the stock 8125 rom(which displays the date in only one line). Is this problem cause by the 1/2 line difference in the date between roms? Thanks again.
Re: Thanks but problem
unvjarhead said:
Thanks meschle for making that for me, but for some reason it shows up in my today opions but not on my today screen. I do notice the line that normally divides two items on the today screen is missing in teh place the plugin should be. I am using the stock 8125 rom(which displays the date in only one line). Is this problem cause by the 1/2 line difference in the date between roms? Thanks again.
Click to expand...
Click to collapse
Yes sorry only works on aku2 roms, i.e. roms starting with number 2.
You could update your rom or try dktoday which also shows bluetooth on today screen.

.provxml assistance ota provisioning

Can anyone point me at anything at all useful for creating/editing and understanding provxml files?
I've been round and round MSDN and the WapForum/OpenMobileAlliance sites all afternoon and am at the point id rather eat my phone than try and write a provxml for it..
There doesn't seem to be a specification that is remotely intelligible nevermind anything easy to follow.
Theres a few edits I'd like to make to some provxml's and I looked at one which doesnt make any sense:
<characteristic type="%CE11%" translation="install">
<characteristic type="MakeDir" />
<characteristic type="Messenger.lnk" translation="install">
<characteristic type="Copy">
<parm name="Source" value="\Windows\WLMMessenger.lnk" translation="install" />
</characteristic>
</characteristic>
</characteristic>
Seems to put a messenger shortcut in the windows folder.. but why it goes in the windows folder or how it knows to make a shortcut I dont know.. %CE11% ? Lovely and descriptive.
Anythin would be appreciated.. Ive had a look round and people have modded some provxml's but ive not found a link to a spec or anything!!
Cheers,
Sam

How to delete a registry key using a CAB

Hi
I am having hard time in making a cab file to delete a registry value.
as an example I tried to import the following into WinCE CAB manager:
HTML:
[HKEY_LOCAL_MACHINE\System\Platform]
"PSAtRoot"=-
so that I can delete PSAtRoot from registry....
the WinCE CAB manager import nothing !!
this is working for desktop but not for PPC
any help on how to delete items in registry using cab file... or anything that is automated!
Thanks
Install the .cab file known as PHM RegEdit. Also, before you delete any registry values, make sure you know what your doing!
I believe he is wanting a cab that makes the change, not a registry editing program. I personally would make a mortscript install.mscr and uninstall.mscr, and make your own custom cab with mort's included setup.dll
xd1936 said:
I believe he is wanting a cab that makes the change, not a registry editing program. I personally would make a mortscript install.mscr and uninstall.mscr, and make your own custom cab with mort's included setup.dll
Click to expand...
Click to collapse
I know what they want, just showing that it's a lot easier to open a reg editor and do it manually, then creating a list of commands to execute a simple deletion of one entry.
TheChampJT said:
I know what they want, just showing that it's a lot easier to open a reg editor and do it manually, then creating a list of commands to execute a simple deletion of one entry.
Click to expand...
Click to collapse
You clearly missed the question and the purpose why he is posting in Development and Hacking section. Hes asking todo a specific task in a cab operation and you advice him to install a reg editor and be carefull?? Jesus.. If you got nothing to say, dont say it. Sorry, but youre reply pissed me off here!
hmdshmds said:
Hi
I am having hard time in making a cab file to delete a registry value.
as an example I tried to import the following into WinCE CAB manager:
HTML:
[HKEY_LOCAL_MACHINE\System\Platform]
"PSAtRoot"=-
so that I can delete PSAtRoot from registry....
the WinCE CAB manager import nothing !!
this is working for desktop but not for PPC
any help on how to delete items in registry using cab file... or anything that is automated!
Thanks
Click to expand...
Click to collapse
Mate, read this. I think its a good start for youre question
You can specify a pre/post XML when compiling your CAB via CabWizSP. PreXML will be carried out before the main INF instructions as opposed to PostXML codes which are carried out after the INF instructions. Kindly check this sample CabWizSP syntax:
CODE
cabwizsp Sample.inf /postxml PostXML.xml /cpu ARMv4
What happens when you run the code?
CabWizSP will compile instructions in 'Sample.inf' to output 'Sample.ARMv4.CAB'. It will add 'PostXML.xml' to the output CAB. The target device CPU would be 'ARMv4' (SP2003)
The post XML file may contain your 'delete file' instructions. An example would be:
Code:
<characteristic type="FileOperation">
<characteristic type="\Storage\windows\AppMgr\Install\Target File.ext" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete" />
</characteristic>
</characteristic>
</characteristic>
Above code will force delete 'Target File.ext' at \Storage\windows\AppMgr\Install. Note that the files you wish to compile should be in the same folder as the INF, the (Post) XML and the CAB making files (makecab.exe, cabwiz.ddf, CabwizSP.exe)
Click to expand...
Click to collapse
http://www.modaco.com/index.php?showtopic=235258&view=findpost&p=844503
You should read the whole tread aswell good info for you on cab and registry
http://www.modaco.com/content/smart...n/235258/create-cab-files-to-change-registry/
Play whit this for register changes, tbh I havent deleted in registry via cab before. I overwrite in cab form and wrap it whit provxml when cooking.
raiisak said:
You clearly missed the question and the purpose why he is posting in Development and Hacking section. Hes asking todo a specific task in a cab operation and you advice him to install a reg editor and be carefull?? Jesus.. If you got nothing to say, dont say it. Sorry, but youre reply pissed me off here!
Click to expand...
Click to collapse
The OP asked for an AUTOMATED way to delete the reg entry, not how to setup an xml file for deletion of the key during ROM cooking. And yes, you better believe I said make sure you know what your doing! If a person asks how delete a registry entry with this type of thread started for it, I'm a bit concerned with the fact they might not know what they are doing. So, really I'm soooooo sorry I hurt you feelings, but I did give an answer, it wasn't rude, and I gave caution to the person who wants to change the registry.
Ohhhhhh! Your post made me so sad !
HAAAAA! LOL !
delete registry entry using xml
TheChampJT : thanks for welling to help
raiisak : Thanks alot for the the help
while searching I found away to delete registry entry using (Provisioning)pre/post xml in the WinCE CAB Manager.
I modified the xml code accourding to this MSDN article
this my xml code :
HTML:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKEY_LOCAL_MACHINE\System\Loader">
<noparm name="EnableUpperModules" />
</characteristic>
</characteristic>
<characteristic type="Registry">
<nocharacteristic type="HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow" />
</characteristic>
</wap-provisioningdoc>
unfortunately nothing deleted !
did I miss something?
Why don't you create this _setup.xml:
Code:
<wap-provisioningdoc>
<characteristic type="Install">
<parm name="InstallPhase" value="install" />
<parm name="OSVersionMin" value="4.0" />
<parm name="OSVersionMax" value="6.99" />
<parm name="BuildNumberMin" value="0" />
<parm name="BuildNumberMax" value="-536870912" />
<parm name="AppName" value="YOUR NAME APP" />
<parm name="InstallDir" value="%CE2%" translation="install" />
<parm name="NumDirs" value="0" />
<parm name="NumFiles" value="0" />
<parm name="NumRegKeys" value="2" />
<parm name="NumRegVals" value="1" />
<parm name="NumShortcuts" value="0" />
</characteristic>
<characteristic type="Registry">
<characteristic type="HKEY_LOCAL_MACHINE\System\Loader">
<noparm name="EnableUpperModules" />
</characteristic>
</characteristic>
<characteristic type="Registry">
<nocharacteristic type="HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow" />
</characteristic>
</wap-provisioningdoc>
and then make the cab with ms makecab:
Code:
makecab _setup.xml mycab.cab
g77:
hmm... the output CAB cannot be installed
"try installing again to a different location"
any clue?
Going to try youre cab
hmdshmds said:
...while searching I found away to delete registry entry using (Provisioning)pre/post xml in the WinCE CAB Manager.
Click to expand...
Click to collapse
Thanks for that idea! I managed to delete the entire ClearType key from the registry using the Post-XML option in WinCE Cab manager.
I now have a cab that deletes the ClearType key and thus disables cleartype! (From a rom that has cleartype enabled by default because the key exists)
Here is what I put in the Post-XML:
HTML:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
sean222 said:
Thanks for that idea! I managed to delete the entire ClearType key from the registry using the Post-XML option in WinCE Cab manager.
I now have a cab that deletes the ClearType key and thus disables cleartype! (From a rom that has cleartype enabled by default because the key exists)
Here is what I put in the Post-XML:
HTML:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
Click to expand...
Click to collapse
Thats funny. Its the wery same string I use in kitchen. Didnt think of cabing it. N1 hehe.
Originally Posted by hmdshmds
hmm... the output CAB cannot be installed
"try installing again to a different location"
any clue?
Click to expand...
Click to collapse
I got this issue too, so for hmdshmds or anybody else who finds this thread, the answer is simply (well after a day of tracking it down ) that in the registry path, the root part must be in the short form "HKLM" etc, and NOT "HKey_Local_Machine" as hmdshmds/g77 had it.
I've put an article on my website explaining about it, and also - care of a Microsoft blog entry - how to get Visual Studio 2005 to build this right into the installer without any other external software. See Removing Registry Keys with WM6 Deployment . (*UPDATE 1-Sep-2008* Previously, the IE7 phishing filter was reporting the above link as a "possible" phishing site. It absolutely is not and the false warning was reported to Microsoft and has now been corrected.)
Happy coding guys and gals
I'm trying to remove unwanted Today Panel items. After some trial and error, I've been able to come up with the following code:
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
<nocharacteristic type="HKLM\Software\Microsoft\Today\Items\"Owner Info"" />
</characteristic>
</wap-provisioningdoc>
When I try to import it using SASHAMI, nothing happens; and when I try using 'Advanced Configuration Tool', I receive
System.SystemException:
Error Code #:
2147500037
at
Microsoft.WindowsMobile.Configuration.ConfigurationManager.MainConfigurator(XmlDocument configDoc, UInt32 flags)
at
Microsoft.WindowsMobile.Configuration.ConfigurationManager.ProcessConfiguration(XmlDocument configDoc, Boolean metadata)
at
AdvancedConfig.□.□(Object □, EventArgs □)
Click to expand...
Click to collapse
Apparently, there's still something wrong with my XML, but I'm at a loss. Anybody have any ideas?
Thanks
Roger
well, maybe a bit late answer but you cant remove 'folders' which contain values.. you need to remove them one by one, at least i cant get any further the nthat!
hmdshmds said:
unfortunately nothing deleted !
did I miss something?
Click to expand...
Click to collapse
This might be a little late as I was not a member when you posted here, but to provision with a cab you should leave out the </wap-provisioningdoc> from the top and bottom. It will not fail to parse including that string and its confusing when it still doesnt work. That is your problem. Remove wap provisioning string from top and bottom. Here is how it should look.
PHP:
<characteristic type="Registry">
<characteristic type="HKEY_LOCAL_MACHINE\System\Loader">
<noparm name="EnableUpperModules" />
</characteristic>
</characteristic>
<characteristic type="Registry">
<nocharacteristic type="HKEY_LOCAL_MACHINE\System\Loader\LoadModuleLow" />
</characteristic>
Hi!
I am, as everyone else posting in this thread, trying to remove a bunch of registry settings using a cab-file. Thanks to this thread, my hopes of success were raised once more
I tried all of the examples posted in this thread without success, found a link on modaco which lead me to this msdn-article:
http://msdn.microsoft.com/en-us/library/ms834737.aspx
Works like a charm... Thanks a BUNCH guys!
As this is the first thing found when googled - I'll add a little information.
For files, you need to remove each and every file contained in a folder before the folder itself can be removed.
For registry keys, you do not need to remove seperate values. Deleting a registry key, deletes all contained values and subkeys.
Great post. Just what I needed.
But I have problem with WinCE CAB Manager version 3.0.0.22. Anything I added to the pre or post XML, the CAB file cannot be install. Took me forever to debug and nothing works. Anybody?
I finally switch to version 2 and it works perfectly.
I take it back, Wince CAB manager sucks. ver 2.1.0.35 cannot import reg file.

[Q] ProvXML

So, I'm trying to improve my already vast configuration cab. That's right, I created a CAB file instead of an XML. The reason? I just can't grasp the damn syntax that provXMLs use.
I've read microsoft's footage on ProvXMLs and it didn't make me all the wiser. Now though, I need them anyway, as there's something CAB files can't do;
Deleting files. How can I do this with a ProvXML?
It's just that easy:
Code:
<characteristic type="FileOperation">
<characteristic type="Windows\DarkWood.cab" translation="install">
<characteristic type="Delete">
<parm name="ForceDelete" />
</characteristic>
</characteristic>
</characteristic>
Alright, thanks. What about deleting folders? CAn that be done while files are still inside? And registry keys?
I'm sorry for the many questions, but provxml's are confusing
EDIT:
Oh, and what's up with the darkwood.cab?
No problem
Remove Folder
Code:
<characteristic type="FileOperation">
<characteristic type="%CE2%\Start Menu\Programs\Office Mobile" translation="install">
<characteristic type="RemoveDir" />
</characteristic>
</characteristic>
Edit Registry Keys
There are 2 different Solutions for creating a xml File which edits the registry.
1. You can write your File in simple RGU-Style and use and Rgu2xml converter to get your xml file
2. You write it straight away in xml
For Example a part of my Customization and Tweak-Xml-File to enable Cleartype:
Code:
<characteristic type="Registry">
<characteristic type="[B]HKLM\System\GDI\ClearTypeSettings[/B]">
<parm name="[U]OffOnRotation[/U]" value="0" datatype="integer"/>
</characteristic>
[size=1]<characteristic type="HKLM\System\GDI\CLEARTYPE">
<parm name="Default" value="0" datatype="integer"/>
</characteristic>[/size]
</characteristic>
Thats the Dir you edit/modify
Thats the Regkey you create/modify
So, if I understand correctly, removing a folder also removes all files inside without trouble. I had already found rgu2xml.
What about deleting registry keys, is that also that simple?
Why delete them if you can set them to 0
Kid_DC said:
Why delete them if you can set them to 0
Click to expand...
Click to collapse
Umm, deleting is cleaner. Setting them to 0 leaves the key in the registry, and the less keys you have, the faster it is. So, is it possible at all, or did you propose that option because it's not?
Hehe but there are so many Keys that your 10 Keys, which you want to delete, make no difference (i think...)
Actually I don't know how to delete them because I never used this command. But I think that should be possible... try to search for "XML delete registry key xda"
I believe I found it:
Code:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
Deletes the CLEARTYPE key..!
Now to make the file and cab it!
I believe I found it:
Code:
<characteristic type="Registry">
<nocharacteristic type="HKLM\System\GDI\CLEARTYPE" />
</characteristic>
Deletes the CLEARTYPE key..!
Now to make the file and cab it!
What do you want to do with your cab?
Uninstall the panels and reassign the panel button to something useful. =]
hm... nice
I've removed the Panels in my current version of my Rom, too. I only need the Media Xperiance Panel and i can get it running without panelmanager
Kid_DC said:
hm... nice
I've removed the Panels in my current version of my Rom, too. I only need the Media Xperiance Panel and i can get it running without panelmanager
Click to expand...
Click to collapse
You can? That's neat! Mind sharing that? Would be nice if that runs, but then without the background process that takes up so much of the cpu...
Share!
It's not difficult, really
Only Remove Panelmanager, Install Media Xperiance Panel (not that from the R3AA beta) and install Pubba's Panel Installer. Now reassign the Panelbutton to the Mxp.exe from Pubba and it's done
Alright, I didn't know Pubba's was compatible. What about the background process, does it terminate once you shut it down?

[HELP] How to change icons and rearrange start menu when cooking?

Hi
I have spent the past couple of days cooking my own rom for personal use, and so far this forum have been a huge help. Thanks guys!
I have searched the forums, and google but have found no solution to my problem. I need a method to change the icons in my start menu, and deleting/adding links while cooking it into the rom.
Can anybody help me?
Cheers!
mxipupdate_projectdefault_a_000.provxml (new folders/subfolders also have to be in initflashes.dat)
mxipinit_startmenu_001.provxml (i only remove the search- and help-links)
the according numbers "900000XXX" can be used to define the order.
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Security\Shell\StartInfo\Start\Today">
<parm name="Name" datatype="string" value="Startbildschirm" />
<parm name="Rank" datatype="integer" value="900000718" />
</characteristic>
<characteristic type="HKLM\Security\Shell\StartInfo\Start\Multimedia">
<parm name="Group" datatype="integer" value="1" />
<parm name="Icon" datatype="string" value="\Windows\HTC_multimedia.png" />
<parm name="Rank" datatype="integer" value="900000518" />
</characteristic>
..................
make sure you save it in utf-8-format.
one single error (or file/folder not found) within the provxml-file and it will be ignored at installation of rom.
you can rename the *.provxml to *.xml and doubleclick it to see where the errors are.
I made the changes to mxipupdate_projectdefault_a_000.provxml but it doesn't seem to be processed. I open it in IE as xml and there's no error.
what else could be wrong?
like i said... one single file/folder not present (initflashes.dat) and the provxml will be ignored. don't just check for format errors.
I find the best way is to use iniflashfiles.dat, create my folder structure and modify the existing apps to where I want. Then in SYS there are some provxml files like for Windows Live, Skybox etc. I make a copy of these and put in my operatorPkg folder and modify them to the folder I want. The file in OperatorPkg will overwrite the original.
bobsbbq said:
I find the best way is to use iniflashfiles.dat, create my folder structure and modify the existing apps to where I want. Then in SYS there are some provxml files like for Windows Live, Skybox etc. I make a copy of these and put in my operatorPkg folder and modify them to the folder I want. The file in OperatorPkg will overwrite the original.
Click to expand...
Click to collapse
ok looks like that's what I'll do.
do you know which package create the HTC shortcuts and the widget shortcuts?
zenkinz said:
ok looks like that's what I'll do.
do you know which package create the HTC shortcuts and the widget shortcuts?
Click to expand...
Click to collapse
The HTC shortcuts are created from Manila Core\0409 reg file. You can delete them if you don't want and change the reg setting for AutocreateShortcutEnabled to 0
for Widgets I never use them. I would like to know how to change these myself. Maybe someone else can help with this.

Categories

Resources