Related
Hello everybody!
Even if this is my first post on this forum, I use to visit this useful place since years, I tried many of those great WM6 ROMs made by our ROM cookers (thanks to all), then I tried to cook my own ROMs using tools recommanded in the Wiki.
But those kitchen tools weren't conveignent for my use, it was a lot of work and patience for making ROMs, we need to use many different programs and scripts, and I thought that the cooking process could be really simplified using an unified graphical interface like dutty's tool. I was patiently waiting for his Hermes Rom Koch V2, but finally I started to develop my own kitchen tool!
Here are some features of this program:
- ROM file manager (to add/delete/extract files or to create shortcuts)
- ROM layout editor (to edit init flash files)
- Registry editor (to modify/import/export default & user registry)
- CAB install files integration
- ROM creation from original OS image or dump directory
I posted some screenshots for better explanations.
This program simply use aWaiter and ImgFS tools for ROM creation/extraction.
For now I still have a lot of work on it, but I would like some advises from experienced developers on this forum, because even if my program works, I would like to know if the cooking process is porper and safe, and how I could improve it (for example using internal functions for ROM creation/extraction instead of external programs, implementing NBH tools,...).
If some of our XDA-developers are interested, I would really like to make this project an Open Source "all-in-one" ROM cooking program, gathering all the others kitchen tools in an unified graphical interface offering the easiest way to cook nice ROMs for our Hermes and certainly for other devices.
I know that I didn't give many details about my program but don't hesitate to ask me about it. I would also have few questions for developers.
Developers and ROM cookers, I'm waiting for your feedback!
Thanks.
This looks very user friendly, I will be watching closely. Good work.
What language is it in? (programming language that is)
Midget_1990 said:
What language is it in? (programming language that is)
Click to expand...
Click to collapse
I developed this program in C# (using .NET framework 2.0).
Thx for your work! It would be better if the tool support packages.
http://forum.xda-developers.com/showthread.php?t=296861
Where to download??
Thanks for the link. I already thought about working with packages because it seems to be a better way to make "clean" ROMs, but I couldn't find enough information about how to extract/build packages in ROM.
I tried bepe's package tool on my own cooked ROM and I noticed that removed files were marked as missing in packages, and all the files I added weren't moved from dump directory. There is nothing surprising, but I wondered if adding/deleting manually files from ROM, causing "corrupted packages", can have any effect on final ROM. If not then why packaging information (like .dsm and .rgu files) are still present in ROM after all packages were merged? What exactly contains .dsm files, and how to create them for adding new packages?
Could someone tell me more about building packages, or tell me where I could find all the information I need.
Thanks
I'm still working in this project, so I didn't plan any release yet.
Good idea and nice project.
Go on dude !
Good work.
Great work so far - I fullly support this project.
Lookign forward to the release.
schaps said:
Could someone tell me more about building packages, or tell me where I could find all the information I need.
Click to expand...
Click to collapse
Great project - and I agree, it definitely should support packages. If you've had a look at bepe's kitchen, you already know how much easier it is to understand the purpose of all the files in a ROM if they are organized in packages.
.rgu files are Registry "source code". They are not part of the package mechanism. And yes, when cooking a ROM you can leave them out, as they are not needed at run time. Saves a bit of space.
The .dsm files, otoh, are needed at run time.
When I cooked my ROM, I did find some information (written by bepe) here in the forum about how to make your own packages. Can't remember where that was, but I found it on my hard disk, so I simply quote it here again:
How-To build ur own OEM Package:
An OEM Package is just a simple folder containing files and registry settings for the ROM
First of all you'll need a GUID number for your Package.
Go to http://www.famkruithof.net/uuid/uuidgen to get one.
In my case:
283b9db7-cb03-4c1b-820e-ca49b2c3b5db
Necessary steps:
1. Create a new folder:
Dev/OEM/[Your package name]/
2. Create a empty text file:
Dev/OEM/[Your package name]/283b9db7-cb03-4c1b-820e-ca49b2c3b5db.dsm
(CreateOS.exe will finish this file for you)
If needed:
3. Create an UNICODE text file:
Dev/OEM/[Your package name]/283b9db7-cb03-4c1b-820e-ca49b2c3b5db.rgu
This file could be used to add registry entries to the ROM
First line is:
REGEDIT4
...
and there MUST be a empty line at the end!!
4. Create an UNICODE text file:
Dev/OEM/[Your package name]/initflashfiles.txt
This file could be used to create folders or copy files, shortcut on the ROM.
For Example/ Ilustration: Open or read Dev/LOC/initflashfiles.dat using a text editor or any premake initflashfiles.txt at one of the OEM folder.
and there MUST be a empty line at the end of iniflashfiles.txt also!!
Copy all files you need to Dev/OEM/[Your package name]/
Click to expand...
Click to collapse
Hope that helps. If I remember correctly, bepe told me that the OEM folder is treated a bit differently from the SYS folder, so it might be you can't create packages there. But then, you probably also shouldn't.
Oh, and about the initflashfiles.dat: you are aware that the initflashfiles.dat just copies files and does not move them? Using this feature extensively uses up ROM space very quickly, so it should be done for small files (like the start menu shortcut files) only.
Cheers
tadzio
Thanks a lot for your help tadzio!
I also read the different steps about how to add a new OEM package, I found information on this Wiki if someone is interested : http://wiki.ppcgeeks.com/index.php?title=Kitchen.
I think I know enough about it but what I would know is how to extract packages then to merge them for creating a ROM image, like do bepe's tools?
I confirm I also heard that OEM folder processing is different from SYS folder.
Concerning the initflashfiles.dat I guessed that files were copied from ROM to storage memory, good to have a confirmation. So it means that if we want to include a new program in ROM, we should better to let it in Windows folder than to put it in a Program Files folder, right? I have another question about initflashfiles.dat, I saw that it sometimes uses variables for directories instead of strings (for example Directory(LOC_XXX), Directory(0409_XXX),...), where could I find those variable declarations?
schaps for president
schaps said:
Thanks for the link. I already thought about working with packages because it seems to be a better way to make "clean" ROMs, but I couldn't find enough information about how to extract/build packages in ROM.
I tried bepe's package tool on my own cooked ROM and I noticed that removed files were marked as missing in packages, and all the files I added weren't moved from dump directory. There is nothing surprising, but I wondered if adding/deleting manually files from ROM, causing "corrupted packages", can have any effect on final ROM. If not then why packaging information (like .dsm and .rgu files) are still present in ROM after all packages were merged? What exactly contains .dsm files, and how to create them for adding new packages?
Could someone tell me more about building packages, or tell me where I could find all the information I need.
Thanks
Click to expand...
Click to collapse
Hi Schaps,
you can have a look in this link:
http://forum.xda-developers.com/showthread.php?t=312985
it's a tool to re-build DSM file, which is better than just creat an empty .dsm file when making new package.
hope this help. It will be cool if your new tool support package.
For Atom / Atom Pure / Atom Exec: Use WinImage Version 8.1 or similar program to edit IMG file. There are many programs that can do it.
Do not touch folders found in this image file. Programs that depend on these folders are: FM Radio, AutoConfig, WirelessManager, Camera, Equalizer, Album (life), ImageEditor (life)
The version of the Extended Rom is taken from the text file:
061020_AL1ARCWWE_EX0604.txt
The name is picked up versionCPAapplet.cpl (found in Settings->System Info)
So far, I did not encounter any problems changing the version numbers
The default folder name for this partition on your device is \_QHiddenPartition\ However, when we unlock this hidden partition at device runtime, we can not use the same folder name to install programs and lock it afterwards.
Normally, I used this partition to place the cabs I want to install at hard reset. This is no longer a problem with the cooked ATOM/ATOM EXEC ROMs we made because, serialzs introduced MortScript to do the automatic installation of cabs found in \_QHiddenPartition\ and \cabs\ folder found in storage card.
It is not necessary, however, to unlock the hidden partition just to edit the contents at device runtime. You can always use Total Commander to browse this partion by keying \_QHiddenPartition\ on the location bar.
For ATOM LIFE users, you can simply remove the 12-byte header of IMG file, and WinImage 8.1 can be used to edit the file. You need to restore the 12-byte header prior to flashing your device again.
tj your are very kind ^^;
Last time i ask.you say search.
i use search but still confuse cause alot of topic.
but now you posted this info.
THANKS YOU
thank you,i'm trying to cook and release WM 7.0 tonight. j/k
How to remove or add programs being install in order??? I found that del *.cab to remove the programs and copy *.cab to auto install the programs from extended rom. But i don't know the file where listed the programs is able install in the extended rom at hard reset. In the past,when i cooked BA rom, i remember that i can edit the file include the paths of the cabs I want to auto install at flash rom or hard reset.
jiggs said:
For Atom / Atom Pure / Atom Exec: Use WinImage Version 8.1 or similar program to edit IMG file. There are many programs that can do it.
Do not touch folders found in this image file. Programs that depend on these folders are: FM Radio, AutoConfig, WirelessManager, Camera, Equalizer, Album (life), ImageEditor (life)
The version of the Extended Rom is taken from the text file:
061020_AL1ARCWWE_EX0604.txt
The name is picked up versionCPAapplet.cpl (found in Settings->System Info)
So far, I did not encounter any problems changing the version numbers
The default folder name for this partition on your device is \_QHiddenPartition\ However, when we unlock this hidden partition at device runtime, we can not use the same folder name to install programs and lock it afterwards.
Normally, I used this partition to place the cabs I want to install at hard reset. This is no longer a problem with the cooked ATOM/ATOM EXEC ROMs we made because, serialzs introduced MortScript to do the automatic installation of cabs found in \_QHiddenPartition\ and \cabs\ folder found in storage card.
It is not necessary, however, to unlock the hidden partition just to edit the contents at device runtime. You can always use Total Commander to browse this partion by keying \_QHiddenPartition\ on the location bar.
For ATOM LIFE users, you can simply remove the 12-byte header of IMG file, and WinImage 8.1 can be used to edit the file. You need to restore the 12-byte header prior to flashing your device again.
Click to expand...
Click to collapse
cdmavn said:
How to remove or add programs being install in order??? I found that del *.cab to remove the programs and copy *.cab to auto install the programs from extended rom. But i don't know the file where listed the programs is able install in the extended rom at hard reset. In the past,when i cooked BA rom, i remember that i can edit the file include the paths of the cabs I want to auto install at flash rom or hard reset.
Click to expand...
Click to collapse
The script runs through all cabs present in the the two locations stated above. You don't have to edit any list like you do for AutoRun in BA. Also, AutoRun does not work with cab installation that require user interaction. Now, as for your question regarding the order they go - it's alphabetical.
Hi jiggs!!
You awesome! I have added my operator in autoconfig list, all work fine, now I have all settings for my operator!
THANKS A LOT!!
interesting in rom cooking, thats what i.m always thinking about,.
but i'm afraid to do this, i'm afraid i'll bring my atom unusable,.
thanks anyway jiggs,.
ex.image said:
Hi jiggs!!
You awesome! I have added my operator in autoconfig list, all work fine, now I have all settings for my operator!
THANKS A LOT!!
Click to expand...
Click to collapse
Pls post your settings for others, too. Thanks.
jiggs said:
For ATOM LIFE users, you can simply remove the 12-byte header of IMG file, and WinImage 8.1 can be used to edit the file. You need to restore the 12-byte header prior to flashing your device again.
Click to expand...
Click to collapse
how do you remove 12-byte header?
ichanz said:
how do you remove 12-byte header?
Click to expand...
Click to collapse
Open the file with an HEX-editor, cut the first 12 bytes and save the file. That's all.
You can use "XVI32". This Hex-editor is included in the original Scooter-ROMkitchen.
Hi all,
I use remotePROTECT as a security measure on my Atom - I find the program great.
It will be even better if I place it in extROM (hidden partition) so that it will install again upon hard reset.
I've followed the instructions that come with the software - they require me to place the program's CAB file in the extROM along with the setupE file.
I tried that - did a hard reset and nothing happened - didn't install.
I have an O2 Atom with an official ROM release installed.
Is there anything else I need to do? I note there is an Autoinst.dat file in the hidden partition, but it's encrypted or gibberish so I can't do much with it.
If I've overlooked anything can someone please suggest what I can do to make this do what I want - install itself again after hard reset.
Thanks in advance.
Avocado said:
Hi all,
I use remotePROTECT as a security measure on my Atom - I find the program great.
It will be even better if I place it in extROM (hidden partition) so that it will install again upon hard reset.
I've followed the instructions that come with the software - they require me to place the program's CAB file in the extROM along with the setupE file.
I tried that - did a hard reset and nothing happened - didn't install.
I have an O2 Atom with an official ROM release installed.
Is there anything else I need to do? I note there is an Autoinst.dat file in the hidden partition, but it's encrypted or gibberish so I can't do much with it.
If I've overlooked anything can someone please suggest what I can do to make this do what I want - install itself again after hard reset.
Thanks in advance.
Click to expand...
Click to collapse
If you have read the first post carefully, then you will understand that this won't work because the built-in AutoInstall of the official ROM restricts to signed CABs only as defined by list with no known format as of this date. That's why we have cooked ROMs to bypass this and created another AutoInstall script. There are work arounds for your purpose but definitely this solution is not for you. You have to do some research on this forum.
Anyone knows how to change or create new network settings. I found xml files in network folder and asked if there is a way to have my personal network settings like auto sms delivery or auto configure vms numbers or ...
vocian said:
Anyone knows how to change or create new network settings. I found xml files in network folder and asked if there is a way to have my personal network settings like auto sms delivery or auto configure vms numbers or ...
Click to expand...
Click to collapse
you need to secure this from your operator.
although you can edit the xml files with notepad, I don't know if the GUID found there is important. you can also generate your own GUID to have a unique value.
select the existing xml that best fit your requirements and edit it. you can't edit the cabs found in the networks because they are signed. you need to provision your own cabs. it's more like provisioning certificates using cabs.
jiggs said:
you need to secure this from your operator.
although you can edit the xml files with notepad, I don't know if the GUID found there is important. you can also generate your own GUID to have a unique value.
select the existing xml that best fit your requirements and edit it. you can't edit the cabs found in the networks because they are signed. you need to provision your own cabs. it's more like provisioning certificates using cabs.
Click to expand...
Click to collapse
thank you very much indeed. I found xml files for defualt operator and also txt file wich list this operators. Gussed that first input my operator to that list and then create new xml. but i figured if any guide for what all of this xml comands mean and the whole format.
and another question : how to edit or change cabs? I have a background of programming with c++ and visual basic.net. Is it possible for me to create my own cab without too much effort? and with which compiler ?
tnx
jiggs said:
It is not necessary, however, to unlock the hidden partition just to edit the contents at device runtime. You can always use Total Commander to browse this partion by keying \_QHiddenPartition\ on the location bar.
Click to expand...
Click to collapse
Jiggs,
I am using an atom life, I fould that I could not browse the extended rom with Total Commander. In my memory, I should be able to use TC to browse the extended rom on my ATOM EXEC. Do you know what I am doing wrong?
By the way, is it possible to unhide the extended rom?
vocian said:
thank you very much indeed. I found xml files for defualt operator and also txt file wich list this operators. Gussed that first input my operator to that list and then create new xml. but i figured if any guide for what all of this xml comands mean and the whole format.
and another question : how to edit or change cabs? I have a background of programming with c++ and visual basic.net. Is it possible for me to create my own cab without too much effort? and with which compiler ?
tnx
Click to expand...
Click to collapse
use PocketPC Installation Creator to create cabs.
hh93220 said:
Jiggs,
I am using an atom life, I fould that I could not browse the extended rom with Total Commander. In my memory, I should be able to use TC to browse the extended rom on my ATOM EXEC. Do you know what I am doing wrong?
Click to expand...
Click to collapse
You must simply type \_QHiddenPartition in Total Commander to switch to Extended ROM.
Btw: It's described in the Atom Wiki. You should read it.
By the way, is it possible to unhide the extended rom?
Click to expand...
Click to collapse
Yes:
hit me
scorpio16v said:
Open the file with an HEX-editor, cut the first 12 bytes and save the file. That's all.
You can use "XVI32". This Hex-editor is included in the original Scooter-ROMkitchen.
Click to expand...
Click to collapse
Thanks!! The problem resolve after I remove the first 12 bytes.
For AtomLife ExtRom.img.
Anyone was successful to flash editted ExtRom.img of AtomLife with DSUU? If possible, could you please show me few experience to Update ExtRom via DSUU.
Ex: Remove 12bytes header/edit(add or remove anything can do)/restore 12bytes header. Then replace new ExtRom.img in \Window\temp\ExtRom.img and delete \Window\temp\FLASH.DIO while completed extract of DSUU running. Then imitate DSUU instruction. Is it right? This way, I cuccessed to new Flash.dio for AtomLife.
I searched the internet and this forum for quite a while but could not find anything specific.
I want to integrate some registry settings after cold boot via provxml. But I cannot figure out how they are applied after hard reset. If I put a new file into the (dump) rom, it will not be executed. I only read something about dsm-files or so...
any help out there?
cheerio.
chriskay said:
I searched the internet and this forum for quite a while but could not find anything specific.
I want to integrate some registry settings after cold boot via provxml. But I cannot figure out how they are applied after hard reset. If I put a new file into the (dump) rom, it will not be executed. I only read something about dsm-files or so...
any help out there?
cheerio.
Click to expand...
Click to collapse
As far as I know, the provxml has to be referred to in a *.dsm file.
What that means, is that you must create an OEM pack, and place your provxml files in that pack and generate the *.dsm file for that package...
To achieve this, I'd use ervius's package tool (you probably know this if you've done any messing around with packages!) and build DSM from here.
You'll need to create a new OEM pack (call it whatever you want, it really doesn't matter) and then put your provxml files in that folder before dragging that into the buildDSM exe, which will do all the hard work
thanks for your swift reply! sounds quite promising. will try it straight away. i hoped there would be an easy way like these tools.
cheers!
chriskay said:
thanks for your swift reply! sounds quite promising. will try it straight away. i hoped there would be an easy way like these tools.
cheers!
Click to expand...
Click to collapse
If that fails, you can rename the provxml file to *.xml, and reference it in your config.txt file for AutoRun.exe
e.g.
Code:
XML: \Windows\Provisioning.xml
ok, i did everything as stated. unfortunately, the newly created provxml was still not executed.
i use neokit (without package import) and just copied the provxml, the dsm and the rgu into the dump folder.
either there is more to that than just copying it, or i missed something when creating the dsm file.
any idea?
chriskay said:
ok, i did everything as stated. unfortunately, the newly created provxml was still not executed.
i use neokit (without package import) and just copied the provxml, the dsm and the rgu into the dump folder.
either there is more to that than just copying it, or i missed something when creating the dsm file.
any idea?
Click to expand...
Click to collapse
Ah... I think that's because of the way Neokit builds the ROM. I think you'll need to "import" the OEM pack, rather than simply copying the files (If that makes any sense...). Using an older version of neokit (I have the first release for OEM packs, and the latest release for everything else) you can import the packs and it works!
yeah, that is what i thought. could you provide me, please, with that older version? i have been looking for it all over the place without any luck.
thanks in advance!
chriskay said:
yeah, that is what i thought. could you provide me, please, with that older version? i have been looking for it all over the place without any luck.
thanks in advance!
Click to expand...
Click to collapse
Sure! I'll have to clear it out though...
Neokit original version is just being uploaded...
Done! Here: NEO.zip - 2.81 Mb
If inteks has any objection, I'll remove it...
i tried it and it worked like a charm! cheers, mate, for pushing me in the right direction!
cheerio!
chriskay said:
i tried it and it worked like a charm! cheers, mate, for pushing me in the right direction!
cheerio!
Click to expand...
Click to collapse
Glad that worked! I just wish Neokit still had the import OEM pack function!
Hi,
unfortunately I am not able to implement a new *provxml to a new ROM.
I know http://forum.xda-developers.com/showthread.php?t=398025
and some other threads, but all my entries (Mailaccounts, WiFi informations - which I got with rapiconfig) are not in my new ROM.
I am doing somewhere a mistake. It does not work:
I have done the following:
1. created an acconts.provxml
2. renamed to _setup.xml
3. Created an OEM package with Ervius Package Creator.
Have now 5 files in the OEM folder: _setup.xml, *.rgu, *.dsm (size 0k), option.xml and initflashfiles.txt
4. Moved option.xml out of the OEM folder
5. Drag and drop OEM folder over BuildDSM.exe. This creates a new *dsm (size 1k)
6. place back option.xml in OEM folder
7. copy OEM folder under \Packages - i have tested also the OEM folder
8. cooked and burned ROM
Any help is welcome.
Regards
kuzco1
kuzco1 said:
Hi,
unfortunately I am not able to implement a new *provxml to a new ROM.
I know http://forum.xda-developers.com/showthread.php?t=398025
and some other threads, but all my entries (Mailaccounts, WiFi informations - which I got with rapiconfig) are not in my new ROM.
I am doing somewhere a mistake. It does not work:
I have done the following:
1. created an acconts.provxml
2. renamed to _setup.xml
3. Created an OEM package with Ervius Package Creator.
Have now 5 files in the OEM folder: _setup.xml, *.rgu, *.dsm (size 0k), option.xml and initflashfiles.txt
4. Moved option.xml out of the OEM folder
5. Drag and drop OEM folder over BuildDSM.exe. This creates a new *dsm (size 1k)
6. place back option.xml in OEM folder
7. copy OEM folder under \Packages - i have tested also the OEM folder
8. cooked and burned ROM
Any help is welcome.
Regards
kuzco1
Click to expand...
Click to collapse
Don't rename it to setup.xml. Leave it as a provxml file.
l3v5y said:
Don't rename it to setup.xml. Leave it as a provxml file.
Click to expand...
Click to collapse
Thanks for this tip, but it does not work in my case. I have still no email-accounts after cooking my ROM.
If I "import" my accounts.provxml with "rapiconfig /p accounts.provxml" everything is fine.
BuildosX-log.txt does not say any error.
It is necessary to put my OEM folder under a special directory ?
I have tested \packages and \OEM.
Regards
kuzco1
kuzco1 said:
Thanks for this tip, but it does not work in my case. I have still no email-accounts after cooking my ROM.
If I "import" my accounts.provxml with "rapiconfig /p accounts.provxml" everything is fine.
BuildosX-log.txt does not say any error.
It is necessary to put my OEM folder under a special directory ?
I have tested \packages and \OEM.
Regards
kuzco1
Click to expand...
Click to collapse
Should be put in \OEM.
You could try using SDAutoRun as an alternative.
Try the attached OEM pack (obviously with your details added back in...)
I am looking to create some cabs (now that I have WinCE figured out) and wondered if others had quick ways of getting all of the reg keys exported for specific applications so I can add those into my cab.
If I can get buttons, today screen prefs, apps, and a few other things done in one compiled "Setup CAB" I will have my phone auto-customized I had it before flashing. I am so close to having only cabs in my UC if I can get this, and do away with the copy commands.
serfboreds said:
I am looking to create some cabs (now that I have WinCE figured out) and wondered if others had quick ways of getting all of the reg keys exported for specific applications so I can add those into my cab.
If I can get buttons, today screen prefs, apps, and a few other things done in one compiled "Setup CAB" I will have my phone auto-customized I had it before flashing. I am so close to having only cabs in my UC if I can get this, and do away with the copy commands.
Click to expand...
Click to collapse
This is actually something I've been wondering about and kinda 'working on'.
I'm trying to find out how certain applications store registration info (registry, files, etc.)
Just a few in question that I'm trying to auto-register on flash:
Resco Tools: Backup and Explorer
Handmark Games (Yahtzee and Scrabble)
serfboreds said:
I am looking to create some cabs (now that I have WinCE figured out) and wondered if others had quick ways of getting all of the reg keys exported for specific applications so I can add those into my cab.
If I can get buttons, today screen prefs, apps, and a few other things done in one compiled "Setup CAB" I will have my phone auto-customized I had it before flashing. I am so close to having only cabs in my UC if I can get this, and do away with the copy commands.
Click to expand...
Click to collapse
It's simple. If you bought WinCE you will then be able to use the option to export and import REG Keys.
So all you would need to do is open a CAB from any program -- Export the REG -- and close it out.
Then open the CAB project you made and import the REG key and your good.
But you must first buy WinCE. The evaluation copy doesn't let you do this. Well it didn't let me.
For cabs that are just changing reg keys for you and not actually installing anything...it's easier to just create an xml file. Name the xml file _setup.xml and use makecab from the command line like this:
Code:
makecab _setup.xml yourcab.cab
CeREgistryEditor also makes cabs from registry files. Free program.
studentjunk said:
CeREgistryEditor also makes cabs from registry files. Free program.
Click to expand...
Click to collapse
The two aspects i was looking for are solved by this program and GC's suggestion. Thanks!
studentjunk said:
CeREgistryEditor also makes cabs from registry files. Free program.
Click to expand...
Click to collapse
So, I need to give a little more explanation for my question.
I am pretty sure that I know how to change registry keys one by one using XML.
I am not sure if it is possible to export everything from a folder in a way that it can be combined with other registry exports and ultimately cabbed. Say I am looking to replace every key in HKLM/Software/Microsoft/Today after a new flash so that certain things are enabled and disabled.
My hope is that I will be able to export the entire "today" in such a way that I can add those to a wince cab. It would be nice to be able to export several of these "folders" at one time and drag them over.
Like I said, I am trying to prevent having to do this one key at a time so that in the future even if I change the setup I don't have to change the strategy for export/import.
So, I need to give a little more explanation for my question.
I am pretty sure that I know how to change registry keys one by one using XML.
I am not sure if it is possible to export everything from a folder in a way that it can be combined with other registry exports and ultimately cabbed. Say I am looking to replace every key in HKLM/Software/Microsoft/Today after a new flash so that certain things are enabled and disabled.
My hope is that I will be able to export the entire "today" in such a way that I can add those to a wince cab. It would be nice to be able to export several of these "folders" at one time and drag them over.
Like I said, I am trying to prevent having to do this one key at a time so that in the future even if I change the setup I don't have to change the strategy for export/import.
Click to expand...
Click to collapse
Read my email and take a look at the registry cab I attached.
gc14 said:
Read my email and take a look at the registry cab I attached.
Click to expand...
Click to collapse
Thanks GC, this is what I needed.
Final XML
Here is my final XML for anyone who cares to share theirs, I learned a lot by looking at GC's (credit where it is due). I put my sdconfig.txt on here too.
Feel free to let me know if there is a better way to do any of this. I will be testing tonight to see how it does after a flash. This should save me 20 minutes of tinkering if everything goes right.
Other than the background not being possible (that seems hard to believe there is no way to do this), I will only have a few things to set up when flashing if all goes well. This will be so worth the hour time it took to create.
Any way to register devices via XML (wifi, bluetooth)?
PS. Though I didn't do it here, I have cabbed the _setup.xml file for installation with UC.
All those CPY commands are still unnecessary. You could make one cab to do all of that very easily.
Also, why do you have LOCK/HIDE commands around the reg cab?
gc14 said:
All those CPY commands are still unnecessary. You could make one cab to do all of that very easily.
Also, why do you have LOCK/HIDE commands around the reg cab?
Click to expand...
Click to collapse
Got those two things cleared up, cabbed the files to copy which works great.
Can't seem to figure two things out:
1. xml didn't install registry keys. Did I miss some setting in WinCE (I just set it as universal, added to files, and set the location to %InstallDir%). I had all of the files I was going to copy in UC in this same created cab as _setup.xml; the copied files went across fine, but no registry keys were changed. This leads me to believe that xml didn't load correctly or at all.
2. Copying folders. I cant seem to copy folders directly into WinCE so I would think that the folder must be created then the files must be copied across. How do you create these folders (I want to copy across AstroGPSLauncher and HTC Home icons to root). I tried using the copy command in UC as well but I think the syntax was wrong by using backslash after folder name in CPY1 and no slash after new folder in CPY2.
Thanks, I am so close to getting this.
Got those two things cleared up, cabbed the files to copy which works great.
Can't seem to figure two things out:
1. xml didn't install registry keys. Did I miss some setting in WinCE (I just set it as universal, added to files, and set the location to %InstallDir%). I had all of the files I was going to copy in UC in this same created cab as _setup.xml; the copied files went across fine, but no registry keys were changed. This leads me to believe that xml didn't load correctly or at all.
2. Copying folders. I cant seem to copy folders directly into WinCE so I would think that the folder must be created then the files must be copied across. How do you create these folders (I want to copy across AstroGPSLauncher and HTC Home icons to root). I tried using the copy command in UC as well but I think the syntax was wrong by using backslash after folder name in CPY1 and no slash after new folder in CPY2.
Thanks, I am so close to getting this.
Click to expand...
Click to collapse
1. You don't use WinCE to create cabs from provxml. You use makecab as I previously stated.
2. Get rid of the CPY commands, don't use them at all. If you want to install youricon.png to root, you just add youricon.png as a file in the cab and set the location to root. Default install directory doesn't matter, you can specify install location for each file separately.
gc14 said:
1. You don't use WinCE to create cabs from provxml. You use makecab as I previously stated.
2. Get rid of the CPY commands, don't use them at all. If you want to install youricon.png to root, you just add youricon.png as a file in the cab and set the location to root. Default install directory doesn't matter, you can specify install location for each file separately.
Click to expand...
Click to collapse
So, makecab worked to create the cab but it states that the installation of the cab was unsuccessful. Here is the zip of the setup file and the cab I created (I kept yourcab.cab naming for fun).
P.S. I got rid of all copy commands, but still can't figure out how to create a new folder on the device using xml or wince. Please explain how I can cab a folder with all its contents, or create a new folder in xml, then UC a cab to install the contents.
That version of WinCE doesn't allow for import of complete folders. Later versions do.
You can also try QuickCab. Don't remember the user's name, but it is being developed by an XDA member. I believe it allows for copying complete folders, and has a simple GUI.
Edit: If you are just looking to do it for AstroGPS it should be fairly easy. Isn't it just one or two files in /AstroGPS... and a shortcut in /windows/start menu/programs? If so, just drag the file (or two) into WinCE, and it will ask you where you want it to be installed. Then just choose /AstroGPSLauncher (you have to create a new folder, but the option is right there).
bedoig said:
That version of WinCE doesn't allow for import of complete folders. Later versions do.
You can also try QuickCab. Don't remember the user's name, but it is being developed by an XDA member. I believe it allows for copying complete folders, and has a simple GUI.
Edit: If you are just looking to do it for AstroGPS it should be fairly easy. Isn't it just one or two files in /AstroGPS... and a shortcut in /windows/start menu/programs?
Click to expand...
Click to collapse
Thanks for looking into the second issue.
Right, but I need to have that in a folder called AstroGPSLauncher on the root. I also am looking to install the HTC Home folder (overwrite the other one). I will get a newer copy of WinCE.
Anyone have any idea why this cab won't install?
serfboreds said:
Other than the background not being possible (that seems hard to believe there is no way to do this)...
Click to expand...
Click to collapse
Are you talking about your Today screen background? You are basically looking to have a certain theme selected? If so, then that is no problem. TSK's are basically just cabs themselves. The Theme selection app in WM just reads the TSK, imports the registry color info, and copies tdywater.gif/.jpg and stwater.gif/.jpg to /windows. At startup, WM reads those image files and assigns them as your Today and Start Menu wallpapers. Just use WinCE to export the contents of the TSK. Then use whatever method you like to update your registry and copy those files to /windows.
serfboreds said:
Any way to register devices via XML (wifi, bluetooth)?
Click to expand...
Click to collapse
I'd like to know this as well. I might look into it, but please let me know if you find a solution. Thanks!
Serf, do you have AIM? If so pm me your sn so we can talk over that. This is a really really simple process, and I know exactly why the cab isn't installing, but it sucks to explain over forums/email.
gc14 said:
Serf, do you have AIM? If so pm me your sn so we can talk over that. This is a really really simple process, but sucks to explain over forums/email.
Click to expand...
Click to collapse
serfboreds7777 and I am online now.
I have this mostly figured out for my needs, a few tweaks and some new ideas since getting things flashed with UC / XML / Cabbed files. If anyone wants to get some help setting up their xml and UC I will do my best to help you through the process.
Props to GC, the man knows his stuff.
Here is a simple app I wrote to create shortcuts to items inside the Control Panel.
On Windows 6.1 it was quite easy to create link to items such as "Remove Programs" or "Connections", it was a matter of finding the correct command line that launch the cpl applet and use the same icon. (e.g: "#ctlpnl.exe cplmain.cpl,23?\Windows\shell.dll,13")
On Windows 6.5, Microsoft has decided to use PNG for icons, which makes the job a little bit more complicate.
While you can create the link in the same way, to get a picture you have to convert the PNG file into an ICO file and move it into some binary as a resource file (exe or dll)
This tool allows you to create links to items inside the "Settings" keeping the original icon, so you can use them as QuickLinks.
What it does is pick the PNG associated with a particular item, converted it to ICO (64x64-8bit) and create a small executable to hold the picture.
The executable also contains the command line so you can launch the specific Settings item running the exe.
I wrote it for my HD2, but it should work on any other device with WM 6.5 (at least it does with the emulator)
Reqs:
The main binary (link2cpl.exe) needs .NET CF 3.5 to run.
The exe it creates are stand alone binaries, so you can use create the files once, and remove the tool.
Any feedback welcome (if is good of course 8)
Couple of screenshots to give you an idea:
good idea. I wonder: how do you create .exe files?
it works good, except backlight doesn't work and it seems that some parts are targetting wwe-Roms.
Great work!
Micha
Thanks for testing 8)
What I did was to create a "generic" exe in c++, with an icon of the size size (64x64 8-bit) inside and enough space for a big command line.
Then, the application loads whatever PNG associated with the settings entry and convert it to ICO format (which was a little tricky because .NET CF does not have any direct conversion, so I have to write the ICON manually (header,bits and mask).
After the ICON is created (in memory) I put it inside the .EXE file.
First it writes the first part of the .EXE, then replace the command line with the one from the registry for that particular item, and finally writes the ICON as a resource.
I found that some of the entries in the registry are not been display (I'm running an Energy Rom in my HD2, and I see more items in my list than the ones that appear in the "Settings" menu. for example, the "Beam" item.
I guess those are the ones that don't do anything at all.
If you choose to not create an exe file, the link (.LNK) it generates contains the command line (e.g: cntlpnl.exe cplmain.cpl,23) which can be used to see if it does something or not.
The main reason I create it, is beacuse I wanted to have an direct link to the "Usb2PC" so I can disable the ActiveStorage while connected with just one click. I guess I'm a lazy b*st*rd 8)
Thanks. Work great for TP2
dubidu said:
What I did was to create a "generic" exe in c++, with an icon of the size size (64x64 8-bit) inside and enough space for a big command line..................
The main reason I create it, is beacuse I wanted to have an direct link to the "Usb2PC" so I can disable the ActiveStorage while connected with just one click. I guess I'm a lazy b*st*rd 8)
Click to expand...
Click to collapse
Thank you. It worked great for my TP2 with Energy ROM. I always use quickmenu (now compact menu in NRG ROMs) for which I had created the shortcuts for all the setting menu items without any icons. Now that I have all the exe with original icons, it will stay in my UC folder and I can use it anywhere as you did. Thank you again.
Glad that it works, I only tested on my HD2 and with the VM emulators.
There are a couple of apps out there that allow you to create links, but don't work on WM6.5 due the "new" png files.
As far as I know, the only way to provide a image for a link file is if it embedded as an ICO inside a library (or exe). You can get the link easily, but not the original image, that's why I wrote this one, so it's easy to obtain icons from PNGs files 8)
8)
Just notice that backlight settings lnk does not work for me.
Did you test it?
Just notice that backlight settings lnk does not work for me.
Did you test it?
Ummm...
I'm using Energy rom in my HD2, and I don't have a BackLight icon in my 'settings', but it's possible that other roms got it.
The tool goes through the registry and gets all the entries corresponding to CPL items.
The key is 'KLM\Security\Shell\StartInfo\Start'
The links and exes are created using the information from the regsitry, so depends on the version of WM (vaniala, rom, etc).
for example, you may have:
KLM\Security\Shell\StartInfo\Start\cplmain.cpl,13 (use for the Today icon)
Icon=\Windows\Start_Icon_today.png
This tool takes all the entries, puts the .png into a .exe (converting it an icon), and creates a link pointing to the created exe.
If executing 'cntlpnl.exe cplmain.cpl,13' doesn't bring the Today settings, it's something outside the link it self.
I notice there are some items with a 'Redirect' key.
Inside 'KLM\ControlPanel\BackLight' key I can see a String key 'Redirect' with the value: 'BackLight.exe' so I guess the control panel will automatically execute that binary rather than load a control panel library (cpl) as it does for the rest of items.
If that's the case, you can just create the lnk to that exe which will also give you the icon, the idea of the Link2CPL was to access the .cpl items directly, and to have the proper icon which since WM 6.5 is not as easy as it looks 8)
Yes I see that in registry too but cannot find backlight.exe to create a shortcut. I actually don't know what does Redirect mean.
Anyway, very good job Dubidu!
Quack2 said:
Yes I see that in registry too but cannot find backlight.exe to create a shortcut. I actually don't know what does Redirect mean.
Anyway, very good job Dubidu!
Click to expand...
Click to collapse
Redirect means to run the exe instead of use the original/default.
I will check tomorrow in one of the emulators, my HD2 doesn't have a BackLigth in the settings, so that entry is not there.
You can create 'manual' links with the notepad, or with something like totalcommander, so if you can find the exe that does the backligth.exe on your WM, should be easy.
I will keep you posted 8)
I don't access to backlight directly from settings but using power settings. I had just tried to create a shortcut from the backlight item shown in the list displayed in your app.
Older phones have backlight settings as a separate item in the control panel, but newer ones have it as a tab in power settings.
If the backlight settings you want to access is the one in the first attached picture (tab in power settings), that it's a external executable.
On my HD2 (Energy), the name of the exe is powerexe.exe in the \windows directory.
there are a couple of links (power.lnk and power settings.lnk) to that exe.
unfortunately, the exe does not bring you directly to the 'backlight' option, it shows both battery and backlight (second capture)
btw, today one friend at work asked me for a simple app to enable and disable the
"dim backlight if devide is not used for:" checkbox, with a just one click.
Maybe that's was the reason why you wanted a link to that backlight settings.
attached is the simple program which does that, check/uncheck that option.
Is it possible to make additional tab to put own path to application and path to .png file? Because sometimes it is necessary to link executable without icon with png, or ico file. It will be very useful function. Thank you in advance.
hi,
I can add that option, shouldn't take too long, but the icon will not be "inserted" in the original exe, that would require lot of work to rebuild/recreate the resource section inside the executable.
The icon (png converted to icon) would be put inside a separate exe or a dll.
the new generated exe would contain the command line to execute the original exe, and the png icon, so when you create a link to that one, it will automatically pick the embedded image.
Would that help?
Yes, it is the same that I mean. To link together exe without icon and png or ico files. Because if you put icons in dll file you must sign it. For exe it is more convinient.
check this out.
Png2Exe 8)
I will try to change the FileDialog and use something different because the default .NET ones are rubbish 8)
Thank you! It is the same that I mean. File dialogue really bad, it is impossible to find exe everywhere. If it possible to meke normal one it will be really great program.