Changing Default Folders (registry) - MDA III, XDA III, PDA2k, 9090 General

OK so I was looking around my pda using Windows CE Remote Registry (part of Visual Studio 2005 Beta 2).
When I come across a couple of things that I find interesting, now i dont know if anyone has fiddled with any of this yet so sorry if this has been mentioned before.
So the mention shell folders in the registry can be found under this key:
[HKEY_LOCAL_MACHINE\Explorer\Shell Folders]
When you look under that key you will see these entries (or i do)
Templates - \My Documents\Templates
Application Data - \Application Data
Desktop - \Windows\Desktop
Favorites - \Windows\Favorites
Fonts - \Windows\Fonts
My Documents - \My Documents
Program Files - \Program Files
Programs - \Windows\Programs
Recent - \Windows\Recent
StartUp - \Windows\StartUp
Windows - \Windows
Ok so the only thing that annoys me with this M2000 that I have is the way you *HAVE* to use "Storage" for some things. The whole point of my 512MB SD Card is so that I can use as much of the 125MB memory I have to use as RAM.
Now since I am running Visual Studio 2005 Beta 2 and have CE emulators here what I was thinking is seeing if you can move most, if not all the information to an SD card and then seeing how much Ram you can use then.

Related

XDA Internal Database

Anybody know if there are any utilities around that can inspect the internal database of Windows CE - Something like 'Toad' for Windows CE would be great :?:
in the special edition rom there is dbview, or you can use pdblist
phm also do a set of tools that includes db management

Applying registry changes in a .cab-file?

Hi!
Is it possible to create a .cab-file which does not install anything, but only applies a number of registry changes? This way you would be able to "install" changes to the registry along with the other .cab-files running from the extended ROM after a hard-reset. How do I do that?
Any other ideas as to how to auto-apply registry changes are also very welcome Thanks..
/Joe72
No problem, just use WINCE Cab Manager. For learning purposes you should open some of the CAb-Files that came with the original ExtROM. Most providers split the registry settings to different files so that I reduced the size of my ExtROM by merging them (take those files, that just have 46kb, they only contain registry entries).
Open them with the above mentioned CAB Manager and look for a file named "platformxx", extract it, edit it, perform the desired changes (or mergers) and import to CAB Manager. Make sure that you remove the old "platformxx" and change the settings of the imported file so that it matches the settings of the deleted one (most times you have to make sure that the installation paths "hard coded" to the windows folder (edit the properties of the old file before and write them down).
unfortunately not all the flags for modifying the registry are supported by the wince cabloader.
full cab spec: http://msdn.microsoft.com/library/en-us/install/hh/install/inf-format_2v02.asp
wince cab spec:
http://msdn.microsoft.com/library/en-us/wcepb40/html/pbrefaddreg.asp
this is an example minimal cab.inf file:
Code:
[Version]
Signature = "$Windows NT$"
Provider = "testprovider1"
CESignature = "$Windows CE$"
[CEStrings]
AppName = "testappname1"
InstallDir = "%CE1%\installdir"
[Strings]
reg_path= "Software\testregpath"
[CEDevice]
ProcessorType = 2577 ; arm
UnsupportedPlatforms = "HPC","HPC Pro","Pocket PC"
VersionMin = 3.00
VersionMax = 4.99
[DefaultInstall]
Copyfiles=CopyToInstallDir
AddReg=RegSettings
[RegSettings]
HKCU,%reg_path%, "testdword",0x00010001,1
HKCU,%reg_path%, "teststring",0,"teststringvalue"
HKCU,%reg_path%, "testmultistring",0x00010000,"teststringvalue","second string", "third string"
HKCU,%reg_path%, "testbinary",1,44,45,46,47,48,49,4a
[SourceDisksNames]
1 = ,"All Files",,
[SourceDisksFiles]
"mktst.bat"= 1
[DestinationDirs]
CopyToInstallDir= 0, "%InstallDir%"
create the cab with:
Code:
Windows CE Tools\wce420\Pocket PC 2003\tools\cabwiz cab.inf /cpu arm /err caberrors.log
HTC has provided a more extensive install tool, with the CESetup.dll that is in all the cabs, this tool will import a 'platformxxx.reg' file if present in the .cab.
Hi
Thanks for the replies.
It seems like more work than I thought it would be..
In WinCE Cabmanager, there is a "Registry" fold-out in the left side menu similar to the one seen in Regedit.exe on Windows desktop or Remote registry from the Embedded C++ package. My initial plan was to import the registry into a cab-file and use this tool to change the things I want changed. This way, the cab-file would contain no files for installation, but a complete registry, modified to my needs. When running this cab-file on the WinCE device, I was expecting this registry to take the place of the old one.. Or would something else happen?
Thanks,
Joe72
I did it the easy way. I installed all my apps and stuff that I need and then made a backup of the registry, which I then flash installed into the extended ROM section of the phone.
So on a hard reset all my stuff gets installed, including of course a regedit program and hack to view extended rom. All I then do is open the regedit program and restore the registry in one go from the extended rom.
Used PHM Regedit for it.
where can i find the information that it is not visibly in the "remove programs"?
I want generate a programm that is not removable.
Thx for Your help
Snappy
What encoding should I use in platformxxx.reg to make parameters which contain non-latin characters displayed correctly? I tried Windows-1251, UTF-8, Unicode. In all cases russian text is not imported correcty. It is displayed in Western encoding.
P.S. When I use Registry branch in WinCE CAB Manager everything is ok, but if I import large enough .reg file the resulting cab becomes not working.
http://forum.xda-developers.com/viewtopic.php?t=31209
mobify registry
Element said:
http://forum.xda-developers.com/viewtopic.php?t=31209
mobify registry
Click to expand...
Click to collapse
Was it an answer?
My CABs are installed successfully.
Aftef hard reset the following is installed from ExtROM:
1. CAB which changes default codepage to russian (419)
2. CAB which translates some items into russian
So all I see instead of russian items is abracadabra.
But if I install only the first CAB from ExtROM and the second one is installed only from soft reset everething is displayed correctly.
So how to make it without soft reset?
Element said:
http://forum.xda-developers.com/viewtopic.php?t=31209
mobify registry
Click to expand...
Click to collapse
or Restorator
There IS an easy solution: Create .reg files by exporting from TRE, and u can re-apply them later by double clicking the reg file. See this post for doing it on the jasJar (will work on any XDA tho).
http://forum.xda-developers.com/viewtopic.php?t=30460
craigiecraigie4 said:
There IS an easy solution: Create .reg files by exporting from TRE, and u can re-apply them later by double clicking the reg file. See this post for doing it on the jasJar (will work on any XDA tho).
http://forum.xda-developers.com/viewtopic.php?t=30460
Click to expand...
Click to collapse
I do not need "clicking". The aim is to make it installing automaticly from ExtROM after hardreset.
priezz said:
I do not need "clicking". The aim is to make it installing automaticly from ExtROM after hardreset.
Click to expand...
Click to collapse
FYI, although this thread is quite outdated, I use regedit to import registry files from the command line...

CE Tweaks: speed, UI etc. My collection.

Hi,
If you are not familiar with the registry don't do this!!
Better print this before you use it!
!!PLEASE MAKE A FULL BACKUP FIRST!!! I DO
The best REGISTRY editor around is PHM Regedit.
Only one drawback: cannot edit MULTISZ values.
Use Tascal TRE for those MULTISZ values.
I use these settings you 6 months now on my 2003 SE ppc and enjoy the speed since. Some are already mentioned on the internet but some not. It could be that older CE versions don't have the features buildin but you are OK with CE4 and newer.
My keys can differ from yours. You sometimes must find the corresponding keys for your ppc.
THE OS SYSTEM (SEARCH) PATH
[HKLM\Loader]
"SystemPath"=multisz:"\windows","optional DLL or EXE paths"
(remove bogus paths, saves search time, use tascal TRE for editing MULTISZ values in the registry)
[HKLM\Init]
"Launch10"="" (was shell.exe, which doesn't even exist!?)
FLASH MEMORY DRIVES
[HKLM\Drivers\SDCARD\ClientDrivers\Class\MMC_Class]
"IdlePowerState"=dword:00000002
"IdleTimeout"=dword:000007D0 (2 secs)
"SingleBlockWrites"=dword:00000001
[HKLM\Drivers\SDCARD\ClientDrivers\Class\SDMemory_Class]
(same as above)
[HKLM\System\StorageManager\FATFS]
"BufferSize"=dword:00000040
"CacheSize"=dword:00002000 (at the cost of 2 Mb RAM)
"DLL"="fatfsd.dll" (use strings.exe from sysinternals to see these params)
"EnableCache"=dword:00000001
"EnableCache4Way"=dword:00000001
"EnableCacheWarm"=dword:00000001
"Flags"=dword:00010026 (writethrough bla bla)
"MaxCachedFileSize"=dword:00040000 (don't cache >256Kb files)
"Paging"=dword:00000001 (ALWAYS 1!!)
"PathCacheEntries"=dword:00000064
"UpdateAcces"=dword:00000000 (I don't need access time stamps)
[HKLM\System\StorageManager\Profiles\FlashDrv\FATFS] (could differ)
"CacheSize"=dword:00000200 (at the cost of 256 Kb RAM)
"EnableCache"=dword:00000001
"MaxCachedFileSize"=dword:00010000 (don't cache >64Kb files)
"Flags"=dword:00010026 (writethrough bla bla)
THE GRAPHICS ENGINE
[HKLM\System\GWE]
"Animate"=dword:00000000
"OldAppCheck"=dword:00000001
"UseFastRotation"=dword:00000001 (might upset some taskbar managers)
[HKLM\System\GWE\Animate] (something to play with if Animate=1)
"DelayMilliSeconds"=dword:00000014
"Frames"=dword:0000000A
[HKLM\System\GWE\Menu] (something to play with if Animate=1)
"AniTime"=dword:000000c8 (200 millisecs)
"AniType"=dword:00000000 (default is 6 but >0 enables it)
"Page"=dword:00000003 (number of cascading/overlapping menu's)
"EatDismissEvent"=dword:00000000 (optional, default 1)
[HKLM\System\GWE\Notify]
"Flush"=dword:00000000 (can be 1 to autoflush them)
[HKLM\System\GWE\ThreadPriorities]
"Timer"=dword:000000FA (250)
;others are:
; Cursor,Journal,MainUserInput,NotifyAlarm
; NotifyMain,NotifyUI,OOM,StartupScreen
; Timer, TouchCalibrate
[HKLM\System\GDI\ClearTypeSettings]
"OffOnRotation"=dword:00000000 (NO)
"Quality"=dword:00000001
[HKLM\System\GDI]
"ForceGRAY16"=dword:00000000 (or 1, the way cleartype renders the edges)
[HKLM\System\GDI\Gamma] (=cleartypetuner ;O)
"Gamma Value"=dword:000007d0 (valid hex range:1000-2200, 1500 default)
[HKLM\System\GDI\GYPHCACHE] (everybody knows this)
"limit"=dword:00008000 (32 Kb font cache)
THE TASKBAR CLOCK
[HKLM\nls\overrides]
"SSDte"="dd MMM yy" (short date notation used in OS/clock)
"STFmt"="HH:mm uur" (short time notation in OS/cLock DUTCH here ;O)
[HKLM\Software\Microsoft\Shell]
"TBOpt"=dword:00000003 (taskbar clock with time and date)
LOCAL WORD COMPLETION AND SPELLING CHECKER
[HKLM\Software\Microsoft\Spell Check]
"Main_Dict"="\'whatever location\mssp2_nl.lex" (dutch office 95+ lex file)
"User_Dict"="\'whatever location\user.dct" (will be done for you by OS)
[HKCU\ControlPanel\Sip] (keyb input word completion in your language ;O)
"DictFile"="\whatever location\statdict.dat" (get a hold of one in your language)
"ProbFile"="\whatever location\dictprob.dat" (get a hold of one in your language)
SHELL POLICIES
[HKLM\Security\Policies\Shell]
"NoAutoRun"=dword:00000001 (there goes the mem dump utility)
"NoDownload"=dword:00000001 (that is safe)
"NoExternalExes"=dword:00000001 (cannot start exe from card or \storage, DANGEROUS if regedit is on there: work around: copy regedit to \windows ;O)
SOUNDS AND SOUND SCHEMES
to be continued...
Cheers
Tweakradje
Hello.
I need help to install a different T9 dictionary.
I tried as you told us to do but I can't copy files into my PPC Atom
Any help?
Thank You
Please don't double post
http://forum.xda-developers.com/viewtopic.php?t=45688&highlight=
8)
Sorry.
I saw the link then I referred to that link to get help.
I'll delete the original topic next time if I can do that
Typo
Um, I know this is an old thread, but "UpdateAcces" should actually be "UpdateAccess"

[UTIL][24MAY10]PreKitchen Tool (Sort, Clean, Merge and create folders)

(Formerly "Dump Sorter" and "XipDumpSort")
New and Improved - Much more functionality than the old one!
I'm trying to make this a general cleaning\sorting\worker app for processing dumped folders. If you'd like a feature added, please let me know.
What is it?
This is a simple program designed to take the hard work out of rearranging, cleaning and merging dumped ROMs with Kitchens.
What can it do?
Clean - Removed all files with the same name as their directories (This is very useful when converting files to modules)
Sort - Files and Folders can be sorted by:
Ervius Kitchen's folder format
osKitchen's folder format
By comparing to a donor folder (should work with any kitchen)
Unsort from:
Ervius Kitchen's folder format
osKitchen's folder format
Merge missing file and folders from a donor directory (useful when the dump is missing files\folders) (SVN Directories are ignored ('.svn' and '_svn'))
How to install
Click the 'Install' button at http://vidmes.com/dumpsorter/publish.htm
(In order to use the 'launch' link, you need to be using IE)
(Alternatively, just use the zip below)
Notes
Merging is done last, so if the donor directory is 'dirty', this 'dirt' will be copied across
This requires .NET 3.5
Also attached is the source code (for anybody interested) - the project was built using Visual Studio 2010, so it may not open in older versions of VS
Known Issues
Things to do
Get a logo\icon
Ability to pull data from archives (eg zip, rar and 7 zip)
Changelog
Version numbers: <installer version> (<executable version>)
* 0.3.0.3 (0.3.3796.19478)
Fixed: Settings in ComboBoxes would not save (e.g. language, resolution, etc)
WARNING: Upgrading to 0.3.0.3 will wipe any of your current settings
* 0.3.0.2 (0.3.3789.38088)
Fixed: Bug where the 'Browse' button for selecting the donor folder to clone didn't do anything
* 0.3.0.1 (0.3.3734.42067)
Added: Support for OndraStar's osKitchen (sorting, unsorting, creating blank folders)
* 0.3.0.0 (0.3.3733.25038)
Added: Ability to unsort from Ervius format
Added: Ability to only sort DPI\RES\LANG that you actually want
* 0.2.0.1 (0.2.3518.38275)
Added: Ability to invert log
Added: Update log on the fly (instead of at the end)
Fixed: Progress bar go to 100% when complete (or reset afterwards)
* 0.2.0.0 (0.2.3516.36999)
Added: Ability to create a default folder layout for Ervius SYS
* 0.2.3516.24314
Added: About box
Fixed: Merger now ignores SVN directories ('.svn' and '_svn')
* 0.2.3516.23053
Added: Cleaner (remove files with same name as directory)
Added: Sorter for Ervius SYS format
Added: Merger (file and folder)
Fixed: Sorter now removes 'unsorted' directory if it is empty
* 1.0.3509.31117
Fixed: Browse buttons now re-enable after sorting is complete
* 1.0.3497.39310
Initial release
thanx Mr Moderator
its very usefull
WOW!! This is an awesome tool. I'm definitely gonna be giving it a try. Thanks
EDIT: Works perfect
This thing is awesome. It's perfect for organizing SYS folders for any kitchen based on ervius's visual kitchen.
Hello,
Thanks for this tool, it's really nice!!!
Just small thing added to your code :
Code:
void bgwDoSorting_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
txtLog.Text = (string)e.UserState;
pgbrStatus.Value = (e.ProgressPercentage > 100) ? 100 : e.ProgressPercentage;
}
and :
Code:
//old : bgwDoSorting.ReportProgress(workDone * 100 / workTotal);
bgwDoSorting.ReportProgress(workDone * 100 / workTotal, result);
I also reverse the log to have latest lines on top (log+newline instead of newline+log)
Thanks for the great job!!
very nice, thanks for sharing!
DarkAngelFR said:
Hello,
Thanks for this tool, it's really nice!!!
Just small thing added to your code :
Code:
void bgwDoSorting_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
txtLog.Text = (string)e.UserState;
pgbrStatus.Value = (e.ProgressPercentage > 100) ? 100 : e.ProgressPercentage;
}
and :
Code:
//old : bgwDoSorting.ReportProgress(workDone * 100 / workTotal);
bgwDoSorting.ReportProgress(workDone * 100 / workTotal, result);
I also reverse the log to have latest lines on top (log+newline instead of newline+log)
Thanks for the great job!!
Click to expand...
Click to collapse
I was considering that, but I think you'll find it will run a bit slower (due to having to constantly update the log box). Then again, if you have a dual processor machine (and who doesn't?), you probably won't notice a difference.
Any chance someone would also be interested in writing a batch file or simple program to delete duplicate files inside of a folder? ie: if there happened to be files inside of the module folder as well as the actual module files. So for example "tapres.dll" module folder for some reason has "tapres.dll" file inside. Would need to got hrough whole SYS though.
I am testing it now....
Pretty cool set of resources...thanks
Point of Sale.
jmckeejr said:
Any chance someone would also be interested in writing a batch file or simple program to delete duplicate files inside of a folder? ie: if there happened to be files inside of the module folder as well as the actual module files. So for example "tapres.dll" module folder for some reason has "tapres.dll" file inside. Would need to got hrough whole SYS though.
Click to expand...
Click to collapse
Sure
Maybe I can change my sorter into a cleaner as well...
Any other 'common tasks' I should include?
Perhaps a tool to merge missing folders into the sorted folder? (eg if the new SYS or OEM is missing stuff from the old one)
TehPenguin said:
...Any other 'common tasks' I should include?...
Click to expand...
Click to collapse
Good ideas...
Maybe I add one : default template folder, for example specify DPI, RESV/H and Lang code(s) then go should be usefull when adding a new language to an existing kitchen who don't have the full folder structure yet for the new language
If you need help do not hesitate!
PS: about performance, as you said everyone have dualcore computers at least so backgroundworker + log refresh is not slowing the process, and if it is it's not really visible (I'm not working on 1000000 files for 1000 languages so...)
I've rebuilt the backend to be more 'flexible' (ie custom workers and sorters).
I will build the cleaner and the extra sorter some time soon and have it posted up - don't expect anything too soon though...
Attached is the updated source code
(You should be able to tweak the .sln file to work in Visual Studio 2008)
Very good application but I can not use it, can you set it to work with .NET 2 ?
sIiiS said:
Very good application but I can not use it, can you set it to work with .NET 2 ?
Click to expand...
Click to collapse
I suppose....
Although why not install .NET 3.5?
TehPenguin said:
I suppose....
Although why not install .NET 3.5?
Click to expand...
Click to collapse
Because .Net3.5 has big size for me and members like me to download and install and if I install it, can I remove my .NET2 and .NET1 or need them too for other programs?
Now I have .NET1,2,3 but not .NET3.5
.Net 3.5 include 2.0 but you don't need to remove 2.0 before installing 3.5...
If you use windows update it will be big but not as big as if you download the full package from microsoft (it will just take kind of missing parts)
I like the way microsoft made all this framework, you can setup 3.5 without any problem to your existing 2.0 (or 1.1) applications.....more and more programs are using it so it's not a time loosing install for me..
New version released!
Dump Sorter now has all of the features requested.
From the changelog:
* 0.2.3516.24314
Added: About box
Fixed: Merger now ignores SVN directories ('.svn' and '_svn')
* 0.2.3516.23053
Added: Cleaner (remove files with same name as directory)
Added: Sorter for Ervius SYS format
Added: Merger (file and folder)
Fixed: Sorter now removes 'unsorted' directory if it is empty
Nice i saw your announcement in the release and came to see it... downloading and testing in the next release i seton the kitchen... maybe the tutorials will be useless ... Thanks a lot man!!!
hey there
Thanks for this update, will test today...
Missing screenshots on 1st post lol
what about using ClickOnce so we can have auto updates of the program? If you need help hosting I may help.... I love programs I like to be auto updated and it's really a small thing to do with VS (never tested with 2010)
Keep the good work, looks like we are coming to a complete "pre-kitchen tool"....

[UC]XDA_UC V2.RC1, Automated & Silent User & Cook, Configuration Service[14/05/10]

[UC]XDA_UC V2.RC1, Automated & Silent User & Cook, Configuration Service[14/05/10]
V2.RC1 Update,... New AutoShortcut Commands, new SDConfig.txt Commands, Manual and Storage Card install folders added, Extra parameters for Cooks.
I'll be updating all documentation accordingly later today.​
Another (The?) new way to implement User Customization and Cooking.
This Thread is meant for Rom Cooks.
Users should take a look at the User To User Tips, Tricks ideas and issues thread.
What the XDA UC service does, is silently install (or not so silently if needed by User), .cab, .xdas, .xml, .reg, .mscr, copy over user manila files, install files from SDconfig.txt if wanted and then a few extra's for the freaks like copying folders or creating shortcuts from specific registries. This happens either at first or second boot depending on the existence of either RunCC.exe or Autorun.exe in rom.
It's all Mortcsript so it's very easy to get a grasp of it and change the behaviour and or Chip in adjustments/improvements.
But no knowledge of mortscript is needed to implement
It Uses DotFred's Taskmanager to parse and implement the .reg and .xml files. But it can also be used to disable or enable services or register DLL files.
More Information about the XDA Type Files at:
http://wiki.xda-developers.com/index...ename=XDA_file
My Shout out for this Two Year Long Evolving Collaborating Endeavour go to:
Bengalih (that has a very similar UC variant called Sashimi and helped with some of the early scripts I was trying to do with mort while cooking, I wish I could have collaborated more with him, it would have saved time re-inventing the wheel), RoryB for bouncing back ideas, supplying new scripts and perfecting older ones, serfer222 For making the script compacter, jmckeejr, Ameet & the whole Digital XDA SPC Cooking Crew, bbobeckyj, CLHatch, Scinor, Mort, Sleuth255, McCune, DotFred, MrVanx, danny_and_2, Cmonex, utak3r, Laurentius26, Radimus, and the Whole Original SPC Crew for accepting my obsessions.
For Knowingly helping me get the information, unknowingly helping me get the information or motivated me in keep going on in my Quest resulting in this.
If I Forgot you, Forgive me.
If you feel that certain information that has been used originated by you give me a holler and I will credit you if this is so.
Before you consider buying me a beer. Please consider Donating to XDA to help out with the maintenance of the forum and get cool stars next to your Nickname showing your appreciation. Then there are always the people that without their apps this wouldn't have been possible at all that you can consider showing some love. Mort, DotFred & Sleuth255 All of whom made Apps Seemingly simple But oh so useful for the whole XDA and PocketPC community.
Download and Info in next Post
What this version of the XDA UC service does, is silently install and execute (listed in the order the items get installed)
Run the Users customisations of course.
User side information here...
Run Cook.mscr in Windows folder(For Cooks Only)
More Cook info coming.
Add native support for .mscr, .mortrun, .xda, xdai, xdas & .xdaz files
(Where in "\Storage Card\" is read from HKLM\System\StorageManager\Profiles\SDMemory For MultiLanguage Support)
Requirements
The Rom should have the security relaxed in HKLM\Security\Policies\Polices by setting the value 0000101a to a 1.
So unsigned installations and Mortscript do not give a security error.
If you have a different language then English, don't forget to change the path in the initflashfiles.txt/app.dat file (if your using legacy kitchen )
The rest of the script should dynamcliy get the correct variable for the storage location.
In the end the process it comes down to the device starting after flashing and not needing any reboot while silently installing Cook and User configurations.
On the User end and cook end no SDConfig.txt ort config.txt file is needed.
Attached the OEM Package and a Sample Package for SD.
(Klaxon.Cab, GoogleMaps.xdas, two .reg files, two xml files, my.tsk, and a test mortscript)
The Control factors of the Sample SD Package is that is should install
HKLM\Software\XDA\Test\Reg 1 Parsed=1
HKLM\Software\XDA\Test\Reg 2 Parsed=1
HKLM\Software\XDA\Test\xml1parsed=1
HKLM\Software\XDA\Test\xml2parsed=1
These are the tweaks present in those files.
In addition everything installed will be found under
HKLM\Software\XDA\UC\
And the Morscript in the sample SD Card Package should give a message to confirm it was executed "Mort UC From SD Working"
Cab Files and XDAS files should eventually just be in the startMenu Programs.
G-Alarm is there because it needs User interaction and that will pop up when it needs your attention.
At the end of it all you get a message Installations have finished.
When using SDConfig.txt be sure to add a blank line at the end of it.
Disclaimer:
Please be aware that the XDA_UC script contains a disclaimer, not to post errors with it to the Mortscript forums, and the usual this **** cloud be dangerous to your phones health.
For Standalone version, place XDA_UC folder from "User_Storage Card" on Storage Card.
Then run "\Storage Card\XDA_UC\Install\XDA_UC.exe"
Information about the SDAutorun.exe V2 UC can be found here:
http://forum.xda-developers.com/showthread.php?t=366337
Information about SDConfig.txt & .xml user setup can be found here:
http://forum.xda-developers.com/showthread.php?p=5011285
Changelog:
V 1.0.01
Changed Sleep to start UC to 50 seconds for full device Boot before UC starts.
Changed "XDA UC Service Start" title to "customization" to match the old one.
Changed sleep before completion message to ten second in case the last cab needs user input and the Completion message pops up to early.
Changed Sleep at while for Theme installation to 2 seconds.
V 1.0.02:
Added Copy1 to Copy2 by reading from registry settings
[HKLM\Software\XDA\DirCopy]
"\\Storage Card\\Some Folder"="\\My Documents\\Some Folder"
Added Disabling Manila from Homescreen then Copying files from "\Storage Card\XDA_UC\manila" to Windows, The checking for existence of wallpaper_TF3D.png or wallpaper_TF3D.jpg and adding that to
[HKCU\Software\HTC\Manila]
"HomeBackgroundPath"="\\Windows\\wallpaper_TF3 D.jp g"
Import registry files from "\Storage Card\XDA_UC\manila\manila.reg"
Re-enable Manila on Homescreen and redraw it.
If not present do nothing.
Added RoryB's Complete SDAutorun.exe replacement/SDConfig.txt parser script.
Check for existence of Autorun.exe or RunCC.exe to automatic determine which method/bootcount to use.
There is no longer the need for two separate XDA_UC versions let alone a third.
.reg and .xml files will no be sent to renamed taskmanager "FS_TaskMgr.exe"
Added checking for cab files in "\Storage Card\XDA_UC\SD\", for those that don't have the luxury of changing the install paths in a cab file to hardcode these to Storage Card. So you get full user input to choose on these cabs.
V 1.0.03:
Todo's
Add Support For Diamond Internal Storage Need Someone with a Diamond to Test.
V 1.0.04:
Added Support for PimPackup files *.pib & .cer files.
Moved Disclaimer to the beginning and added an option to reset ad the end.
V 1.1.00:
Added extra Runs for Diamond and Samsung Internal Storage.
V 1.1.1B2:
Applied script improvements to reduce code used and make script a bit faster.
Removed Manila folder copy and replaced it with more general Copy2Root function/folder.
Added recognition of "REG: " command in SDConfig.txt parsing.
Added recognition of "CER: " command in SDConfig.txt parsing.
Testing:
Code:
If( FileExists( "\" & SDF & "\Cabs\pim.vol" ))
Kill("cprog.exe")
EndIf
During SDConfig.txt just before cpy1, cpy2 function.
V 1.1.1B3:
Mayor overhaul by new script from Serfer222
And then I started adding more crap and messing the new clean code up.
XCP1 & XCP2 commands for SDConfig.txt (Folder Copy with SDConfig.txt)
MCAB command for SDConfig.txt (Cabs that you want manual input for during SDConfig.txt)
SCAB command for SDConfig.txt (Cabs that you want installed to SD SemiAutomaticly during SDConfig.txt)
SC1 & SC2 commands for SDConfig.txt (Shortcut creation with SDConfig.txt)
KILL command for SDConfig.txt (Kill a running .exe/process)
EXEC: command for SDConfig.txt (Was already present but i removed the checking if the file is a .exe so anything can be executed and)
Del: Command for SDConfig.txt
.PROVXML now also get parsed in XDA_UC folder
Changed Serfer222's fix to parse mail xml files before PimBackup to "*mail*.*xml" so now if there's a file containing mail anywhere or is a .provxml get's parsed before PimBackUp.
RESET command for SDConfig.txt
WR1: & WR2: commands to write files using SDConfig.txt
Parse File containing "WiFi in it's name" Early like MyHomeWiFi.xml or MyHomeWiFi.provxml
Add a script to run and add XDA_UC to rom's without it.
"Manual" Folder in XDA_UC folder for Full Manual .cab Installs
"Storage Folder in XDA_UC folder for Semi Silent .cab installs to Storage
Early "*wifi*.*xml" parsing from XDA_UC for quick Wifi connecting.
Eauh maybe i forgot some stuff....
Bug Tracker for last Beta.
Wrong code for the WR1: & WR2: commands (Updated Beta Download with Fixed Script)
WR1: command needs a delete or else the next time it is run it will add text to the file instead of write a new one. Working on Fix. Fix Updated in original Download.
Changed XCP1: XCP2: commands into MOV1: & MOV2: to avoid confusion with CPY1: & CPY2: (TNX RoryB good one) Updated in original Beta Download.
Other Updates I'm looking into All Beta:
Changed Manila/Sense Script so it now Checks for manila.reg @ "\Storage Location\XDA_UC\Copy2Root\Windows\manila.reg" and runs the reg from there.
Test everything again
More optimisation of the code suggested by Serfer222
Call for Sashimi & PresetInstaller, so having Making an XDA UC Rom doesn't force users switching their preferred UC Setup.
Add DELT: command
Config.txt for Cooks (May not be included as it is partly redundant)
SDAutorun replacement without SDAutorun.exe
Information will be added about this in the future.
Some more changes to my method I thought I would share.
Run the items in SDConfig.txt without using SDAutorun. I do not have any tsk to run, but it would work the same. I put copy first since some EXECs like xcopy need to be copied before execution.
Code:
###############################
# SDConfig without SDAutoRun
###############################
; Wait 10 seconds to start to be sure SDCard can be accessed
Sleep( 10000 )
If( FileExists( "\Storage Card\SDConfig.txt" ))
xcount = ReadLine( "\Storage Card\SDConfig.txt" )
While( IsEmpty( xcount ) = FALSE )
If( SubStr( xcount, 1, 5 ) eq "CPY1:" )
xcopy1 = SubStr( xcount, 6 )
xcount = ReadLine( "\Storage Card\SDConfig.txt" )
If( SubStr( xcount, 1, 5 ) eq "CPY2:" )
xcopy2 = SubStr( xcount, 6 )
Copy( xcopy1, xcopy2, TRUE )
EndIf
ElseIf( SubStr( xcount, 1, 5 ) eq "CAB: " )
RunWait( "\windows\wceload.exe", "/nodelete /silent " & [COLOR=blue]"""" & [/COLOR]SubStr( xcount, 6 ) [COLOR=blue]& """" [/COLOR])
While( ProcExists ( "wceload.exe" ))
sleep( 3000 )
endwhile
Else[COLOR=red]if[/COLOR]( SubStr( xcount, 1, 5 ) eq "EXEC:" )
If( SubStr( xcount, -[COLOR=red]3[/COLOR] ) [COLOR=red]eq[/COLOR] [COLOR=black]"[/COLOR][COLOR=red]exe[/COLOR][COLOR=black]"[/COLOR] )
Run( SubStr( xcount, 6 ))
EndIf
[COLOR=red] ElseIf( SubStr( xcount, 1, 5 ) eq "XML: " )[/COLOR]
[COLOR=red] RunWait( "\windows\TaskMgr.exe", "/provxml " & SubStr( xcount, 6 ))[/COLOR]
[COLOR=red] While( ProcExists ( "TaskMgr.exe" ))[/COLOR]
[COLOR=red] sleep( 3000 )[/COLOR]
[COLOR=red] endwhile[/COLOR]
[COLOR=red] ElseIf( SubStr( xcount, 1, 5 ) eq "TSK: " )[/COLOR]
[COLOR=red] RunWait( "\windows\cusTSK.exe", SubStr( xcount, 6 ))[/COLOR]
[COLOR=red] While( ProcExists ( "cusTSK.exe" ))[/COLOR]
[COLOR=red] sleep( 3000 )[/COLOR]
[COLOR=red] endwhile[/COLOR]
[COLOR=red]Else[/COLOR]
EndIf
xcount = ReadLine( "\Storage Card\SDConfig.txt" )
EndWhile
EndIf
I have a mortscript I call user_C.mscr for some customizations that I used EXEC to run, but thought this way people could have multiple scripts.
Code:
If( DirExists( "\Storage Card\SDAUTO" ))
ForEach xscriptfile in Files( "\Storage Card\SDAUTO\*.mscr" )
CallScript( xscriptfile )
sleep( 3000 )
EndForEach
EndIf
Lastly, I have this final folder to hold cab files I want to install with user input. It also has a script to cleanup a few things from the cab install.
Code:
If( DirExists( "\Storage Card\SDAUTO\Final Files" ))
ForEach xcabfile in Files( "\Storage Card\SDAUTO\Final Files\*.cab" )
Runwait( "\Windows\wceload.exe", "/nodelete " & [COLOR=blue]"""" & [/COLOR]xcabfile [COLOR=blue]& """"[/COLOR] )
While( ProcExists ( "wceload.exe" ))
sleep( 3000 )
endwhile
EndForEach
ForEach xscriptfile in Files( "\Storage Card\SDAUTO\Final Files\*.mscr" )
CallScript( xscriptfile )
sleep( 3000 )
EndForEach
EndIf
I had to set config.txt to hide the overlay image and not lock the screen to allow seeing the messages and responding to them. Eventually I see this changing to have the first script copied to start up folder by an initflashfile and not even need AutoRun. Currently config.txt starts the mortscript and does nothing else.
Cook.mscr
If your cooking and want your own mortscript to also be run at first boot just name it cook.mscr and put it into Windows folder.
Update: From Version 1.2.0 Cook.mscr will be executed at the same moment as the rest of XDA_UC, so this is depended on if RunCC or Autorun is used.
Suggestion:
install the cabs in a known order, perhaps alphabetically, so that we can name the files in the order to install like so
10_MSVC.CAB
20_PIMBackup.Cab
etc means we can control the install order.
Reason I chose not to use the known "Cabs" folder is not to screw with that configuration.
(XDA_UC is backwards compatible with SDAutorun v2 SDConfig.txt)
Cabs will be automatically be parsed alphabetically that's a default when more cab's are being processed.
At least I think so
It's using MortScripts ForEach File command.
Almost Everything processed will be written to registry under.
HKLM\Software\XDA\UC
And no more hassle with cabs that need user interaction.
You just interact when they come up.
If it's a good idea I could also make it check for a present Welcomehead.png or the Existence of a TF3D folder to copy over personal TF3D files.
Uploaded the OEM and a Sample SD Test Package.
is there a way this could be done without removing the RUNCC?
Yes there is.
There's a few different solutions.
I have added your request to the first Posts.
It runs at second boot and skips a few things that RunCC takes care of like installing cabs present in the windows folder.
This way you can keep everything is with RunCC and the welcome.lnk in initflashfiles.dat
Personally I prefer the First method with no reboots at all but it does require some extra meddling in the Rom.
Hello,
I have some questions...
Noonski said:
(This Method is under Review as it seems the latest RunCC accepts config.txt files from SD)
Click to expand...
Click to collapse
Noonski said:
This didn't work in earlier versions i had my hands on.
Click to expand...
Click to collapse
Which version is this? 1.0.9.0?
RunCC can execute the same commands in config.txt? (EXEC, TSK, XML, CAB...)
I have yet to get a hold of the version l3v5y's using.
Yes RunCC can but it needs configuration. Now for a cook that isn't any problem. But for Simple users all they need to do is drop some cabs and tweaks they have collected throughout the forum into a folder not be annoyed by.
I posted a rom already that has runcc installing from sdcard's config.txt. Not too difficult at all, wonder why more cooks don't figure it out.
Because Earlier releases of RunCC from leaked roms did not except these commands.
I have just extracted a version of it from an official Rom and it's got the same version i was using before 1_0_9_0
So weird that it is now accepting it.
But looking back i did not use the addrun("RunExtra"
I did try the Run customer, and default tho.
(Slaps in his forehead)
But it's still not the same as i'm trying to offer here.
Noonski said:
Because Earlier release of RunCC from leaked roms did not except these commands.
I have just extracted a version of it from an official Rom and it's got the same version i was using before 1_0_9_0
Click to expand...
Click to collapse
Noonski said:
So weird that it is now accepting it.
But looking back i did not use the addrun("RunExtra"
I did try the Run customer, and default tho.
(Slaps in his forehead)
But it's still not the same as i'm trying to offer here.
Click to expand...
Click to collapse
What you're trying to offer here is IMHO a far better solution!
Sorry for not getting you my tweaked package, though you seem to have managed without...
I think having a complete solution, with automated install of all cabs in a folder would be great.
Well i also needed to Scour the new Roms for some updated OEMS and i needed to know for sure that welcomehead.192.png was named that way to add it to the process.
And maybe even a Copy User Preferred Manilla files from SD to device if present. There must be some other good ideas from people that like flashing, but are tired of installing their preferred skins, settings and Apps.
Unfortunately i found that the newer package of Connectionsetup asks for a reset where my previous VGA reskinned package did not.
All the Regs are te same (Except for two new unrelated ones).
I like the old non rebooting version better.
I know that a reboot isn't needed but i can see users unkowingly agree to that reboot. (But that's another subject)
I think i will change the package this weekend So it is only one method.
By default it is set to run at second boot, but it can easily be changed by the cook to run at first boot if that is the setup that one would prefer.
Also i'm still tinkering out the exact form of the XDA files.
But nice to hear i'm not on an island, l3v5y.
Noonski said:
Well i also needed to Scour the new Roms for some updated OEMS and i needed to know for sure that welcomehead.192.png was named that way to add it to the process.
And maybe even a Copy User Preferred Manilla files from SD to device if present. There must be some other good ideas from people that like flashing, but are tired of installing their preferred skins, settings and Apps.
Click to expand...
Click to collapse
Noonski said:
Unfortunately i found that the newer package of Connectionsetup asks for a reset where my previous VGA reskinned package did not.
All the Regs are te same (Except for two new unrelated ones).
I like the old non rebooting version better.
I know that a reboot isn't needed but i can see users unkowingly agree to that reboot. (But that's another subject)
I think i will change the package this weekend So it is only one method.
By default it is set to run at second boot, but it can easily be changed by the cook to run at first boot if that is the setup that one would prefer.
Also i'm still tinkering out the exact form of the XDA files.
But nice to hear i'm not on an island, l3v5y.
Click to expand...
Click to collapse
I think the "EXEC:" command waits for the process to close? If yes, then an application that runs some mortscripts could wait till all the mortscripts are run before continuing, so it can be run at first boot within RunCC. That saves the issue of an extra reboot...
Welcomehead.192.png is the file for VGA/WVGA devices, welcomehead.96.png is for QVGA devices, though it's actually set in the registry, so that could be checked at load time? (I'll find the registry key at some point...)
Something I've just thought of:
If there were a way for ROM cooks to block things that are known not to function or are included already, that would be quite useful. E.G. I include PIMBackup in ROMs, so why would anyone install an extra cab to do the same?
You could add a check for a specific .Cab name.
And if present change the extension.
Repeat and Rinse a few times.
Then at the end rename all .cabxx back to .cab
I think in general, not a lot of people change their cab names.
Unless like that previous post, someone likes to add numbers to them to control the order.
But in this Silent install method i can see that having one app being installed first could be useful as there's small pauses build into the script so the device isn't slow as hell the first minutes it boots.
I think it might get more error prone if it gets executed through RunCC.
With all the processes that get proccesed through the script.
It's using and starting, cusTSK.exe, TaskMgr.exe, wceload.exe and mortscript. But when Mortscript exitst it should be finished.
I would need to test this style to feel confident it doesn't reboot while there's still work in progress.
I Agree that getting it into the No Reboot style might be some extra work for cooks. And maybe i'm seeing this to much from my own perspective where i always remove and convert OEM configurations to straight forward packages.
Noonski said:
You could add a check for a specific .Cab name.
And if present change the extension.
Repeat and Rinse a few times.
Then at the end rename all .cabxx back to .cab
Click to expand...
Click to collapse
Noonski said:
I think in general, not a lot of people change their cab names.
Unless like that previous post, someone likes to add numbers to them to control the order.
But in this Silent install method i can see that having one app being installed first could be useful as there's small pauses build into the script so the device isn't slow as hell the first minutes it boots.
I think it might get more error prone if it gets executed through RunCC.
With all the processes that get proccesed through the script.
It's using and starting, cusTSK.exe, TaskMgr.exe, wceload.exe and mortscript. But when Mortscript exitst it should be finished.
I would need to test this style to feel confident it doesn't reboot while there's still work in progress.
I Agree that getting it into the No Reboot style might be some extra work for cooks. And maybe i'm seeing this to much from my own perspective where i always remove and convert OEM configurations to straight forward packages.
Click to expand...
Click to collapse
I personally hate having cabs installed, so in theory my ROMs should be good to go without the reset.
Based on what you said, it might be best if the number of complications are minimal, and device compatibility as great as possible. RunCC probably would make things more complex and error prone, so yes, I agree not having it as a dependency makes sense.
A mortscript could always recognise *cabname.cab, so even using an order flag at the front should work.
Silent install sounds like it could be great, although some of the cabs need user intervention... Also, having a flag settable somewhere that makes (or stops) a message box with "auto install is complete" would be useful...
At the moment i have G-Alarm in my SD folder for that User intervention.
It just pops up at the moment after it's install i know at first i waited for it, no i grab a beer and tap it when i arive but the script continues with the rest of the files present so it's not waiting on that user interaction.
The possible Pop up message would in theory come up at the moment the last cab is just starting to install but it should be possible to add a check if wceload is still active before it pops up.
Which reminds me i still need to contact some of the people that actually helped out a lot without knowing.
"Installation has Finished, if your in a good mood and were planning to get beer from the fridge choose yes to reset the device, If your not in the mood and need to actually use your phone right now, press no to reset whenever you feel like it"
Do you think that would fit in the screen

Categories

Resources