A few people have been trying to figure out how to get rid of SQM, and custsat.dll was causing most of the errors. I posted a few weeks ago in the kaiser forum the I was going to post how to do it, but forgot. Anyway, removing SQM is now simple (for ROM cooks):
1. Delete SQM package from SYS
2. Place my dummy custsat.dll (attatched).
...dummy custsat is a dummy custsat.dll that exports all correct ordinals, and simply returns zero for all functions. SQM is a reporting library that apparently sends non-personal information to microsoft about your pocketpc's performance. note this is for wm6.1, wm6 you can just delete sqm.
no2chem said:
A few people have been trying to figure out how to get rid of SQM, and custsat.dll was causing most of the errors. I posted a few weeks ago in the kaiser forum the I was going to post how to do it, but forgot. Anyway, removing SQM is now simple (for ROM cooks):
1. Delete SQM package from SYS
2. Place my dummy custsat.dll (attatched).
...dummy custsat is a dummy custsat.dll that exports all correct ordinals, and simply returns zero for all functions. SQM is a reporting library that apparently sends non-personal information to microsoft about your pocketpc's performance.
Click to expand...
Click to collapse
Wouldn't it be easier to remove the whole SQM package:
-custsat.dll
sqmce.dll
sqmconn.dll
sqmdata.dll
sqmevent.exe
sqmsvc.dll
uptime.dll
uptimesqm.exe
AND remove the RGU entries from the Hive?
Then the whole package wouldn't be called upon anymore, so no errors with custsat.dll etc.
Code:
REGEDIT4
[HKEY_LOCAL_MACHINE\System\SQM]
"Enabled"=dword:1 ; Device-wide SQM enabled state
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SqmEngine]
"Dll"="sqmce.dll"
"Prefix"="SQM"
"Index"=dword:1
"Order"=dword:1
"IClass"=multi_sz:"{A32942B7-920C-486b-B0E6-92A702A99B35}"
"Flags"=dword:2
[HKEY_LOCAL_MACHINE\System\SQM\Engine]
"MachineId"="{00000000-0000-0000-0000-000000000000}"
"UserId"="{00000000-0000-0000-0000-000000000000}"
"MaximumSessionSize"=dword:FFFF ; Default: 64 KB
"MaximumPacketPoolSize"=dword:FF ; Default: 255
"MaximumFileQueueSize"=dword:20 ; Default: 32
"MaximumUploadFolderSize"=dword:40000 ; Default: 256 KB
"PacketProcessorThreadPriority"=dword:FB ; Default: THREAD_PRIORITY_NORMAL (251)
"UploadFolderFilePattern"="_%d.dat"
"PersistentSessionFolder"="\\Windows\\System\\SQM\\Sessions\\"
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\Global]
"MaxSize"=dword:FA0
"Timeout"=dword:15180 ; one day in milliseconds
"Persistent"=dword:1
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\PMWeek]
"MaxSize"=dword:FA0
"Timeout"=dword:93A80 ; one week in milliseconds
"Persistent"=dword:1
[HKEY_LOCAL_MACHINE\System\SQM\UploadSettings]
"UploadFolder"="\\Windows\\System\\SQM\\Files"
"UploadEvent"="System/SqmUploadReady"
"UploadRetryInterval"=dword:5265C00
"ThrottleInterval"=dword:48190800
"ConnectionFlags"=dword:1
[HKEY_LOCAL_MACHINE\Services\SqmUpload]
"Context"=dword:0
"Dll"="sqmsvc.dll"
"Order"=dword:99
"Keep"=dword:1
"Prefix"="SQM"
"Index"=dword:0
"DelayLoadOnEvents"="SDP_DATA_AVAILABLE"
[HKEY_LOCAL_MACHINE\System\SQM]
"Enabled"=dword:0 ; Device-wide SQM enabled state
"EnableUI"=dword:1 ; Show event-triggered prompt to join and control panel applet
"PromptDelayMin"=dword:F ; Number of minutes (in hex) to delay before displaying prompt after receiving initial event notification
[HKEY_LOCAL_MACHINE\System\SQM\Sessions]
"MaxTransient"=dword:100
"TransientSignature"="sqmdata%02d.sqm"
"TransientDir"="\\windows\\SqmTempFiles"
"TransientFlags"=dword:0
"FlushInterval"=dword:0
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\Global]
"MaxSize"=dword:5000
"Timeout"=dword:15180
"Persistent"=dword:1
"Flush"=dword:1
"SessionCount"=dword:0
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\BiWeekly]
"MaxSize"=dword:FA0
"Timeout"=dword:127500
"Persistent"=dword:1
"Flush"=dword:1
"SessionCount"=dword:0
[HKEY_LOCAL_MACHINE\System\SQM\UploadSettings]
"ConnectionDll"="sqmconn.dll"
"ConnectionFlags"=dword:0
[HKEY_LOCAL_MACHINE\System\Uptime]
"Interval"=dword:258
"UserFix"=dword:B4
[HKEY_LOCAL_MACHINE\init]
"Launch100"="uptimesqm.exe"
"Depend100"=hex:3c,00 ; services(=0x3c)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff]
"upt1:"=dword:1 ; D1
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Unattended]
"upt1:"=dword:1 ; D1
Regards,
EqX
the-equinoxe said:
Wouldn't it be easier to remove the whole SQM package:
-custsat.dll
sqmce.dll
sqmconn.dll
sqmdata.dll
sqmevent.exe
sqmsvc.dll
uptime.dll
uptimesqm.exe
AND remove the RGU entries from the Hive?
Then the whole package wouldn't be called upon anymore, so no errors with custsat.dll etc.
Code:
REGEDIT4
[HKEY_LOCAL_MACHINE\System\SQM]
"Enabled"=dword:1 ; Device-wide SQM enabled state
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SqmEngine]
"Dll"="sqmce.dll"
"Prefix"="SQM"
"Index"=dword:1
"Order"=dword:1
"IClass"=multi_sz:"{A32942B7-920C-486b-B0E6-92A702A99B35}"
"Flags"=dword:2
[HKEY_LOCAL_MACHINE\System\SQM\Engine]
"MachineId"="{00000000-0000-0000-0000-000000000000}"
"UserId"="{00000000-0000-0000-0000-000000000000}"
"MaximumSessionSize"=dword:FFFF ; Default: 64 KB
"MaximumPacketPoolSize"=dword:FF ; Default: 255
"MaximumFileQueueSize"=dword:20 ; Default: 32
"MaximumUploadFolderSize"=dword:40000 ; Default: 256 KB
"PacketProcessorThreadPriority"=dword:FB ; Default: THREAD_PRIORITY_NORMAL (251)
"UploadFolderFilePattern"="_%d.dat"
"PersistentSessionFolder"="\\Windows\\System\\SQM\\Sessions\\"
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\Global]
"MaxSize"=dword:FA0
"Timeout"=dword:15180 ; one day in milliseconds
"Persistent"=dword:1
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\PMWeek]
"MaxSize"=dword:FA0
"Timeout"=dword:93A80 ; one week in milliseconds
"Persistent"=dword:1
[HKEY_LOCAL_MACHINE\System\SQM\UploadSettings]
"UploadFolder"="\\Windows\\System\\SQM\\Files"
"UploadEvent"="System/SqmUploadReady"
"UploadRetryInterval"=dword:5265C00
"ThrottleInterval"=dword:48190800
"ConnectionFlags"=dword:1
[HKEY_LOCAL_MACHINE\Services\SqmUpload]
"Context"=dword:0
"Dll"="sqmsvc.dll"
"Order"=dword:99
"Keep"=dword:1
"Prefix"="SQM"
"Index"=dword:0
"DelayLoadOnEvents"="SDP_DATA_AVAILABLE"
[HKEY_LOCAL_MACHINE\System\SQM]
"Enabled"=dword:0 ; Device-wide SQM enabled state
"EnableUI"=dword:1 ; Show event-triggered prompt to join and control panel applet
"PromptDelayMin"=dword:F ; Number of minutes (in hex) to delay before displaying prompt after receiving initial event notification
[HKEY_LOCAL_MACHINE\System\SQM\Sessions]
"MaxTransient"=dword:100
"TransientSignature"="sqmdata%02d.sqm"
"TransientDir"="\\windows\\SqmTempFiles"
"TransientFlags"=dword:0
"FlushInterval"=dword:0
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\Global]
"MaxSize"=dword:5000
"Timeout"=dword:15180
"Persistent"=dword:1
"Flush"=dword:1
"SessionCount"=dword:0
[HKEY_LOCAL_MACHINE\System\SQM\Sessions\BiWeekly]
"MaxSize"=dword:FA0
"Timeout"=dword:127500
"Persistent"=dword:1
"Flush"=dword:1
"SessionCount"=dword:0
[HKEY_LOCAL_MACHINE\System\SQM\UploadSettings]
"ConnectionDll"="sqmconn.dll"
"ConnectionFlags"=dword:0
[HKEY_LOCAL_MACHINE\System\Uptime]
"Interval"=dword:258
"UserFix"=dword:B4
[HKEY_LOCAL_MACHINE\init]
"Launch100"="uptimesqm.exe"
"Depend100"=hex:3c,00 ; services(=0x3c)
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\ScreenOff]
"upt1:"=dword:1 ; D1
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\State\Unattended]
"upt1:"=dword:1 ; D1
Regards,
EqX
Click to expand...
Click to collapse
if you tried that in wm6.1, you would quickly discover that unresolved imports will cause everything from tmail.exe to cprog.exe not to execute.
no2chem said:
2. Place my dummy custsat.dll (attatched)
Click to expand...
Click to collapse
hey no2chem.. will try this out, but where should i place this file? in windows? i mean is it ok if i just place this file of urs in oemapps (it will automatically get stored in windows, rite?)
EDIT: sorry.. posted too early b4 i saw what was nside sorry again.. please ignore my question
Hi,
good work, i have cooked in my new Rom.
with friendly greet
starbase64
no2chem said:
if you tried that in wm6.1, you would quickly discover that unresolved imports will cause everything from tmail.exe to cprog.exe not to execute.
Click to expand...
Click to collapse
Ahh, I (obviously) haven't tried that in WM6.1 (haven't cooked a WM 6.1 ROM yet).
Well done, I'll going to use your dll when I decide to cook me a WM6.1 ROM.
ok i will try in my new rom! thanks!
Very useful
I 'll use your SQM in my next ROM. Thanks.
OK cooked in and NO problems at all. Thnaks for sharing!!!
What i didn't post thanks for this...
Dammit, muchos gracias great job testing now.
I wnet almost insane trying to get rid of SQM in WM 6.1
Worked on this side of the coin!
Thanks a lot!
I used this with WM 6.1 Classic edition for Hx4700( remove Phone and related phone folder in SYS) , returned error.
I deleted all except original custsat and rgu and dsm , no error.
I used with ASUS P525 and hTC Cruise , all's OK.
Thanks.
vivi
no2chem said:
A few people have been trying to figure out how to get rid of SQM, and custsat.dll was causing most of the errors. I posted a few weeks ago in the kaiser forum the I was going to post how to do it, but forgot. Anyway, removing SQM is now simple (for ROM cooks):
1. Delete SQM package from SYS
2. Place my dummy custsat.dll (attatched).
...dummy custsat is a dummy custsat.dll that exports all correct ordinals, and simply returns zero for all functions. SQM is a reporting library that apparently sends non-personal information to microsoft about your pocketpc's performance. note this is for wm6.1, wm6 you can just delete sqm.
Click to expand...
Click to collapse
Thanks for this
I'll try in my Spanish Lite ROM for Kaiser...
One question, may i delete ceipui.exe too or this is not related to this? I have tryied a WM5 mxip_notify.vol that does not include the two ceipui.exe notifications, but the ROM don't boot...
CHeers
Cheers
jcespi2005 said:
Thanks for this
I'll try in my Spanish Lite ROM for Kaiser...
One question, may i delete ceipui.exe too or this is not related to this? I have tryied a WM5 mxip_notify.vol that does not include the two ceipui.exe notifications, but the ROM don't boot...
CHeers
Cheers
Click to expand...
Click to collapse
Since noone responded to that I am gonna answer to cut other peoples problems away. If you try the other way incl. deleting ceipui.exe you will have seriouse activesync issues. People on vista (some, specialy those who havent updated theyre computer) wount be saved by sktools for cleaning up and make a new repllog session. So my experience is that deleting ceipui.exe is not a smart move
raiisak said:
Since noone responded to that I am gonna answer to cut other peoples problems away. If you try the other way incl. deleting ceipui.exe you will have seriouse activesync issues. People on vista (some, specialy those who havent updated theyre computer) wount be saved by sktools for cleaning up and make a new repllog session. So my experience is that deleting ceipui.exe is not a smart move
Click to expand...
Click to collapse
Thanks for your answer...
Finally found a MIX_NOTIFY.VOL without ceipui notifications that works for me in my lite spanish ROM
Cheers.
one question... where i have to place this dll?
Activating this thread again, hopeing to get an answer...
From what I can understand, SQM (System Quality Metrics) is a service running in winmo 6 and ff. Services are always manageable in the way that they can be disabled and/or stopped. Shouldnt it be possible to get rid of ceipui.exe making its "call home" to redmond by just disabling the SQM-service (and possibly a few others that might be depending on it)?
I had a quick look in the registry and found what I think is the service in question, sqmupload (sqmsvc.dll). Easy to set it to manual start and easy to "disable" it (just move it to another location in the registry for safety, dont delete it).
I'll hardreset my device and test it, will post results here later on.
[Edit]
Btw, I am not a cook, therefor I'm trying to find another way to solve this
Ok, I should clarify that what I wanted to do was to remove the annoying popup dialog about participating in the Customer Feedback and this registry tweak has done just that.
Its workning perfectly on an Athena 7500 with a wm 6.1 ROM.
The registryentry this regards is:
[HKEY_LOCAL_MACHINE\Services\SqmUpload]
Should look something like this:
"Context"=dword:00000000
"Dll"="sqmsvc.dll"
"Order"=dword:00000099
"Keep"=dword:00000000
"Prefix"="SQM"
"Index"=dword:00000000
"DelayLoadOnEvents"="SDP_DATA_AVAILABLE"
"Flags"=dword:00000004
Create a key in HKCU\Software, name it whatever you like (f.ex. Backup) and move this key to that location. The service is now "disabled", and it doesnt look like its calling ceipui.exe, nor does it call on uptimesqm.exe as far as I have been able to spy on the system.
If anyone experiences any problems, please tell me. I'd really like to know
//Anders
what about 6.5?
isn't it enough to delete all files from SQM package excluding dsm and custsat.dll? what is the difference between using dummy custsat?
Any experience with these with latest builds (6.5.3)?
- Remove customer feedback
- remove error reporting
- etc etc...
Thanks.
Related
Could you explain please (very short description) how you modified the xip chain for rom kitchen?
All I can see is the following:
- no length (0)
- no RSA1 signature
- only file entries
What I want to know:
- how to find phys. (ROM) position (do you use unused holes in rom?)
- is 0 length for ROM = autolength
- how to choose the RAM position
- why can length of RAM be 0
Please help. (I need this info for a smartphone project)
I did not bother setting the length, only the 'pvAddr' field is used.
I only make fileentries, because I have yet to implement the generation of modules. ( if I ever do ).
yes, I use unused holes in the rom.
actually, if you don't care about xip updates of other sections, you
may use addresses anywhere in the rom, where your data fits.
It does not nescesarily have to be contigous.
I just copied the ram setting from the other xip entries.
Thank you for the information.
Why don't you take romimage.exe from platformbuilder to generate a XIP block. You only have to write a little .bib file for it. This tool can handle modules and compression as well.
John
P.S. Source code for romimage.exe is available in PB 4.2 private build tree.
I hadn't found that tool yet when I wrote makexip, and then we couldn't have made the romkitchen with it, since romimage.exe runs only under windows.
Don't waste your time with this crap tool (romimage.exe). Some needed files are missing (e.g. bin2xip.exe).
How can I be sure to choose a good phys. addr.? There might be some memory mapped devices...
I have one additional difficult question:
Modules are relocated when embedded into XIP's. Even there seems to be a modification to the import table of the module (e.g. references to coredll.dll will be checked/updated?)
If I extract a module (e.g. a *.dll) from a XIP of an other phone do I have to re-relocate it / modify it's import section even if I place it in a FILES section?
Thanks
John
converting bin to xip is not that difficult. see http://www.xs4all.nl/~itsme/projects/xda/wince-flashfile-formats.html
do you mean the 'physfirst' field in the romheader? that is just the startaddress in the rom.
since the relocation information is not stored in rom, the only way to really
recover it, is to disassemble the file, and find the offsets to stuff that
needs to be reallocated.
so that is a lot of work. and dumprom only extracts nonrelocatable .exe and .dll modules.
if your extracted dll is fixed to a memory location that overlaps with an already existing dll, you will have a problem I think.
I am not even sure, if an extracted dll works at all, I only use them for reverse engineering.
Yes, I mean phys first field. But how can I be sure to choose a valid address for the new XIP block?. My idea is to use address space between existing XIP blocks. Or can I simply choose a very high address (e.g. 8F000000) and hope not to use a region where memory mapped devices are located?
Since I used (your?) dumprom to extract the *.dll files do you think they are "nonrelocated"?
John
I ask so much because I crashed my lovely smartphone a week ago. :-(
My new XIP seems to be invalid... so it doesn't boot anymore. Unfortunately I've killed the bootloader too...
When I try next time (I've ordered a new one) this must not happen!
I am sure they are nonrelocated, fixed to run from a specific memory location.
( just wrote another post about this )
maybe even the module loader does not allow non-xip modules to be loaded in xip reserved memory.
THANK YOU VERY MUCH
I've got it. My Smartphone now have a new XIP block with some files in it...
Only thing left is to rewrite some *.dll files (only resource dlls with no function exports) to extend the language of the MIO 8380.
Are you familiar with languages on smartphone? There are multiple .mui files (resource dlls containing all the dialogs and strings). I've exported all resources and (re)created the dll's as resource only. Unfortunately they don't work ... yet ...
Are there some other files for language extension? What about "wince.nls" or "mxip_lang.vol" ?
Thanks again for your great tools. I will setup a site containing detailed information about this hack soon.
John Smith
cool, I am always interested to see how things work out that I haven't actually tried myself yet.
is this how you create resource only dll's:
http://www.xs4all.nl/~itsme/projects/programming/icondll.html
Currently I'am a little bit confused. PB 4.2 docu says MUIs are resource only .dlls and sample in smartphone sdk adds a dllmain...
I will have to investigate this things a little bit more...
John
O.K.
I've tried anything. The only thing left is that the new resource dlls are not XIPed as modules...
The sample mui app works fine (regardless of resource only / normal dll).
John
P.S. I've successfully changed all other settings some things already appear in the new language. Only poutlook, homescreen and control panel will not change!
Now after some more testing (included a dllmain into the mui file which logs the loading/unloading to file) it seems that my mui.dll is never loaded by system (if I load it manually with LoadLibrary the log is written).
Here is my question:
I've looked a little bit deeper into the dumped mui.dll and found a pointer in security section (pe header) which points to nowhere (just after the [virtual] end [rva] of all of the e32/o32 sections).
Could it be, that I've missed something? Does dumprom fill in this values correctly?
One other interesting idea could be to exchange only the data section of the module (since I want to patch resource only .dlls). But since english is a very short term language all other files will be bigger...
John
>>> I've got it <<<
the new (mui-language) modules have to be REAL xip modules...
So I've build a custom.bib file and used RomImage from CE3.0 Platformbuilder. Even compression is possible now.
Note: romimage.exe does the same thing as makexip.pl
To share my results here is the content of the .bib file I've used:
Code:
MEMORY
; Name Address Size Type
MYXIP 81f00000 0013f000 RAMIMAGE
RAM 8c020000 00fe0000 RAM
CONFIG
COMPRESSION = ON
PROFILE = OFF
ROMFLAGS = 2
ROMSTART=81f00000
ROMSIZE=13f000
ROMWIDTH=32
DLLHIGHADDR=00b00000
MODULES
; Name Path Memory Type
; ------------------------- ------------------------------- ------ ----
outres.dll.0407.mui input\outres.dll.0407.mui MYXIP SHU
syncres.dll.0407.mui input\syncres.dll.0407.mui MYXIP SHU
tapres.dll.0407.mui input\tapres.dll.0407.mui MYXIP SHU
tshres.dll.0407.mui input\tshres.dll.0407.mui MYXIP SHU
wmplayer.exe.0407.mui input\wmplayer.exe.0407.mui MYXIP SHU
FILES
; Name Path Memory Type
; ------------------------- ------------------------------- ------ ----
Busy.0407.mid input\Busy.0407.mid MYXIP
mxip_lang_799.rgu input\mxip_lang_799.rgu MYXIP
ms_splash.gif input\ms_splash.gif MYXIP
carrier_splash.gif input\carrier_splash.gif MYXIP
- The MYXIP region in MEMORY section is a hole in the ROM I've found with calcgaps.pl.
- The RAM region is copied from the other sections (they all use the same)
- ROMSTART and ROMSIZE have to be the same values as defined in MYXIP
- DLLHIGHADDR has to be the !!!lowest!!! loading address found with dumprom (header: dlls=...-... ).
Example: If the lowest address found is "header: dlls=00b00000-00c90000 ..." then DLLHIGHADDR has to be 00b00000
Don't care about the warning the warning "Unable to do imports from ... to COREDLL.dll - will late bind". Thats because coredll is in another XIP.
John
P.S. Thanks a lot for all of your support.
DETAILED INFORMATION ABOUT THIS HACK CAN BE FOUND HERE:
http://smartphonerom.tripod.com (only download the "detailed information")
Has anyone else noticed that the HV to RGU and RGU to HV convertors Suck.
None of them work properly and they throw load of errors up.
Below is an example of what i am getting:
[HKEY_CLASSES_ROOT\CLSID\{BDE41C5F-EB7D-4c3d-8C9C-12D8F68B24D9}\InprocServer32]
"ThreadingModel"="Free" @="\\Windows\\sqlceca30.dll"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}]
@="Active SSCE remote data access Object"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}\ProgID]
@="SSCE.RemoteDataAccess.3.0"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}\InprocServer32]
"ThreadingModel"="Free" @="\\Windows\\sqlceca30.dll"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}]
@="SSCE Active Sync Engine Object"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\SSCE Active Sync Engine Object]
@=""
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\ProgID]
@="SSCE Active Sync Engine.3.0"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\InprocServer32]
"ThreadingModel"="Free" @="\\Windows\\sqlceca30.dll"
As everyone can see these are all wrong, when i try to process back from rgu to hv i get error messages, and the only way to get rid of the error messages is to do this:
[HKEY_CLASSES_ROOT\CLSID\{BDE41C5F-EB7D-4c3d-8C9C-12D8F68B24D9}\InprocServer32]
"ThreadingModel"="Free"[HKEY_CLASSES_ROOT\CLSID\{BDE41C5F-EB7D-4c3d-8C9C-12D8F68B24D9}\InprocServer32]
"ThreadingModel"="Free"
@="\\Windows\\sqlceca30.dll"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}]
@="Active SSCE remote data access Object"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}\ProgID]
@="SSCE.RemoteDataAccess.3.0"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}\InprocServer32]
"ThreadingModel"="Free"
@="\\Windows\\sqlceca30.dll"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}]
@="SSCE Active Sync Engine Object"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\SSCE Active Sync Engine Object]
@=""
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\ProgID]
@="SSCE Active Sync Engine.3.0"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\InprocServer32]
"ThreadingModel"="Free"
@="\\Windows\\sqlceca30.dll"
@="\\Windows\\sqlceca30.dll"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}]
@="Active SSCE remote data access Object"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}\ProgID]
@="SSCE.RemoteDataAccess.3.0"
[HKEY_CLASSES_ROOT\CLSID\{86132628-1DA5-489c-9EB9-49B39B9A5583}\InprocServer32]
"ThreadingModel"="Free"
@="\\Windows\\sqlceca30.dll"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}]
@="SSCE Active Sync Engine Object"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\SSCE Active Sync Engine Object]
@=""
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\ProgID]
@="SSCE Active Sync Engine.3.0"
[HKEY_CLASSES_ROOT\CLSID\{455c3e04-bfe9-4089-8622-f2464ec3fddb}\InprocServer32]
"ThreadingModel"="Free"
@="\\Windows\\sqlceca30.dll"
You have to manually site there pressing return all the way through BOTH registry rgu's
what is the problem with this. does anyone else get this?
I have been sat here for 3 hours trying to get all of the entries on separate lines.
there has to be a faster way of doing this?
are you seriously trying to tell my that JJ, Sleuth, Schaps etc etc all sit there for hours pressing return?
No i dont think so, so it is possible that someone can enlighted me as to what i am doing wrong
thanks
bennec83
Ive never experienced any errors with rgu to hv and voce versa conversions. I'm still using CORE's Kitchen!
Set 'Wordwrap' to 'off' when editing if using Notepad.
And make sure you set it to Unicode and not ANSI...
You have to check a few things.
1) REGEDIT4 at the top of the file
2) wordwrap is off
3) Save as Unicode
4) Leave a blank line at the last part.
bernardryan said:
And make sure you set it to Unicode and not ANSI...
You have to check a few things.
1) REGEDIT4 at the top of the file
2) wordwrap is off
3) Save as Unicode
4) Leave a blank line at the last part.
Click to expand...
Click to collapse
Right.
Never 'take for granted' every details.
make sure you have both .dll's present in the directory when you make the conversions (cereg400.dll & msvcr71.dll).
i had similar issues and found out I forgot to copy one of them althou everything "seemed" to work fine.
cheers,
dan
Somewhat related issue ... any help appreciated...
I'm trying to build a package for one of the apps I always use. I have been somewhat successful, but I see (when doing a WinDiff comparison on REG dumps before and after CAB installation), that there are several more Registry Entries created than can be gleaned from the CAB file. Several of these REG entries include a CLSID.
I used one of the online GUID generators to provide me with the GUIDs for the DSM and RGU files ... no problem.
But the CLSID entries already in my registry dumps obviously don't match this ID. So, do I:
1) make the CLSID entries in my RGU to match the ones in my REG dump?, or
2) make the CLSID entries in my RGU the same as the ones generated for my DSM and RGU files?, or
3) Change the GUID numbers on my DSM and RGU to match those of the REG dump?
Does it matter WHICH way I do it? Do my GUID numbers need to match the CLSID numbers at all?
Any help would be greatly appreciated.
Thanks a lot,
-pvs
Came from official htc kaiser, based from pdacorner.v9 and tools from bepe (thanks for him)
OS 5.2.19209 Build 19209.1.0.2
Not included:
- OEMApps
- OEMOperators
You need Microsoft Visual C++ 2008 Redistributable Package to using this kitchen
Updated:
- Added os.nb.payload
- Added initflashfiles.dat
Download PART1
Download PART2
Donations are welcome
Finally, A Kitchen on 19209.
Really thanks abusalza for your enormous Gift
Pouvez-vous poster un autre lien de telechargement svp, je n'arrive pas a telechargder depuis megaupload.
merci!
An other link please, i can't download from megaupload.
Thanks!
Good show sir, id highly recommend everybody making thier own ROMs based on thier own needs. Freedom of choice is always best.
Awesome brother!!!
This 19209 is the best wm6.1 build...thanks!
Quick query for people....anybody getting unhandled exceptions in buildOS?
aswell as buildxip errors?
mrvanx said:
Quick query for people....anybody getting unhandled exceptions in buildOS?
aswell as buildxip errors?
Click to expand...
Click to collapse
yup.......
mrvanx said:
Quick query for people....anybody getting unhandled exceptions in buildOS?
aswell as buildxip errors?
Click to expand...
Click to collapse
yap, i get errors too
same here..
Ive narrowed it down to the OEM folder, however im not sure what the exact issue is. Ive just replaced the OEM stuff with my own from "V10 Roller". Remember to add os.nb.payload into theROM folder or you will get an error when the insert program is run.
Also getting exceptions, tried replacing the OEM folder with a known good one but it's still happening. Any suggestions?
caeci11ius said:
Also getting exceptions, tried replacing the OEM folder with a known good one but it's still happening. Any suggestions?
Click to expand...
Click to collapse
Well, I think I solved this problem.
mrvanx said:
Ive narrowed it down to the OEM folder, however im not sure what the exact issue is. Ive just replaced the OEM stuff with my own from "V10 Roller". Remember to add os.nb.payload into theROM folder or you will get an error when the insert program is run.
Click to expand...
Click to collapse
Thanks to mrvanx's hint, I compared each OEM directories with my old kitchen tools. Then I found some stuff is missing in 'OEM\OEM_Lang_0409' directory.
So I copied my old stuff into it, then Error was gone.
Edit:
Well, I found what the problem is. the 'initflashfiles.dat' is missing in 'OEM\OEM_Lang_0409' directory. If there is 'initflashfiles.dat' even if it is 0 bytes, then this problem is solved.
I dont want to sound dumb here, but where can i get the os.nb.payload file?
curveconcepts said:
I dont want to sound dumb here, but where can i get the os.nb.payload file?
Click to expand...
Click to collapse
Not a stupid question at all....
..download a known working rom based on 19209 (theres a few around)....to get os.nb.payload from it do these following things:
(using the programs in the TOOLS folder in this kitchen)
get the os.nb from the RUU_Signed.nbh file using nbhtool (in TOOLS/HTOOLS)
split the os.nb file into os.nb.payload and os.nb.extra using:
"nbsplit -hermes os.nb" on the command line. (the nbsplit.exe must be in the same dir as os.nb before you do it).
DONE.....slap os.nb.payload into the ROM folder when uve done it.
i've tried to updated my kitchen. fiuh... very hard work. my connection was bad. God help me
Help!
Hello!
Give me please - very confused: (
Downloading kitchen, treasure initflashfiles.dat in OEM_Lang_0409, taking the OS.NP.PAYLOAD from PDACorner V9, run BuildNB.bat
BuildOS compiles all successfully, but further writes:
ImgfsFromNb 2.1RC1
Sector size is 0x200 bytes
ImgFs partition starts at 0x00620000 and ends at 0x04080000
No IMGFS signature found. Exiting.
ImgfsFromDump 2.1rc2
Input file imgfs.bin cannot be opened. Exiting.
ImgfsToNb 2.1RC1
Using bigstoragemove mode
Input file imgfs-new.bin cannot be opened. Exiting.
NBMerge 2.1RC1
Could not open input file OS-new.nb.payload
What am I doing wrong? Give please!
Yet more problems. There seems to be issues with some of the programs in the kitchen. By replacing BuildOS with another version I had around I managed to get it to run and not throw exceptions (tried the other posted solutions but had no luck with them) but it seems another program is giving me issues now. Logs:
Creating 'dump' folder...
Done!
BUILDXIP 0.54 Copyright (c) 2007-2008 bepe 30 Jan 2008
Slot 0 Boundary: 0x01fa0000
Slot 1 Boundary: 0x03e33000
RAMStart: 0x802ac000
RAMFree: 0x802e6000 - 0x83a00000 L0371a000
KernelFlags: 0x00000000
FSRamPercent: 0x00000020
Done!
Copying OS.nb.payload...
1 file(s) copied.
The system cannot execute the specified program.
Could Not Find J:\kitchen\buildpkg.wrn
The system cannot execute the specified program.
ERROR! (errorlevel: 9020)
Press any key to continue . . .
Looking at the batch files, this would indicate me that "all_packages_to_one" and "insert" are having problems (these are the lines where "cannot execute" appears). I thought it might have been a problem with 7zip, which I used to extract the archive but WinRAR has the same issue. No idea what's going on here, it's a very odd problem...
baxxik said:
Hello!
Give me please - very confused: (
Downloading kitchen, treasure initflashfiles.dat in OEM_Lang_0409, taking the OS.NP.PAYLOAD from PDACorner V9, run BuildNB.bat
BuildOS compiles all successfully, but further writes:
ImgfsFromNb 2.1RC1
Sector size is 0x200 bytes
ImgFs partition starts at 0x00620000 and ends at 0x04080000
No IMGFS signature found. Exiting.
ImgfsFromDump 2.1rc2
Input file imgfs.bin cannot be opened. Exiting.
ImgfsToNb 2.1RC1
Using bigstoragemove mode
Input file imgfs-new.bin cannot be opened. Exiting.
NBMerge 2.1RC1
Could not open input file OS-new.nb.payload
What am I doing wrong? Give please!
Click to expand...
Click to collapse
Try a different os.nb.payload fromanother ROM. The one bundled with pandora beta 9 works fine.
caeci11ius said:
Yet more problems. There seems to be issues with some of the programs in the kitchen. By replacing BuildOS with another version I had around I managed to get it to run and not throw exceptions (tried the other posted solutions but had no luck with them) but it seems another program is giving me issues now. Logs:
Creating 'dump' folder...
Done!
BUILDXIP 0.54 Copyright (c) 2007-2008 bepe 30 Jan 2008
Slot 0 Boundary: 0x01fa0000
Slot 1 Boundary: 0x03e33000
RAMStart: 0x802ac000
RAMFree: 0x802e6000 - 0x83a00000 L0371a000
KernelFlags: 0x00000000
FSRamPercent: 0x00000020
Done!
Copying OS.nb.payload...
1 file(s) copied.
The system cannot execute the specified program.
Could Not Find J:\kitchen\buildpkg.wrn
The system cannot execute the specified program.
ERROR! (errorlevel: 9020)
Press any key to continue . . .
Looking at the batch files, this would indicate me that "all_packages_to_one" and "insert" are having problems (these are the lines where "cannot execute" appears). I thought it might have been a problem with 7zip, which I used to extract the archive but WinRAR has the same issue. No idea what's going on here, it's a very odd problem...
Click to expand...
Click to collapse
You can use Microsoft Visual C++ 2008 Redistributable Package.I had the same error end it solved it.
I'm hoping this will be helpful to anyone looking to modify Manila.
Manila 2.5 has all new file paths so the file lists from older versions don't apply. I searched the forums but couldn't find any info on new file names, so I decided to try to put together a new list and this is the result.
This should be a solid base, and I hope that we can build up from here. Anyone who finds new file names please post your findings so we can get a more complete general reference as well as keep it up to date in case of any later changes to Manila.
[APP] Manila Name Finder:
This started out as just some scripts to help me search for names, but has evolved into a proper little program. It can search decompiled mode9 and lua scripts for manila names as well as reconstruct names from localization xmls.
It's not really the most user friendly thing, but it works. The included ReadMe.txt has some basic instructions for use. This tool is also included as part of this Manila Kitchen and that really is the best and easiest way to use it.
I'm also posting the source code. If a future version of Manila breaks the naming scheme again like Manila 2.5, this finder will need to be updated. I'll probably update it but in case I'm MIA someone will hopefully find this source code useful.
Download:
Manila Name Finder v1.0
MNF v1.0 source code (C++)
[REFERENCE] NAME LISTS: Manila 2.5 and 2.1: (a bit outdate right now - will update soon)
You can just paste the lists into m9editor's m9editor.names.txt to get the manila names displayed in m9editor or any manila kitchen which uses on the same m9editor.names.txt for manila names.
Note: Only the file list in the lower left corner of m9editor is affected by adding the new names to the list. The hashed names that appear when you mouse over a file in the editor window aren't affected by this. See the guide below to learn how to get hashed manila names from mode9 files.
Current status of Manila 2.5 list (stats based on Manila 2.5 from Duttys Leo R1 ROM)
Code:
mode9: 69 of 69 ....100.00%
luac: 297 of 318 .....93.39%
qtc: 925 of 1216 .....76.06%
xml: 1220 of 1239 .....98.46%
Current status of Manila 2.1 list (stats based on Manila 2.1.38680)
Code:
mode9: 51 of 51 ....100.00%
luac: 225 of 234 .....96.15%
qtc: 711 of 813 .....87.45%
xml: 1076 of 1081 .....99.57%
Note: Both name lists actually have more files then the stats show. The stats only count the names that translate to valid *_manila names.
Download:
Manila 2.5 Name List (8-Aug-09)
Manila 2.1 Name List
[GUIDE]: Manila 2.5 file names - what changed compared to 2.1 and earlier
The hash algorithm that was used in earlier Manila versions is unchanged in Manila 2.5. What has changed is the directory structure.
In Manila 2.1 all the mode9 files were located in \windows\htc\ (e.g. \windows\htc\home.mode9, \windows\htc\email.mode9), all the images in \windows\hts\assets\images and lua scripts in \windows\htc\scripts.
Manila 2.5 changes this by breaking it up into subdirectories. So home.mode9 is now located in \windows\htc\home\home.mode9. The same \windows\htc\home\ directory is shared by related mode9 files, such as citypicker.mode9 and worldclock.mode9 (full paths: \windows\htc\home\citypicker.mode9, \windows\htc\home\worldclock.mode9). Other mode9 files have different subdirectories e.g. calender.mode9 and calendar_picker.mode9 are located in \windows\htc\calendar\, while email.mode9 is \windows\htc\email\email.mode9 etc.
Now, any files referenced in the mode9 (images and scripts) are also in the same subdirectories. Because Manila uses relative paths, you'll see something like .\assets\images\%imagefilename%.qtc in a mode9 files.
The ".\" is the current directory. If you're editing \windows\htc\home\citypicker.mode9 then the current directory is \windows\htc\home\, so the full path of the image is \windows\htc\home\assets\images\%imagefilename%.qtc.
You might also see this: ..\common\assets\images\%imagefilename%.qtc. "..\" is up one directory. So again if you're editing \windows\htc\home\citypicker.mode9 up one dir from there is \windows\htc\, and the full image path becomes: \windows\htc\common\assets\images\%imagefilename%.qtc
Now that you have the full path you can use this small tool by NisseDILLIGAF to get the hashed name: http://forum.xda-developers.com/show...&postcount=271
2.5 vs. 2.1 compared - example:
Manila 2.1: \windows\htc\email.mode9
Manila 2.5: \windows\htc\email\email.mode9
In both versions the mode9 has a reference to .\Assets\Images\Email\envelopeback.qtc, but the current directory ".\" is different between 2.5 and 2.1, so that:
Manila 2.1 .\ = \windows\htc\
Manila 2.5 .\ = \windows\htc\email\
So the full file names are:
Manila 2.1: \windows\htc\Assets\Images\Email\envelopeback.qtc
Manila 2.5: \windows\htc\Email\Assets\Images\Email\envelopebac k.qtc
And after the hash:
2.1: 77FB7FAD_manila
2.5: 5C5B9C11_manila
You probably have a lot of these already but you never know,
http://rapidshare.com/files/261745557/m9editor.names.txt
I'm curious what you been by an automated way of naming? What method do you use do find the names? Anyway hope this helps, 12
Thanks 12aon, there are 57 new luac files that I didn't have. I'll update the first post.
To find the names I converted all the mode9 files to xml (using sztupy's kitchen) and then wrote a script for UltraEdit to find and copy any paths ending with .luac or .qtc from the mode9.xmls.
I've attached the script below if anyone needs it (only works with UltraEdit).
The process needs some manual intervention in that all collected paths start with ".\" or "..\". The "..\" is always "\windows\htc", but the ".\" is variable - e.g. for all paths found in "\windows\htc\home\%anyfile%.mode9" the .\ needs to be replaced with "\windows \htc\home\" while for "\windows\htc\people\%anyfile%.mode9" the .\ should be "\windows\htc\people\" etc.
I'm trying to do something similar to get the names from lua files.
EDIT: find_in_mode9.zip was attached here. It's redundant. See MNF in first post instead.
Very savvy! Smart, I went the long manual way and though, screw that!
Just finished searching the lua scripts: got 297 valid luac file names. First post updated.
I attached the UltraEdit script I used for the search, in case anyone might need it.
Funny thing is the search turned up more results (322 total) but they couldn't all be matched to manila files. Not sure if this is due to the pre-release state of Manila 2.5 or some bugs in my search script.
Anyway, 93.39% of lua scripts accounted for so I'm happy with that
EDIT: find_in_lua.zip was attached here. It's redundant. See MNF in first post instead.
you should run these on the 2.1 manila also there are a couple of names still missing there too, 12
Just went through the Manila 2.1 files. Got about 190 new names. Everything is attached in first post.
Also, I think I have a good way to reconstuct the Manila 2.5 xml names. Should have the script done soon.
thanks a lot cookiemonster
was looking for a way to fix pixellated backgrounds in leo roms
u r simply great !!
keep up the good work
what i do!
i found that adding a .\home for any file in the home,mode9 files gives the right name..so also in internet.. .\internet
same in others.
i open my files in m9editor add them manually and make my mods.
so the files i s ok then
Got 1220 xmls named. New list up.
As before the UltraEdit script I used is attached below. This one is a little different then the last two. Because the xmls aren't named specifically in any file, the script reconstructs the name from within the xml and then gets the path from a list of mode9 files. These scripts really aren't as refined as they should be, but they got the job done.
The qtc files are still missing quite a few names, but I think that this is mostly because Manila 2.5 i still in development i.e. most of the artwork is created but not yet implemented.
EDIT: reconstruct_xml.zip was attached here. It's redundant. See MNF in first post instead.
GREAT WORK!!!!... I have been looking for something like this. It is wonderful to see it here... and hopefully it will be turned into a wiki or somethin'.
Great Work,
SoBBie
does anyone know where to get the actual 2.5 oem packages for manila? I am playing with the beta from the XOR ROM.
OK Found a Leo Update with a manila version. dont think it is 2.6 but it is at least 2.5. I was tryingt o go through and convert all the paths to manila names in an excel (I would be happy to share if someone wants it, it is not complete yet) but I noticed that there are MANY MANY VGA files already there. even luac files like \windows\htc\Weather\Scripts\Weather\WeatherGizmo_VGA.luac
Does this mean that HTC anticipated this being ported to VGA and gave us a head start? That would be GREAT!!!!!!!!!!... Anyway any answer to this would be great... I am going to start by looking through the VGA stuff. I do not see a home_VGA file but not sure yet.
Thanks,
SoBBie
supersobbie said:
OK Found a Leo Update with a manila version. dont think it is 2.6 but it is at least 2.5. I was tryingt o go through and convert all the paths to manila names in an excel (I would be happy to share if someone wants it, it is not complete yet) but I noticed that there are MANY MANY VGA files already there. even luac files like \windows\htc\Weather\Scripts\Weather\WeatherGizmo_VGA.luac
Does this mean that HTC anticipated this being ported to VGA and gave us a head start? That would be GREAT!!!!!!!!!!... Anyway any answer to this would be great... I am going to start by looking through the VGA stuff. I do not see a home_VGA file but not sure yet.
Thanks,
SoBBie
Click to expand...
Click to collapse
I've noticed a lot of lua scripts in both Manila 2.5 and 2.1 that have some form of the following:
Code:
if _application.Store:GetStringValue(Lifetime_Permanent, "VGAManila") == "true" then
VGALayout()
About 90 lua scripts in Manila 2.1.38680 contain "VGAManila", and about 80 have it in Manila 2.5.duttysLeoR1.
HTC is making a new VGA device (Tachi) so that's probably the reason. Should make porting to VGA as easy as switching "VGAManila" to "true".
Co0kieMonster said:
I've noticed a lot of lua scripts in both Manila 2.5 and 2.1 that have some form of the following:
Code:
if _application.Store:GetStringValue(Lifetime_Permanent, "VGAManila") == "true" then
VGALayout()
About 90 lua scripts in Manila 2.1.38680 contain "VGAManila", and about 80 have it in Manila 2.5.duttysLeoR1.
HTC is making a new VGA device (Tachi) so that's probably the reason. Should make porting to VGA as easy as switching "VGAManila" to "true".
Click to expand...
Click to collapse
Co0kieMonster GreatNews!!!!!!!! There are now 2 people that love you in my household! of course one is a 2 yr old ;P Thanks I think I can take a look at some of those to see if I can port some of this to 2.1 maybe :\ it has been tough.
Thanks,
SoBBie
EDIT:
OK Now on to actually decompiling.... The people in this thread seem to be some of the best decompilers so I thought I would as the question here. I am trying to play with the AgendaView lua File 1ECF3290_manila. I downloaded the latest kitchen from 12 (3.00.06). I copy that file to the Tools folder and run the following two commands:
luadec 1ECF3290_manila > 1ECF3290_manila.lua
compare 1ECF3290_manila 1ECF3290_manila.lua 1>1ECF3290_manila.log.txt 2>1ECF3290_manila.error.txt
I end up with an empty error text and a log file that ends with:
Opcodes in original: 30
Same lines in both files: 0 0%
Same opcodes in files: 0 0%
Different
Global:
Opcodes in original: 1527
Same lines in both files: 0 0%
Same opcodes in files: 0 0%
How? does the luadec not work with 2.5 yet? am I doing somethin wrong? I, for some reason can not use the 01_Decompile.cmd (which is a separate conversation) so I took the actual commands from there and ran them manually. I could understand a few but EVERYTHING is different? Any help would be greatly appreciate. if this is the wrong place to have the discussion then please pm me.
Co0kieMonster said:
I've noticed a lot of lua scripts in both Manila 2.5 and 2.1 that have some form of the following:
Code:
if _application.Store:GetStringValue(Lifetime_Permanent, "VGAManila") == "true" then
VGALayout()
About 90 lua scripts in Manila 2.1.38680 contain "VGAManila", and about 80 have it in Manila 2.5.duttysLeoR1.
HTC is making a new VGA device (Tachi) so that's probably the reason. Should make porting to VGA as easy as switching "VGAManila" to "true".
Click to expand...
Click to collapse
Yes a tachi with landscapemode will be released but I don't if it's going to be 2.1 or 2.5/6. In the tachi files the code to switch between VGA and WVGA were two register entries, might be the same for the leo files.
supersobbie said:
Co0kieMonster GreatNews!!!!!!!! There are now 2 people that love you in my household! of course one is a 2 yr old ;P Thanks I think I can take a look at some of those to see if I can port some of this to 2.1 maybe :\ it has been tough.
Thanks,
SoBBie
EDIT:
OK Now on to actually decompiling.... The people in this thread seem to be some of the best decompilers so I thought I would as the question here. I am trying to play with the AgendaView lua File 1ECF3290_manila. I downloaded the latest kitchen from 12 (3.00.06). I copy that file to the Tools folder and run the following two commands:
luadec 1ECF3290_manila > 1ECF3290_manila.lua
compare 1ECF3290_manila 1ECF3290_manila.lua 1>1ECF3290_manila.log.txt 2>1ECF3290_manila.error.txt
I end up with an empty error text and a log file that ends with:
Opcodes in original: 30
Same lines in both files: 0 0%
Same opcodes in files: 0 0%
Different
Global:
Opcodes in original: 1527
Same lines in both files: 0 0%
Same opcodes in files: 0 0%
How? does the luadec not work with 2.5 yet? am I doing somethin wrong? I, for some reason can not use the 01_Decompile.cmd (which is a separate conversation) so I took the actual commands from there and ran them manually. I could understand a few but EVERYTHING is different? Any help would be greatly appreciate. if this is the wrong place to have the discussion then please pm me.
Click to expand...
Click to collapse
No I think you overlooked something, are you using my kitchen? In my kitchen there should be an error log that has a line that compare.exe can't get passed. Sometimes it's as easy as just removing a double end statement and sometimes you gotta dig into the disassembly output to see what the function in the script is actually trying to do. Worst case you'll be up against conditional statements. You just gave me a new idea to simplify my kitchen I'll give the output files after decompiling in my kitchen a number that identifies the order in which to handle them, good luck, 12
This should make searching for new names a bit easier
See first post for download.
[APP] Manila Name Finder:
This started out as just some scripts to help me search for names, but has evolved into a proper little program. It can search decompiled mode9 and lua scripts for manila names as well as reconstruct names from localization xmls.
It's not really the most user friendly thing, but it works. The included ReadMe.txt has some basic instructions for use. This tool is also included as part of this Manila Kitchen and that really is the best and easiest way to use it.
I'm also posting the source code. If a future version of Manila breaks the naming scheme again like Manila 2.5, this finder will need to be updated. I'll probably update it but in case I'm MIA someone will hopefully find this source code useful.
thanku very much!
Quick question:
Does the actual filename of the xxxxxxxx_manila relate to the name too? i.e. the xxxxxxxx number is a hexadecimal HASH of the internal name?
I'm asking because I'm writing some manila editing tutorials and at some point I will be creating manila files and I'd like to name them correctly (also without using another name already in use elsewhere).
EDIT: Ok the aptly named manilaHASH tool answered that nicely for me when I tried it. \windows\iamafish -> 557FE52A_manila
Thanks. Excellent work by the way.
and what about names started with " .\..\" or "..\..\" ?
Think I may have found something. I've been trying to port the MyFaves Page from Sense 2.1 to Sense 2.5. Been having problems because of the whole renaming issue. So, I edited the 26948339_manila & ManilaFull.xml to use the old Mode9 filepaths for the Page & it's icon. It loaded but the icon was missing. So i copied in the images from Sense 2.1 & it used them. I think the whole renaming thing is linked to those xml's if you use the old Mode9 filepaths, it looks for the old image files paths as well.
example:
When I used;
Code:
<Page Order="1" Name="myfaves.page" PackageName="HTC" Title="MyFaves" >
<ComponentReference Name="page" Mode9Path="[COLOR="#ff0000"]HTC\Myfaves\MyFaves.mode9[/COLOR]" Component="GizmoRoot" SmartComponent="true" />
<ComponentReference Name="icon_normal" Mode9Path="[COLOR="#ff0000"]HTC\Manila\myfavesicon.mode9[/COLOR]" Component="MyFaves_Off" />
<ComponentReference Name="icon_selected" Mode9Path="[COLOR="#ff0000"]HTC\Manila\myfavesicon.mode9[/COLOR]" Component="MyFaves_On" />
<ComponentReference Name="icon_preview" Mode9Path="[COLOR="Red"]HTC\Manila\myfavesicon.mode9[/COLOR]" Component="MyFaves_Preview" />
</Page>
it used the new Filepath Hashnames (\Windows\HTC\MyFaves\Assets\Images\MyFaves\VGA\"ImageName".qtc).
But, if I use;
Code:
<Page Order="1" Name="myfaves.page" PackageName="HTC" Title="MyFaves" >
<ComponentReference Name="page" Mode9Path="[COLOR="#ff0000"]HTC\MyFaves.mode9[/COLOR]" Component="GizmoRoot" SmartComponent="true" />
<ComponentReference Name="icon_normal" Mode9Path="[COLOR="#ff0000"]HTC\myfavesicon.mode9[/COLOR]" Component="MyFaves_Off" />
<ComponentReference Name="icon_selected" Mode9Path="[COLOR="#ff0000"]HTC\myfavesicon.mode9[/COLOR]" Component="MyFaves_On" />
<ComponentReference Name="icon_preview" Mode9Path="[COLOR="#ff0000"]HTC\myfavesicon.mode9[/COLOR]" Component="MyFaves_Preview" />
</Page>
It used the old Sense 2.1 Filepath Hashnames (\Windows\HTC\Assets\Images\MyFaves\VGA\"ImageName".qtc).
What this all basically means is, ".\" didn't change meaning. It means from the Mode9's filepath. So if Mode9 is in "\Windows\htc\", than ".\" = "\Windows\htc\". If the mode9 is in "\Windows\htc\Myfaves\", than ".\" means "\Windows\htc\Myfaves\".
EDIT: This does NOT seem to effect Script Filepaths...
Purpose:
This purpose of this VBScript is to process and organize data in RGU/REG files to remove duplicates, identify faulty entries, and move entries to ascending alphabetical order (the same way it is displayed in a registry editor).
Requirements:
Windows Scripting Host (included in most versions of windows)
rgucomp.exe and cereg400.dll located somewhere in your path (same folder as the script probably won't work if the script is run from another folder)
.reg and .rgu files are expected to be UTF-16LE with BOM
Usage:
Drag a .rgu, .reg, or .hv onto RGUber.vbs OR run "wscript.exe RGUber.vbs example.rgu"
Details:
When an rgu|reg file is specified, RGUber will:
1) create backup of input file
2) rename input file to boot.rgu
3) use rgucomp to convert it to *.hv
4) use rgucomp to convert new .hv to original rgu path\name
5) Reorder all keys in ascending alphabetical order and all values for each key in ascending alphabetical order with default value first
When an hv file is specified, RGUber will:
1) use rgucomp to convert it to *.rgu
2) Reorder all keys in ascending alphabetical order and all values for each key in ascending alphabetical order with default value first
Options
Open RGUber.vbs in your favorite text editor. All options are set at the beginning with (hopefully) meaningful descriptions.
Code:
'//Path to rgucomp (leave this as default if rgucomp.exe is located in your system path)
Const RGUCOMP = "rgucomp.exe"
'//Path to notepad, only needed if %OPENAFTER% is true
Const NOTEPAD = "notepad.exe"
'//The following options can be set to True/False or 0/1
'//Organize registry entries in ascending alphabetical order
Const REORDER = True
'//Open in %NOTEPAD% after conversion is done
Const OPENAFTER = False
'//Save any errors from rgu -> hv conversion
Const LOGERRORS = True
'//Save a backup copy of %INPUTRGU% as "%INPUTRGU%_Backup.rgu"
Const BACKUPRGU = True
Other info
If target file already exists, RGUber will ask if you want to overwrite.
Text files (the MS way) typically contain CRLF for next line. Output from rgucomp.exe contains many CRCRLF. RGUber removes the extra CR.
I have very few comments in the code. If requested, I will upload another copy with as many detailed comments as I can manage.
I tried to code this as efficiently as VBScript can possibly be. I kept getting errors when trying to run 'rgucomp.exe -b -nologo' so instead of running it directly, RGUber creates a bat file, executes it, then deletes it.
On my AMD Phenom 9600 with Vista64 and 3 SATA in Raid5, RGUber completes rgu->hv->rgu of 2084 lines in <3s
RGUber always saves output from rgu->hv conversion but deletes the file if there were no errors.
RGUber crashes on files with no reg entries (e.g. empty app.reg in an EXT package that does not add any registry entries)
Changelog:
v1.21a
Values are now sorted in alphabetical order for each key
v1.2
Replaced Organize function with one from RGUOrder
Lost ability to reorder values for each key (To be readded in next version)
v1.1
Fixed a bug with removing hashdata from output (RGUber would mix data from two keys under one)
Changed sorting algorith with a much faster one
v1.02
Added option to remove RegistryUpdate key from rgucomp output
Fixed a typo where RGUber was not removing the system attribute from input rgu files
v1.01
Fixed typo where RGUber was waiting for backup file instead of log file
Change 'Done' msgbox to one that shows beginning time and ending time
v1.0
Initial Release
RGUOrder v1.4
This script will only reorder the contents of an rgu without processing with RGUComp, thereby keeping comments and delete key entries. RGUComp/cereg400.dll are not needed to use this app.
Changelog:
v1.4
Fixed a bug where if the original rgu did not end with a new line then the last entry after being sorted would be lost.
Fixed two bugs where only the first 25 tabs and first 25 spaces would be removed before sorting (This did not affect data integrity or performance, but the checksum would be different each time you run the output back through RGUOrder until all the original tabs/spaces were removed)
Added code to prevent multiple entries of the same key from being reordered
Fixed other miscellaneous bugs/oddities introduced with v1.3
v1.3
Added code to add a delete key for each subkey of a deleted key so that when reordered, the key deletion isn't broken
v1.2
Fixed a bug where the last key processed was being concatenated to another with no CRLF producing an invalid rgu file
I'm not sure if this relates to your app but I have a small question:
If a dumped a rom (raw, not kitchen type) and removed several apps/programs but did not clean the registry (very tedious), will this help me clean it up (remove dead paths, etc)?
And if so, how will it know just by dragging the .hv file? I mean how will your app know if a registry entry does not have the app/program included in the rom anymore?
Please forgive me if my question does not relate to your app
There is no way for my app to know, it isnt that smart
It would take an extensive app/database to know which keys are related to which apps.
Thanks for this post
updated to v1.1
v1.02 had a bug in the code which removed hash data from output which made it mix data from the key before it with the key after it
If I ever get around to updating again, I will use hvedit instead of rgucomp
I get an error.
Script: D:\RGUber.vbs
Line: 136
Char: 2
Error: File not found
Code: 800A0035
Source: Microsoft VBScript runtime error
Any reason why?
I attach the file i want to sort alphabetically.
I have no idea
It worked for me with no problem (file attached)
Please tell me the location of RGUber.vbs and of 51329f91-0017-4364-bcff-e032c5d45b01.rgu
Great application bro!!
Only limitation is that I have to put reg400.dll and rgucomp in C:\windows
c_shekhar said:
Great application bro!!
Only limitation is that I have to put reg400.dll and rgucomp in C:\windows
Click to expand...
Click to collapse
yeah, I tried to get around that but I didn't find anything feasible with vbscript :-/
Actually, they don't have to go in C:\windows
I reinstall windows regularly so I keep as many apps portable as I can. I have a bin folder on another partition that I add to the system path variable after a new install for stuff like this.
selyb said:
yeah, I tried to get around that but I didn't find anything feasible with vbscript :-/
Actually, they don't have to go in C:\windows
I reinstall windows regularly so I keep as many apps portable as I can. I have a bin folder on another partition that I add to the system path variable after a new install for stuff like this.
Click to expand...
Click to collapse
can you elaborate this a bit more. Because I too would like a similar arranfements...
My C:\ partition has Vista64
My F:\ partition has all my documents, downloads, music, movies, etc and a folder F:\bin\
F:\bin contains >100 downloaded command line programs and vbs scripts that I have written including
RGUber.vbs
lame.exe
rgucomp.exe
cereg400.dll
FixVTS.exe
faad.exe
nuerecmod.exe
Tag.exe
find Advanced System Properties (I can't remember how, it's different for XP/Vista/7) go to the Advanced tab and hit the Environment Variables button
Under system variables, scroll down to 'Path', double click it. This defines your 'system path'. It contains a list of folders separated by semicolon ";". At the end, add a semicolon and the path to the folder you want to add (e.g. ;F:\bin) after that, hit ok. XP may need to reboot to reflect the change but I'm not sure. Vista and 7 are affected immediately.
With this setup, you can open a command prompt in any folder on your computer and type "RGUber.vbs xyz.rgu" and it would work as if all the files are in that folder.
Thanks a lot bro!!!
I am grateful...
I'd really like to use this, but unfortunately I get this error regardless of the app.reg I drag onto the script:
Script: C:\RGUber\RGUber.vbs
Line: 232
Char: 3
Error: The system cannot find the path specified.
Code: 80070003
Source: (null)
Thanks if you can advise.
Quetzecotyl said:
I'd really like to use this, but unfortunately I get this error regardless of the app.reg I drag onto the script:
Script: C:\RGUber\RGUber.vbs
Line: 232
Char: 3
Error: The system cannot find the path specified.
Code: 80070003
Source: (null)
Thanks if you can advise.
Click to expand...
Click to collapse
Hmmm... this line asks the system for what is in the %temp% variable and attempts to change the working directory to the result.
Open RGUber.vbs in notepad and go to line 232
Modify
Code:
WSH.CurrentDirectory = WSH.Environment("SYSTEM")("temp")
to
Code:
WSH.CurrentDirectory = "C:\RGUber\"
then try again
Works great after your fix, selyb. Thank you for this useful app and your many helpful contributions to the Kaiser forums.
Quetzecotyl said:
Works great after your fix, selyb. Thank you for this useful app and your many helpful contributions to the Kaiser forums.
Click to expand...
Click to collapse
Yeah, I may relocate from Kaiser forums to Rhodium. I have an AT&T Tilt 2 in the mail to me ATM
Grats on getting a Rhodium. Found a question after using it for a while. This is just one example of such behavior, but why does:
Code:
[HKEY_CURRENT_USER\Software\HTC\TaskManager\ExclusiveList\System]
"CMBandSwitching.exe"=dword:0
get turned into:
Code:
"CMBandSwitching.exe"=dword:0
How do I make it regard CURRENT_USER keys?
Quetzecotyl said:
Grats on getting a Rhodium. Found a question after using it for a while. This is just one example of such behavior, but why does:
Code:
[HKEY_CURRENT_USER\Software\HTC\TaskManager\ExclusiveList\System]
"CMBandSwitching.exe"=dword:0
get turned into:
Code:
"CMBandSwitching.exe"=dword:0
How do I make it regard CURRENT_USER keys?
Click to expand...
Click to collapse
I had this problem with an earlier version. If you are using v1.1 then please attach the original rgu/reg. I have tried and I can't seem to reproduce it since I fixed it already.
Please, replace rgucomp with hvedit . I really need your help because rgucomp doesn't work for me . Thanks in advance .
tomcug said:
Please, replace rgucomp with hvedit . I really need your help because rgucomp doesn't work for me . Thanks in advance .
Click to expand...
Click to collapse
why doesn't rgucomp work? I would be surprised to learn that hvedit will work when rgucomp won't.