Hello all,
I am planning to start a new project on Automated But Configurable User Configuration (ABC-UC), if I get good feedback from the community. The goal is to provide a simple user configuration interface for the end user. Complexity of Chef’s job will remain the same. A small binary will be required to be cooked in ROM and the rest will be on SD card.
Motivation for yet another UC:
1. Automated execution - If you are a dummy user like me, you for sure do not like the itsy-bitsy of UC – SDConfig.txt, making sure the paths are OK etc. We have XDA_UC that does everything automatically. My tool will include (possibly almost) every feature of XDA_UC.
2. More configurability – sometimes I find SDConfig.txt to be too restrictive. To get a way around I write an (ad hoc) Mortscript file. At different point in the SDConfig.txt I execute the script file. Based on the place from where the script is executed, it does different tasks. I never found this ad hoc solution interesting. For advance users, ABC-UC will be configurable. An advance user may control the order of actions from ABC-UC – like the order of different directory managed by ABC-UC, install registry or cab first, confirm each action or not, etc.
3. Extended command support – besides command for installing cab, copy single file, provisioning, ABC-UC will provide extended file management command support. At this point most of the users use a combination of XML and Mortscript to do this job. However, not everyone can write those scripts and writing an error free XML is not always easy. At this point I am planning to include following commands copy (single or multiple files with wild card or an entire directory), move (single or multiple files with wild card or an entire directory), delete (single or multiple files with wild card or an entire directory), makedir (make all the directories in a given path), exec (without the space constraints), attrib (change attribute of a single or multiple files with wild card or an entire directory).
Do you think the effort will be worthy?
If you think the effort is worthy, then what other features do you want to see here?
Thanks for your input,
mma123
Whilst i think the goals of your project are great, i honestly dont see a need for it.
A tool which would allow new users to quickly generate the correct XML code could be a good idea, but the complexity of the requirements is likely to very quickly make the tool outdated & incorrect, or not complete enough for advanced users.
I keep thinking that i might start to reduce the UC thread into a more user friendly guide or even a wiki based guide (so that it can be updated easily as required), but then never quite get round to it!
I honestly believe the information within the UC thread is sufficient for even new - non tech users to build an automated setup as long as they are prepared to spend a little time to read & try. The big problem is that its currently spread out over 138 pages!
That aside - if you want to make a new tool - good luck, and i'll happily try it as you develope it & give feedback if required.
Edit:
Hmm, my comments were made regarding the original UC thread, i havent used XDA_UC (yet!)
Related
After careful reading of the big storage (anansky's) ROM thread and hearing people were having trouble with patching ROMs I thought i'd write a small tool to do it for you..
Just select a source image, a destination, choose how many bytes to copy and click 'copy'. All done. It simply copies the desired number of bytes from the begining of one file to the begining of the other.
Hope this helps!
Disclaimer: backup stuff, although i've been developing software for 17 years I am still (partially) human and this software may cause you to implode, kill you pet kitten or bring about world peace. Use with care, and DO SOME READING first
Installtion: put on harddrive and run. If you need the support files extract these in the same directory as the program.
Read this thread first: http://forum.xda-developers.com/viewtopic.php?t=20043
thanks man... great toool
You're welcome - just want to give something back to this amazing forum
interesting stuff...
I'm doing manual edits in rom, but was thinking about smthng, which could just patch them, so user will not need to download the whole rom, just the diffs...
let me try it...
thanx
buzz
buzz_lightyear said:
interesting stuff...
I'm doing manual edits in rom, but was thinking about smthng, which could just patch them, so user will not need to download the whole rom, just the diffs...
let me try it...
thanx
buzz
Click to expand...
Click to collapse
Well if you've any ideas on what you want the utility to do then just let me know - I can knock up something pretty quick to make the job easier
I made this simply because i'll be flashing my Qtek s100 this weekend and didn't want to mess around counting bytes in a hex editor (and possibly getting it wrong) and it doesn't take long to write a patch program!
would be cool, if it can read a text file, where I can say:
SourceBinFile, DestinationOffset, Length
Then it will read those bytes from couple of small binary files. that way I can patch multiple locations of rom.
it would also be nice, if I can specify rom header and your app will first check that against the rom to be patched.
thanx
buzz
Ok I see what you mean...
I think it might be better to do it via a GUI rather than a text file (but i'll add the text file later for you) so you can choose a source, sourceoffset, num of bytes to copy and then 'add' it to the queue. Then you can hit 'GO' and it'll do all the patching in one go. Does that sound ok?
Ok, here's the updated program - this is a beta version which requires some testing so please let me know if this is OK and then i'll produce the next version which will allow you to load and save the queues.
Sorry I didn't have huge amounts of time to test, but i'll post an update later if this turns out to be duff!
great work dangel looks really nice app...
You're welcome...
Perhaps todo:
- Use a relative path instead of selecting them
- Save/load queues from a file (possibly XML)
- Command line processing (so that we can automate patching - this would actually allow you to distribute a patch 'suite' to perform a particular patching task without user interaction)
Small update to support themeing under WindowsXP
Just finished queue save, just doing the load parser
Version 1.2
- Can now save the queue (the files are .cpy files)
- Can now load the queue
The file format is text, but take care when editing - it's best to use the program to generate the files for you...
So does it work?
OK well if anyone needs any updates PM me otherwise i'll leave this one alone for now.
excellent program! Thanks!
User Customization is a config.txt file that's located on an SD card which can install cab & xml files located there too! Think about it: this gives anyone who loads your rom the ability to automatically install their preferred apps/settings as part of customization. Here's how to make your next ROM UC capable:
Cook the attached SDAutoRun.exe into \windows
if AutoRun.exe isn't already in \windows then place a copy there too. Note: some devices don't have a compatible AutoRun.exe. If you have issues, try the attached version.
Replace the "RST: Reset" line in config.txt with "EXEC:\windows\SDAutoRun.exe"
That's it! SDAutoRun will do the final reset unless it encounters a file called SDConfig.txt in the root directory of the storage card. If it sees this file, it will restart autorun and install cabs/configure settings from SDConfig.txt which can point to files that are also located on the SD card.
What's important is this: If every chef uses this system then ROM junkies will be able to freely move between ROMs. If you decide to include this in your next cooked ROM, then make sure you indicate that it's UC capable. I'd really like to make this a standard because it will greatly ease the time consuming task of re-installing apps/settings.
UC v2.0 is now Live!
Changelog
Works with non-WWE ROMs & Internal Storage Roms. SDAutoRun uses the registry to determine the default name for the Storage Card now. For newer devices, this key might be missing altogether so just cook it in. The "Folder" value points to the actual location that contains sdconfig.txt. Here's the key:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Folder"="Storage Card"
Automatically corrects SDConfig.txt formatting errors. Extra/missing tabs, spaces, newline characters etc are corrected before passing to autorun.exe.
New string value "SDAutoRunVersion" created in HKLM\comm contains "2.0". This will help debug SDConfig.txt file issues in the user thread.
SDAutorun v2.0 is fully compatible with all SDConfig.txt files created to date. Additionally, there now shouldn't be a config file users can throw at it that it won't re-format to the following template:
Commands will be left justified into the first 5 characters and space filled
Parameters will be left justified to the 6th character and trailing whitespace will be removed
Lines that don't contain a command will not be passed to autorun. Note: To determine validity, I only check for a ":" in postion 4 or 5 here to allow for future command expansion.
if no valid commands are encountered, then a file containing only "RST: Reset" will be created
Assumptions
SDAutoRun is not signed so security must be relaxed in HKLM\Security\Policies\Polices by setting the value 0000101a to a 1.
SDConfig.txt cannot be Unicode.
Here's a link to the User's side of ROM customization:
ROM Flashing Junkies: User Customization is here!
If you build a UC capable ROM, be sure to link to the above thread. Also shoot me a PM and I'll add your ROM to the UC capable list.
The key here is that UC is an automated, unattended configuration. Setting it up is done out of the Hard Reset window and once its on your SD card, it works any time you hard reset. Automated is good because it allows mass customization from a business standpoint too. Any business using a UC capable ROM can set up a single "ROM customization" SD card then give it to their IT staff for the daily provisioning of company software/branding on new devices. Your UC capable ROMs have business appeal now!
We are also working on tools that will simplify the XML/SDConfig.txt file creation process. Several good ones have already surfaced in the Users thread.
Useful Stuff
OEM Package for Kaiser
I think this is/will be a great standard! Well done Sleuth for initiating this.
Genius idea.
Good news: doedoe is looking at building a provisioning tool! Now we have two developers working on this. We can sure use more help though. See the user thread for more info!
Good But What S About Cab Wich Prompt For Choosing Languages Or Some Parameters To Be Installed ?
UC
Very nice.
For flashing junkies it's necassary yes, after each flash all your favorit apps auto installed is awsom, nice one Sleuth
a request
can someone make it for all devices/ for example wizard? that will be awesome
Hehe many many thanks.
I tried to get this working with the standard AutoRun from SD but i couln't get it working.
Screw Extended Rom completly.
Great Work.
Making A bookmark.
character said:
can someone make it for all devices/ for example wizard? that will be awesome
Click to expand...
Click to collapse
ROM chefs should be able to use UC on any ROM. Post a link on your favorite ROM Chef's thread if you want to see UC.
SETOUF said:
Good But What S About Cab Wich Prompt For Choosing Languages Or Some Parameters To Be Installed ?
Click to expand...
Click to collapse
Those will need to be researched by the community. Post findings in the user thread (see page 1 for the link)
Awesome application.. so simple I'm amazed it took this long for someone to think of it!
I've cooked it into my ROM.. but I haven't released it so it cant really count as a UC compliant ROM..
It's definitely useful though and I'd love to see others using it. Thanks Sleuth
Already Found in Kin0kin ROMS
Great idea; however Kin0kin released a couple of roms some time ago that do this plus his final WM6 rom is also capable of auto install of applications off a storage card in this way.
WB
And why not change the reg
HKLM\Comm
\Extended_ROM\autorun.exe
and
\Extended_ROM\config.txt
into
\Storage Card\autorun.exe
and
\Storage Card\config.txt
Most ELF roms don't use Ext rom Auto installs any ways.
I still think this is a good cause because he's trying to get more people into doing this.
Instead of one or a few cooks integrating this.
Sleuth255 said:
sorry. AutoRun, by HTC design, cannot install apps to your storage card.
Click to expand...
Click to collapse
Well it shouldn't be hard to patch cab files hardcoded to a path on SD Card. (once i have found all my software back) But not something for a regular user nope.
Sorry to hear that Limitation still exists, seeing your actually using the Original Autorun.
I was allready removing this from my Roms.
Noonski said:
And why not change the reg
HKLM\Comm
\Extended_ROM\autorun.exe
and
\Extended_ROM\config.txt
into
\Storage Card\autorun.exe
and
\Storage Card\config.txt
Click to expand...
Click to collapse
that's pretty much what SDAutoRun does. It reconfigures the reg settings as you indicate and re-runs autorun. First however, it changes SDconfig.txt referenced cabs to RO since on a kaiser at least, the reg settings to prevent post installation CAB removal are ignored by AutoRun. Also, if no SDConfig.txt exists or there is no SD card installed, then it generates a quick one line config.txt containg the RST: command then re-runs autorun. On a Kaiser at least, the RST: command also re-activates the radio first. Without it, the device comes up with the radio disabled. I figured this scheme would maintain compatibility across all devices.
The standard is the important thing though as you indicate. You don't need to incorporate SDAutoRun in the manner I suggest. Whatever scheme works best for you is fine as long as it meets the following specifications:
user config occurs after all other autorun config
if SDConfig.txt is found on the storage card, set up the registry and re-run autorun
if SDConfig.txt is missing or there is no storage card installed then perform the final RST:
don't remove CABS from the storage card after installation.
I just thought my little 31K pgm was the easiset way to accomplish this. On deck is a way to do this even if the user renames the storage card...
Well looks like you can ad me to the list after monday.
I'm going to strip The new 6. rom to the bone and make some custom cabs hardcoded to SD card installation for the stripped Apps that can work from SD.
Cool... shoot me the link to your support thread when you do & I'll put it up on pg 1 of the UC user thread.
Regedit setting
Sleuth255 said:
HKLM\Security\Policies\Polices by setting the value 0000101C to a 1.
Click to expand...
Click to collapse
Can someone tell me what's "a 1"?
??[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101C"=dword:a 1??
or
??[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101C"=dword:a1??
Cheers
Strange that it's contain hardcoded paths ...! The name of my Storage card is Speicherkarte and so it's useless for me!
Probably a dumb question but where would I put this file in the base kit I have. I have a base kit for wm6.1 on titan. Ide love to cook up a rom but I dont know where this file goes.
smarvest said:
Can someone tell me what's "a 1"?
??[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101C"=dword:a 1??
or
??[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101C"=dword:a1??
Cheers
Click to expand...
Click to collapse
set the value "000101c" to a 1 ie:
[HKEY_LOCAL_MACHINE\Security\Policies\Policies]
"0000101C"=dword:1
Guys,
please create and/or support app like AppToDate from MoDaCo,
our life will be much easier.
It's very easy to implement, new installed application juts need to put xml file to AppToDate directory, thats all.
Many developers are very productive, they updating something in hours.
It will be great, if all apps from xda-dev will have one updating tool.
What do You thing about it?
great idea ... we'll see
I second this. I love to see some more programs supporting this.
Beside more programs supporting AppToDate, I love to see some more options for the program itself too.
Definitely +1 to that.
Sample xml file which have to be putted in to '\Application Data\AppToDate' folder:
Code:
<application>
<name>NoData</name>
<version>3.08.04.10</version>
<description>Enable / Disable your data connections with a minimum of fuss!</description>
<versionurl>http://donald.modaco.com/apptodate/nodata.xml</versionurl>
<caburl>http://donald.modaco.com/apptodate/nodata.cab</caburl>
</application>
Developers...please add this functionality to Yours apps!
as a side note,
I coun't find a way to shove the required files in the proper dir
so I usually just add a registry setting (during install) and leave the required files in the application dir
works great
if anyone needs help with this send me a PM
I know there are other hacks out there for this, but they have left something to be desired - like not working for newer Kaiser builds. Specifically, HTC used a CNAME to one of their own DNS servers and thus the previous patch that has been distributed here would not fit in the available string space.
The other method, using "Pocket Hosts", does not appear to work on either my Kaiser or Wizard to redirect HTC Home or Manila2D - not sure why, but it doesn't do anything - I tried that as well. My system never sees any packets coming from the mobile when I use the "hosts" soltuion - so it appears that actually patching the string is required, at least in modern (WINCE 6.1) builds.
Anyway, I registered a different domain, then "rolled my own" on that quite-short URL to allow patching some of the Manila2D.exe files that otherwise would not fit, using the existing script from Not2advancd (with a few changes to suit my environment, which is apparently very different than his) and some additional back-end hackery on my systems.
The site is at http://htcwx.org, and there are links there for two ZIP files (attached to this post as well) for two different versions of Manila2D.exe - one that is cooked into the HyperDragon Kaiser build, and the other for a build (OpenTouch V7.7) on the Herald. Both have been personally verified as working. Instructions for modifying the XML file that controls Manila's Weather program are included at the above URL - the short form is that you simply replicate an existing US city in the correct alphabetical order and using the same format as what's already there, recognizing that this is an XML file and thus may (and in fact does) contain some non-ASCII characters (that is, use something like Notepad to edit it, not something like "Wordpad" that will attempt to interpret what's in there instead of just editing the character stream.)
If you have a Manila2D.exe that is not compressed (that is, its approximately 1MB in size - if its ~400kb or so it IS compressed and I can't work with it) I will make an attempt to patch it for you. Just attach it to this thread (make it a ZIP file and upload it) and I will look at it, comment back on this thread, and if it CAN be patched add it to the master list at the above URL so everyone can get to it. Other versions of Manila (e.g. the newer "3d") version) should also be patchable - again, assuming the executable is not compressed.
The weather server on that URL is on a high-bandwidth commercial connection that I control and is at no material risk of going away. It is available to all who wish to use it.
I ask (but obviously don't require) that Chefs that wish to cook a Manila copy into their work and use this weather server let me know, and if possible let me verify that their cooked version is working properly before releasing it so I can verify that all is well on this end. Doing so should not take long; you can reach me by PM here and I will normally be able to get back with you quickly.
Comments and questions on this welcome, along with requests, but please keep them to THIS THREAD.
Enjoy.
Request
Hi!
I'm an Italian Chef for Niki
I use new manila 2D from iolite (v 1_00_19111733_00), but I can't add my city
Can yuo try to patch this exe for me? (it's not compressed)
Thank yuo very much!
The URLs are not in that file.
What you want to do is change the URL to "http://htcwx.org", leaving the entire rest of the string AFTER that alone (that is, you have to "move down" the parameters on the command that is sent.) Once you've changed the file you have to re-sign the file using the code-signing tools (a self-signed certificate is fine) otherwise it will be detected as having a corrupt signature and refuse to run.
A hex editor such as XVI32 is necessary to do the modification; the code-signing tools are available on the net.
I tried uing that hex edior you mentioned... now I need glasses.
even tried comparing a patched file to the one I am trying to patch.. um still confused. finally found the (maybe, but I am willing to try) HTTP//htc..... but then I still had no idea what to do.
Could you please help me figure it out
when I edit the url do I need to have the boxes between the characters? I am asuming yes.
Do I need to "make space" for http//HTCWX.org/acuweather....
sorry. have no ____ing clue what I am doing... and I think I just lost some brain cells trying.
Hi,
I'm currently working on a few tools, and want to know what features would be liked by cooks/users or anyone really.
The first tool is an exe generator for hot fixes. Simply put, you plug some files into it, and it generates an exe that can be run on the target device which will do all the hot fixes.
The advantages it gives:
No more cabs!
Can use a custom icon for the exe if desired
Things like messing around with setup.dll files doesn't need to happen, and an application can be launched after install if wanted
Files can be deleted
File properties can be changed
Can use XMLs
Can edit registry
Can install files
Since it's written in native C++, it should run without a hitch on WM5+ devices, whether or not they have .Net whatever...
The second tool is an AutoRun/UC/whatever like system that simply searches through a folder, finds all cabs/xmls/provxmls and then installs them. This means there's no reliance on autorun for parsing config files, or any other requirements. Again, it's written in native C++ so is better
Any suggestions/ideas would be welcome!
Oh, and once I've got slightly further, both these will be released as open source. Probably.
l3v5y said:
Hi,
I'm currently working on a few tools, and want to know what features would be liked by cooks/users or anyone really.
The first tool is an exe generator for hot fixes. Simply put, you plug some files into it, and it generates an exe that can be run on the target device which will do all the hot fixes.
The advantages it gives:
No more cabs!
Can use a custom icon for the exe if desired
Things like messing around with setup.dll files doesn't need to happen, and an application can be launched after install if wanted
Files can be deleted
File properties can be changed
Can use XMLs
Can edit registry
Can install files
Since it's written in native C++, it should run without a hitch on WM5+ devices, whether or not they have .Net whatever...
The second tool is an AutoRun/UC/whatever like system that simply searches through a folder, finds all cabs/xmls/provxmls and then installs them. This means there's no reliance on autorun for parsing config files, or any other requirements. Again, it's written in native C++ so is better
Any suggestions/ideas would be welcome!
Oh, and once I've got slightly further, both these will be released as open source. Probably.
Click to expand...
Click to collapse
Wow, this sounds very very promising. Can't wait!
dwizzy130
yeah some user friendly and easy to understand specialy editing the rom or making add/remove programs EASILY is the best specialy to noobs like me when cooking ROMS all in one tool with advance AI for error checking
Sounds very attractive. go on my friend.....
Sounds good mate
I'm looking for a tool to easily make a setup.dll. Like setup.dll maker/generator/wizard.
Seems the only tools I can ever found is from e-pocketsetup, but that company was sold to another company and the product was never available since then.
I know cooks hate a cabs with a setup.dll. But seems without setup.dll a cab installer can not execute some little complicated actions. And it is impossible to make a setup.dll without grasp a computer language like c++.
Edit: Found another one: setupdllcreator , but it's not strong enough and not freeware.
Edit: If these can be realized, a setup.dll maker is much less needed:
No more cabs!
Can use a custom icon for the exe if desired
Things like messing around with setup.dll files doesn't need to happen, and an application can be launched after install if wanted
Files can be deleted
File properties can be changed
Can use XMLs
Can edit registry
Can install files
Click to expand...
Click to collapse
But we need above mentioned fubctionalities to be DYNAMIC, like:
Can detect availability of certain reg entries or installed apps, base on the result to decide which variants of install files to be installed, or whether some supporting apps like netcf or mortscript to be installed. Or can detect device id, resolutions, drivers to decide what to do.
Otherwise it still can not completely replace setup.dll.
But if dynamic actions can be executed, wow that's a dream of developers & hackers and even common users can benefit from that, a real revolution !
woww can wait for realese
l3v5y said:
Any suggestions/ideas would be welcome!
Click to expand...
Click to collapse
So I'm posting my requests again, the idea is this: It will be much helpful if I can know what is happening/changed in the registry after I did anything to my WM devices. So maybe you can develop a tool to monitor & log the real-time changes of registry. Or at least we can have a registry-comparision tool on ppc.
Another thing is it seems we don't have a file structure viewer on ppc, not the stuff like total commander etc., want to export the file structure to a file like .txt or .jpg.
Update: Now my idea is clearer for this, what I suggest would be a System Snopshot program to realize this:
Can make a system snapshot to record the registry content, file structure, ram usage etc.
The snapshot can be initialized in the similiar way of CapSure screen capture program, i.e., a hardwre button, a fixed time, a screen tap, a program launch, etc., defined by user.
Can choose a full system snapshot or only on selected part of registr, file system etc.
Can generate a file containing the recorded system condition.
Can compare any two system snapshot result and generate a comparision chart/change log.
So I've posted my requests as per your request, whether or not you'll do it is not my business lol.
Update: Found SK Tracker, cost EUR9.95, so forget this one. Why I did not know it in the past?!