After spending several hours messing around with the /Windows/OperaL.exe file to no avail, I finally figured out how to make the new Opera Mobile 10 the default browser, so that bookmarks launched from Manila's Internet tab will open there and not in Opera 9.x. It's actually very easy.
First, copy the entire contents of the /Program Files/Opera Mobile 10 folder into the /Windows folder. It's important to copy more than just the .exe file, otherwise the program won't launch.
Next, use a registry editor to change
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\OperaL.exe"
to
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera10-armv4i.exe"
Finally, soft reset and you should be all set. There are probably other ways of doing this; please share any other methods you may know.
Update: this method doesn't seem to be working for everyone; suggest you read the entire thread, as Dsixda has kindly posted a CAB which makes multiple registry changes. Also, see posts #2 and 3 for an alternate method that has worked for some.
thekingevrock said:
After spending several hours messing around with the /Windows/OperaL.exe file to no avail, I finally figured out how to make the new Opera Mobile 10 the default browser, so that bookmarks launched from Manila's Internet tab will open there and not in Opera 9.x. It's actually very easy.
First, copy the entire contents of the /Program Files/Opera Mobile 10 folder into the /Windows folder. It's important to copy more than just the .exe file, otherwise the program won't launch.
Next, use a registry editor to change
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\OperaL.exe"
to
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera10-armv4i.exe"
Finally, soft reset and you should be all set. There are probably other ways of doing this; please share any other methods you may know.
Click to expand...
Click to collapse
I have not tried this my self but couldn't you just change the registry to /HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera Mobile 1-\Opera10-armv4i.exe"
hchavarria said:
I have not tried this my self but couldn't you just change the registry to /HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera Mobile 1-\Opera10-armv4i.exe"
Click to expand...
Click to collapse
I think you mean /Program Files instead of /Windows, and it's a good point -- I didn't even try that. Guess I'm just used to always having my main Opera.exe in the Windows folder.
hchavarria said:
I have not tried this my self but couldn't you just change the registry to /HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera Mobile 1-\Opera10-armv4i.exe"
Click to expand...
Click to collapse
Well, this didn't work for some reason (yes, I corrected the path to Program Files). HTC Touch Pro (CDMA).
jheiselman said:
Well, this didn't work for some reason (yes, I corrected the path to Program Files). HTC Touch Pro (CDMA).
Click to expand...
Click to collapse
It worked fine for me. I set it to "\Program Files\Opera Mobile 10\Opera10-armv4i.exe" and it worked perfectly. Both Launch Browser and the favorite icons worked. For reference, I am on a Touch Pro with Manila 2.5.
I installed Opera 10 Beta to my storage card (omnia i910). any thoughts on how to properly reference a storage card from the registry? I've tried:
"\My Storage\Program Files\Opera Mobile 10\Opera10-armv4i.exe"
&
"\\My Storage\Program Files\Opera Mobile 10\Opera10-armv4i.exe"
&
"My Storage\Program Files\Opera Mobile 10\Opera10-armv4i.exe"
None work. Any thoughts?
Sorry guys, but doesn't work on my Raphael with Cracing's CR192 Touch HD™ v6.5.0.0.5 ROM and Manila 2.1.38680.1
skinneejoe said:
I installed Opera 10 Beta to my storage card (omnia i910). any thoughts on how to properly reference a storage card from the registry? I've tried:
"\My Storage\Program Files\Opera Mobile 10\Opera10-armv4i.exe"
&
"\\My Storage\Program Files\Opera Mobile 10\Opera10-armv4i.exe"
&
"My Storage\Program Files\Opera Mobile 10\Opera10-armv4i.exe"
None work. Any thoughts?
Click to expand...
Click to collapse
I think it should be \Storage Card\Program Files\.......
I should add that Opera 10 did take over most of my handlers/file types, but did take over whichever one is responsible for the "Internet" button in TouchFlo 3D.
thekingevrock said:
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\OperaL.exe"
to
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera10-armv4i.exe"
Click to expand...
Click to collapse
Click to expand...
Click to collapse
The essential component.
Any other solutions ?
I've tried all but nothing.
I have Manila 2.1 !
I found opera 10 had already changed this entry!!
Works if you click launch browser and search but not for favourites. I've just added my fav's to opera's tiles. What an awesome browser though!
..autorotation how?
andolfree said:
..autorotation how?
Click to expand...
Click to collapse
There's a cab file for this particular problem: take a look.
Hopefully someone can help me making Opera Mobile 10 Beta the default browser in the manila internet tab. The solutions posted here don't work for me, because it keeps telling me that the program is not signed with a trustet certificate. I had this issue with Opera 9 before but found a workaround which worked fine. Doesn't work for Opera 10 though. Any ideas?
All Opera Mobile versions: Official thread
thekingevrock said:
After spending several hours messing around with the /Windows/OperaL.exe file to no avail, I finally figured out how to make the new Opera Mobile 10 the default browser, so that bookmarks launched from Manila's Internet tab will open there and not in Opera 9.x. It's actually very easy.
First, copy the entire contents of the /Program Files/Opera Mobile 10 folder into the /Windows folder. It's important to copy more than just the .exe file, otherwise the program won't launch.
Next, use a registry editor to change
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\OperaL.exe"
to
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera10-armv4i.exe"
Finally, soft reset and you should be all set. There are probably other ways of doing this; please share any other methods you may know.
Click to expand...
Click to collapse
Thanks a lot!
Added to the official thread
http://forum.xda-developers.com/showthread.php?p=3377345#post3377345
corrected the path to Program Files
thekingevrock said:
Next, use a registry editor to change
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\OperaL.exe"
to
/HKLM/Software/Microsoft/Shell/Rai/EFBROWSER/1/"\Windows\Opera10-armv4i.exe"
Finally, soft reset and you should be all set. There are probably other ways of doing this; please share any other methods you may know.
Click to expand...
Click to collapse
On my device (Kaiser, WM 6.5.1 23053), Opera 10 changed that setting for me after installing (on SD) and it works.
Content of /HKLM/Software/Microsoft/Shell/Rai/:DEFBROWSER
0 = Opera Browser
1 = "\Storage Card\Program Files\Opera Mobile 10\Opera10-armv4i.exe"
2 = 1
3 = 0
Hi there,
I'm trying to use this with UC_Setup. Somehow it doesn't work. here's my opera.xml file:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\Software\Microsoft\Shell\Rai\EFBROWSER" />
<parm name="0" datatype="string" value="Opera Browser" />
<parm name="1" datatype="string" value=""\Program Files\Opera Mobile 10\Opera10-armv4i.exe"" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
I also tried the name="1" line with:
<parm name="1" datatype="string" value='"\Program Files\Opera Mobile 10\Opera10-armv4i.exe"' />
Also no success. Can someone help me?
What does not work ? the UC_Setup or the default browser ?
There may be another way to escape the double quotes.
Below are the values that are set by Opera Mobile 10 in the registry... I cooked them into my ROM and they work (I'm using a Touch HD with mostly Diamond2 OEMs).
I have attached a CAB file in case you need it.
EDIT: The line quoted below with "DEFBROWSER" in it has a space after the D, due to the formatting limitations of this site for long words. Just take out the space.
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Opera10]
[HKEY_LOCAL_MACHINE\Software\Opera10\Settings]
"LandScapeBackup"=dword:00000000
[HKEY_LOCAL_MACHINE\Software\Opera10\Info]
"OperaWindowClass"="OM10-ML-MainWndClass"
"InstallPath"="\\Program Files\\Opera Mobile 10\\"
"OperaExeName"="Opera10-armv4i.exe"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Shell\Rai\EFBROWSER]
"1"="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\""
"0"="Opera Browser"
"3"=dword:00000000
"2"=dword:00000001
[HKEY_CLASSES_ROOT\wsp]
@="Wireless Session Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\wsp\Shell]
[HKEY_CLASSES_ROOT\wsp\Shell\Open]
[HKEY_CLASSES_ROOT\wsp\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" %1"
"backup"="iexplore.exe %1"
[HKEY_CLASSES_ROOT\file]
@="File Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\file\Shell]
[HKEY_CLASSES_ROOT\file\Shell\Open]
[HKEY_CLASSES_ROOT\file\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" %1"
"backup"="iexplore.exe %1"
[HKEY_CLASSES_ROOT\ftp]
@="File Transfer Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\ftp\Shell]
[HKEY_CLASSES_ROOT\ftp\Shell\Open]
[HKEY_CLASSES_ROOT\ftp\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" %1"
"backup"="iexplore.exe %1"
[HKEY_CLASSES_ROOT\https]
@="Secure HyperText Transfer"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\https\Shell]
[HKEY_CLASSES_ROOT\https\Shell\Open]
[HKEY_CLASSES_ROOT\https\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" %1"
"backup"="iexplore.exe %1"
[HKEY_CLASSES_ROOT\http]
@="HyperText Transfer Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\http\Shell]
[HKEY_CLASSES_ROOT\http\Shell\Open]
[HKEY_CLASSES_ROOT\http\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" %1"
"backup"="iexplore.exe %1"
[HKEY_CLASSES_ROOT\htmlfile]
@="HTML Document"
"EditFlags"=dword:00010000
[HKEY_CLASSES_ROOT\htmlfile\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="browsres.dll,-6703"
[HKEY_CLASSES_ROOT\htmlfile\Shell]
[HKEY_CLASSES_ROOT\htmlfile\Shell\Open]
[HKEY_CLASSES_ROOT\htmlfile\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="iexplore.exe file:%1"
[HKEY_CLASSES_ROOT\wmlcfile]
@="WML Document"
"EditFlags"=dword:00010000
[HKEY_CLASSES_ROOT\wmlcfile\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="browsres.dll,-6703"
[HKEY_CLASSES_ROOT\wmlcfile\Shell]
[HKEY_CLASSES_ROOT\wmlcfile\Shell\Open]
[HKEY_CLASSES_ROOT\wmlcfile\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="iexplore.exe file:%1"
[HKEY_CLASSES_ROOT\wmlfile]
@="WML Document"
"EditFlags"=dword:00010000
[HKEY_CLASSES_ROOT\wmlfile\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="browsres.dll,-6703"
[HKEY_CLASSES_ROOT\wmlfile\Shell]
[HKEY_CLASSES_ROOT\wmlfile\Shell\Open]
[HKEY_CLASSES_ROOT\wmlfile\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="iexplore.exe file:%1"
[HKEY_CLASSES_ROOT\xmlfile]
@="XML Document"
"EditFlags"=dword:00010000
[HKEY_CLASSES_ROOT\xmlfile\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="browsres.dll,-6707"
[HKEY_CLASSES_ROOT\xmlfile\Shell]
[HKEY_CLASSES_ROOT\xmlfile\Shell\Open]
[HKEY_CLASSES_ROOT\xmlfile\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="iexplore.exe file:%1"
[HKEY_CLASSES_ROOT\icoimage\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="iexplore.exe,-1005"
[HKEY_CLASSES_ROOT\icoimage\Shell]
[HKEY_CLASSES_ROOT\icoimage\Shell\Open]
[HKEY_CLASSES_ROOT\icoimage\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="iexplore.exe file:%1"
[HKEY_CLASSES_ROOT\xhtmlfile]
@="XHTML Document"
"EditFlags"=dword:00010000
[HKEY_CLASSES_ROOT\xhtmlfile\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="browsres.dll,-6703"
[HKEY_CLASSES_ROOT\xhtmlfile\Shell]
[HKEY_CLASSES_ROOT\xhtmlfile\Shell\Open]
[HKEY_CLASSES_ROOT\xhtmlfile\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="iexplore.exe file:%1"
[HKEY_CLASSES_ROOT\xslfile]
@="XML Document"
"EditFlags"=dword:00010000
[HKEY_CLASSES_ROOT\xslfile\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="browsres.dll,-6708"
[HKEY_CLASSES_ROOT\xslfile\Shell]
[HKEY_CLASSES_ROOT\xslfile\Shell\Open]
[HKEY_CLASSES_ROOT\xslfile\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="iexplore.exe file:%1"
[HKEY_CLASSES_ROOT\wbmpfile]
@="Wireless Bitmap Image"
"EditFlags"=dword:00010000
[HKEY_CLASSES_ROOT\wbmpfile\DefaultIcon]
@="\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe,-103"
"backup"="browsres.dll,-6705"
[HKEY_CLASSES_ROOT\wbmpfile\Shell]
[HKEY_CLASSES_ROOT\wbmpfile\Shell\Open]
[HKEY_CLASSES_ROOT\wbmpfile\Shell\Open\Command]
@="\"\\Program Files\\Opera Mobile 10\\Opera10-armv4i.exe\" /Unescaped file:%1"
"backup"="pimg.exe \"%1\""
Click to expand...
Click to collapse
Related
I just installed BB41full and everything works fine, i did the regs mods by tom (storage card issue), but after softreset the regs mods gone away, for my tests i created a text file (below) (bb41.reg) and saved it on my mobile.
i "executed" it, it asks if i want to import and i clicked OK, but when i checked with phm registry, the import dont work.
anyone could help me?
ps: sorry my english
bb41.reg
--------
REGEDIT4
[HKEY_LOCAL_MACHINE\System\Inbox\Settings]
"PropertyPath"="\\Program Files\\Mail"
"AttachPath"="\\Program Files\\Mail\\Attachments"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows CE Services]
"FileSyncPath"="\\My Documents"
[HKEY_CURRENT_USER\ControlPanel\SoundCategories\Ring]
"Directory"="\\Windows"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"Cache"="\\Program Files\\Temp\\cacheie"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
"History"="\\Program Files\\Temp\\History"
"Cookies"="\\Program Files\\Temp\\Cookies"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Inbox\Settings]
"SMSNoSentMsg"=dword:0
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\HTCHome]
"Tabsetting"="1,2,3,4,5,6"
what i did...
please install a free registry editor ...then your pda knows the file association(?)
thats the quickest way to do it
m
i tested with phm registry (the one comes bb41) and resco registry
im not sure but the registry mods survive after softreset worked now, i think i have to do a sync first.
TRE
Use TRE, look here: http://forum.xda-developers.com/showpost.php?p=1470867&postcount=366
What is UC? It is a feature contained in UC capable ROMs. A UC capable ROM extends initial customization to your SD card so you can load cabs and install XML files that are located there too. What this means is that once you get your customization scripts right, you can flash any UC capable ROM and all your apps and settings will be restored as part of the initial customization process whenever your SD card is inserted in the slot.
Here's a sampling of UC capable ROMs:
Himalaya ROMs
Ather's WM 6.1 Diamond Edition
Kaiser ROMs
Kareem's REVROM v3.33
SNE V2.5 - Optimized Video
udK 7.0 R2 Vega - WWE+ITA
Mobile Vista v1.1 by Confused Stu
v1.2 Sleuth
v3.0 Sleuth
[Mar 04 08] Dutty's Official WM6.1 5.2.19716 UC RTM
[Mar 07 08] Dutty's Official WM6.1 5.2.19199 UC RTM
Laurentius26's L26 WM 6.1 Professional v6A WWE
XTRM-1.62-6.0X
akadonny's 3.08.DKv1.2 WM6.1 ROMs
maja's T.I.R. v3.0 - BLUE WOLF - WM6.1
Alex's v5.2 ROMs
Herald ROMs
ASerg.WM6.1.WWE
itje's Touch-IT v6.1.3 - Clean
JustClean - The New EasyBakeOven - Beta 1
Vogue ROMs
Mr.jcarter's Custom Rom v2 (ppcgeeks developer!)
ghettofreeryder rom v3 (ppcgeeks developer!)
OMJ's WM6.1 Custom Touch ROM with UC (ppcgeeks developer!)
Titan ROMs
dcd's ROMs & kitchen
NexVision's Hybrid
Prophet ROMs
varanusvincent's [WM6.1] Shadow Vista "My Edition"
varanusvincent's [WM6.1] Shadow Vista "Clean"
L3v5y's <WM6.1> <UC> iProphet 1.0.2.3
L3v5y's iProphet V2 beta
Bourne WM6.1 from dave.
Korand 3.1 GER by animelover
Elf ROMs
Noonski's SPC WM6.08 ROM (WM6.1, 5.2.19199)
Ababreker's UC 2.0 Capable New Ultra Clean & Clean Edition ROMs
Wizard ROMs
epimazzo's KhanX 4.0
SNN Version 3.1 WM 6.1 build 19209 from newbie1221
Hermes ROMs
CRCs PHKv12 WM6.1
PDACorner.V6 - Abusalza
Faria-R32 / Dr Puttingham WM6.1 HERMES ROM-CUSTOM+CLEAN
TNT.19199 Series from its right
Trinity ROMs
FInixNOver 3.1.1 and 3.1.1Light
Here's the current list of UC related software tools
DoeDoe's SDConfig.txt creator.
.reg -> xml conversion tool
XML Notepad 2007
CeRegEditor (can find registry changes)
DaveShaw's Folder Copy utility
Registry capture Logger
If you are a ROM chef and want to make your own ROM UC capable, then go here to learn how. The effort is trivial btw.
Ok, on to creating scripts!
First you need to read a short WiKi article on customization that's located here
How do you set up UC? By placing a file called "SDConfig.txt" in the root directory of your storage card. The best way to illustrate this is to show examples. Here is my SDConfig.txt:
Code:
LOCK:Enabled
CAB: \Storage Card\Cabs\Tiltkeyboardfix.cab
CAB: \Storage Card\Cabs\removeHiddenProxy4CWS_0522.cab
CAB: \Storage Card\Cabs\s2u2v99c.cab
CAB: \Storage Card\Cabs\CapScrUtil.CAB
CAB: \Storage Card\Cabs\Communicator mobile.cab
CAB: \Storage Card\Cabs\CorePlayer.PocketPC.cab
CAB: \Storage Card\Cabs\HTC_GPS_TOOL.cab
CAB: \Storage Card\Cabs\SpbBackup.cab
CAB: \Storage Card\Cabs\SpbPocketPlus4.arm.cab
CAB: \Storage Card\Cabs\SpbTime2.arm.cab
CAB: \Storage Card\Cabs\SpbWeather.arm.cab
CAB: \Storage Card\Cabs\SplashID.CAB
CAB: \Storage Card\Cabs\SplashPhoto.CAB
CAB: \Storage Card\Cabs\SPTimeSync.cab
CAB: \Storage Card\Cabs\stdtime.PPC30_ARM.CAB
CAB: \Storage Card\Cabs\tomtom_6_032_8351.cab
CAB: \Storage Card\Cabs\VisualGPSceInstall.CAB
CAB: \Storage Card\Cabs\ip.PPC_ARM.CAB
CAB: \Storage Card\Cabs\SleuthKaiserVoip.cab
CAB: \Storage Card\Cabs\TPGProvisioning.cab
CAB: \Storage Card\Cabs\GSM610.CAB
CAB: \Storage Card\Cabs\GoogleMaps_compressed.CAB
CAB: \Storage Card\Cabs\LiveSearch.cab
CAB: \Storage Card\Cabs\Pieff.cab
XML: \Storage Card\Cabs\SleuthProvisioning.xml
LOCK:Disabled
RST: Reset
Here are some important facts to remember:
end your file with the "RST: Reset" command
The file cannot be UNICODE
All commands must be in UPPER CASE. CAB: is valid but Cab: is not. Case is not important in the parameter portion however: \Storage Card\CABS\myCAB.cab is the same as \storage card\cabs\mycab.cab.
Cabs that specifically wait for additiional user input (other than the initial location) can be loaded but require special grouping. An example of this is the 1-calc installation which stops and makes you accept a license agreement. Go here to find out how to load these. Thanks booda!
Tabs/Spaces at the end of a line are not allowed and will cause SDAutoRun to abort on a file not found error.
The first 5 characters of a line are reserved for the command. The parameter for the command must begin on the 6th character That means to add one space to 4 character commands like "CAB:" and no spaces to 5 character commands like "HIDE:".
In my next post, I'll go over settings customization by showing you SleuthProvisioning.xml.
Settings customization is pretty advanced stuff. You might want to get going first by simply using User Customization to install some cabs. If I were first starting out, I'd install cabs that customize my device. For example, I have a Tilt, so I would install a Keyboard patch cab for the Tilt layout and another cab that disables the AT&T hidden proxy. This would require two CAB: statements in SDConfig.txt.
However, if you're yearning to do more settings customization, then the "XML:" config statement is the key. Here's my XML provisioning file called SleuthProvisioning.xml. It initializes me in cleartype mode, changes my notification settings, initializes the default SIP to Block Recognizer, sets power and backlight timeouts, re-arranges my today screen and updates my Owner Name.
Code:
<wap-provisioningdoc>
<!-- ClearType Preferences -->
<characteristic type="Registry">
<!-- Just adding this Key enables ClearType -->
<characteristic type="HKLM\System\GDI\CLEARTYPE">
<parm name="Default" value="0" datatype="integer"/>
<noparm name="Default"/>
</characteristic>
<characteristic type="HKLM\System\GDI\ClearTypeSettings">
<parm name="OffOnRotation" value="0" datatype="integer"/>
</characteristic>
<!-- Owner Preferences -->
<characteristic type="HKCU\ControlPanel\Owner">
<parm name="Name" value="Sleuth 255" datatype="string"/>
<!-- Owner value is SZ_BINARY: 320 Unicode characters (640 bytes). XML "Binary" datatype processes this as Base64-->
<parm name="Owner" value="SwBlAaSwDyuuIIgvrRRvAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" datatype="binary"/>
</characteristic>
<!-- Notification Preferences -->
<!-- New Email Message -->
<characteristic type="HKCU\ControlPanel\Notifications\{A877D65A-239C-47a7-9304-0D347F580408}">
<parm name="Options" value="2" datatype="integer"/>
</characteristic>
<!-- Reminders -->
<characteristic type="HKCU\ControlPanel\Notifications\{15F11F90-8A5F-454c-89FC-BA9B7AAB0CAD}">
<parm name="Options" value="1073741833" datatype="integer"/>
</characteristic>
<!-- Power/Backlight Timeout Preferences -->
<characteristic type="HKCU\ControlPanel\BackLight">
<parm name="BatteryTimeout" value="240" datatype="integer"/>
<parm name="ACTimeout" value="360" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\System\CurrentControlSet\Control\Power\Timeouts">
<parm name="ACSuspendTimeout" value="300" datatype="integer"/>
<parm name="BattSuspendTimeout" value="180" datatype="integer"/>
</characteristic>
<!-- Application Preferences -->
<characteristic type="HKCU\Software\The Paradigm Group\sipchange\Parameters">
<parm name="DefaultSIP" value="Block Recognizer" datatype="string"/>
<parm name="Delay" value="10" datatype="integer"/>
</characteristic>
<characteristic type="HKCU\Software\Spacreat\SP TimeSync\General settings">
<parm name="Start minimized" value="Yes" datatype="string"/>
</characteristic>
<characteristic type="HKCU\Software\Spacreat\SP TimeSync\NTP client">
<parm name="Autosync period" value="21600" datatype="string"/>
</characteristic>
<!-- Silent Keyboard Sliding Sound -->
<characteristic type="HKLM\Software\HTC\SlidingSound">
<parm name="ActiveSlidingSound" value="0" datatype="integer"/>
<parm name="SlidingSoundEffect" value="0" datatype="integer"/>
</characteristic>
<!-- Today Screen Order/Enabled Preferences -->
<characteristic type="HKLM\Software\Microsoft\Today\Items\HTC Home">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="0" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\Windows Live Search">
<parm name="Enabled" value="1" datatype="integer"/>
<parm name="Order" value="1" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Messaging"">
<parm name="Enabled" value="1" datatype="integer"/>
<parm name="Order" value="5" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Calendar"">
<parm name="Enabled" value="1" datatype="integer"/>
<parm name="Order" value="20" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Tasks"">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="21" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"TomTom"">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="22" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\Windows Live">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="23" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Pocket Plus"">
<parm name="Enabled" value="1" datatype="integer"/>
<parm name="Order" value="24" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Spb Weather"">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="26" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Spb Time"">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="28" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Spb Backup"">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="42" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\"Owner Info"">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="46" datatype="integer"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\Getting Started">
<parm name="Enabled" value="0" datatype="integer"/>
<parm name="Order" value="47" datatype="integer"/>
</characteristic>
</characteristic>
<-- File Operations -->
<-- Copy the SP Timesync link to startup so it gets executed whenever I reset -->
<characteristic type="FileOperation">
<characteristic type="%CE2%\Startup" translation="install">
<characteristic type="MakeDir" />
<characteristic type="StartTimeSync.lnk" translation="install">
<characteristic type="Copy">
<parm name="Source" value="\windows\Start Menu\Programs\SP TimeSync.lnk" translation="install" />
</characteristic>
</characteristic>
</characteristic>
</characteristic>
</wap-provisioningdoc>
Lets take a look at this more closely. The XML itself sets up two Configuration Service providers. One is used for registry operations and one for file operations. both are enclosed by the wap-provisioning tags. Here they are shown without any operations:
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
</characteristic>
<characteristic type="FileOperation">
</characteristic>
</wap-provisioningdoc>
Registry CSPs
Within the registry type, I set a lot of cool stuff. You should be able to firgure out how it works if you have basic registry skills. Essentially, setting values for any registry key looks like this:
Code:
<characteristic type="HKCU\ControlPanel\BackLight">
<parm name="BatteryTimeout" value="240" datatype="integer"/>
<parm name="ACTimeout" value="360" datatype="integer"/>
</characteristic>
First you set the key with the <characteristic type> tag, then you set values with the <parm name> tags. Binary values are a PITA since they're encoded Base 64 (see my entry for Owner Information above). If you want to set owner information as I did in the example, then you need to convert Unicode to Base64. Post here if you want to learn how and I'll show you how I do it.
Special characters within quotes in XML files must be represented using html special character sequences. For instance, the double quote (") character sequence is " so "Today\Items\"Pocket Plus"" would be written as "Today\Items\"Pocket Plus"". The full list of special HTML character sequences can be found here. This is especially important when changing today screen plugin order since some today screen registry entries actually have quotes in the key name. See my provisioning file above under "Today Screen order/enabled preferences" for an example of this.
File Operation CSPs
All the File Operation CSP parameters are described here.
Here's mine:
Code:
<characteristic type="%CE2%\Startup" translation="install">
<characteristic type="MakeDir" />
<characteristic type="StartTimeSync.lnk" translation="install">
<characteristic type="Copy">
<parm name="Source" value="\windows\Start Menu\Programs\SP TimeSync.lnk" translation="install" />
</characteristic>
</characteristic>
</characteristic>
%CE2% is a shorthand way for saying "\windows". As you can see, the first characteristic types set the working directory to \windows\startup, the destination file to "StartTimeSync.lnk" and the file operation to "Copy". Finally, the source file is set and the CSP copies \windows\SP TimeSync.lnk to \windows\startup\StartTimeSync.lnk.
Here's a great example from booda. It shows shortcut creation, move, directory creation and remove operations:
Code:
<characteristic type="FileOperation">
<!--Create folder in Programs called "Docs and Ref" and move Google Maps shortcut into it-->
<characteristic type="%CE2%\Start Menu\Programs\Docs and Ref" translation="install">
<characteristic type="MakeDir" />
<characteristic type="Google Maps.lnk" translation="install">
<characteristic type="Move">
<parm name="Source" value="%CE2%\Start Menu\Programs\Google Maps.lnk" translation="install"/>
</characteristic>
</characteristic>
</characteristic>
<!--Create "Doom" shortcut from exe on storage card and copy it into Games folder-->
<characteristic type="%CE2%\Start Menu\Programs\Games" translation="install">
<characteristic type="MakeDir" />
<characteristic type="gfDoom.lnk" translation="install">
<characteristic type="Shortcut">
<parm name="Source" value="\Storage Card\Games\Doom\gfDoom.exe" translation="install"/>
</characteristic>
</characteristic>
</characteristic>
<!-- Move Office folder from Start Menu into Docs and Ref folder -->
<characteristic type="%CE2%\Start Menu\Programs\Docs and Ref\Office Mobile" translation="install">
<characteristic type="MakeDir" />
<characteristic type="Excel Mobile.lnk" translation="install">
<characteristic type="Move">
<parm name="Source" value="%CE2%\Start Menu\Programs\Office Mobile\Excel Mobile.lnk" translation="install"/>
</characteristic>
</characteristic>
<characteristic type="icon.lnk" translation="install">
<characteristic type="Move">
<parm name="Source" value="%CE2%\Start Menu\Programs\Office Mobile\icon.lnk" translation="install"/>
</characteristic>
</characteristic>
<characteristic type="OneNote Mobile.lnk" translation="install">
<characteristic type="Move">
<parm name="Source" value="%CE2%\Start Menu\Programs\Office Mobile\OneNote Mobile.lnk" translation="install"/>
</characteristic>
</characteristic>
<characteristic type="PowerPoint Mobile.lnk" translation="install">
<characteristic type="Move">
<parm name="Source" value="%CE2%\Start Menu\Programs\Office Mobile\PowerPoint Mobile.lnk" translation="install"/>
</characteristic>
</characteristic>
<characteristic type="Word Mobile.lnk" translation="install">
<characteristic type="Move">
<parm name="Source" value="%CE2%\Start Menu\Programs\Office Mobile\Word Mobile.lnk" translation="install"/>
</characteristic>
</characteristic>
</characteristic>
<characteristic type="%CE2%\Start Menu\Programs\Office Mobile" translation="install">
<characteristic type="RemoveDir" />
</characteristic>
</characteristic>
booda said:
Couple of things to note - I always use "install" and "MakeDir" commands for folders - if the folder already exists, it won't do anything, and if it doesn't, the folder will be created. Either way, you know the folder will be there to move the shortcuts into.
The MakeDir and RemoveDir commands don't require a closing [/characteristic] tag - just make sure the slash is included as in the examples above.
You have to make sure that 1) any files you're referencing already exist and 2) you have the names exactly right. If you try to move a shortcut that isn't there or has a different name than what you referenced, the whole process bombs out.
Click to expand...
Click to collapse
Here are all the %CE#% shortcuts (thanks to chainfire)
Code:
%CE1% \Program Files
%CE2% \Windows
%CE3% ***Not Defined***
%CE4% \Windows\Startup
%CE5% \My Documents
%CE6% \Program Files\Accessories
%CE7% \Program Files\Communication
%CE8% \Program Files\Games
%CE9% ***Not Defined***
%CE10% ***Not Defined***
%CE11% \Windows\Start Menu\Programs
%CE12% \Windows\Start Menu\Programs\Accessories
%CE13% \Windows\Start Menu\Programs\Communication
%CE14% \Windows\Start Menu\Programs\Games
%CE15% \Windows\Fonts
%CE16% ***Not Defined***
%CE17% \Windows\Start Menu
EMAIL2 CSPs
All the EMAIL2 CSP provisioning parameters are described here
Elosogrande7076 shows us how to provision a couple of email accounts below. To be safe, use GUID-GEN to generate unique GUIDs. This is because duplicate GUIDs will cause undefined results on your device.
Code:
<wap-provisioningdoc>
<characteristic type="EMAIL2">
<characteristic type="{7B3D74EC-35D9-45e3-B8F3-E38F4B90D174}">
<parm name="SERVICENAME" value="Gmail" />
<parm name="SERVICETYPE" value="IMAP4" />
<parm name="INSERVER" value="imap.gmail.com" />
<parm name="OUTSERVER" value="smtp.gmail.com" />
<parm name="NAME" value="Username" />
<parm name="AUTHNAME" value="[email protected]" />
<parm name="AUTHSECRET" value="password" />
<parm name="DOMAIN" value="" />
<parm name="REPLYADDR" value="[email protected]" />
<parm name="LINGER" value="15" />
<parm name="RETRIEVE" value="-1" />
<parm name="KEEPMAX" value="-1" />
<parm name="DWNDAY" value="3" />
<parm name="AUTHREQUIRED" value="1" />
<parm name="SMTPALTENABLED" value="1" />
<parm name="SMTPALTAUTHNAME" value="[email protected]" />
<parm name="SMTPALTPASSWORD" value="password" />
<parm name="SMTPALTDOMAIN" value="smtp.gmail.com" />
</characteristic>
</characteristic>
<characteristic type="EMAIL2">
<characteristic type="{877e6100-cd6d-4a44-bd4c-3edf4b901480}">
<parm name="SERVICENAME" value="Gmail1" />
<parm name="SERVICETYPE" value="IMAP4" />
<parm name="INSERVER" value="imap.gmail.com" />
<parm name="OUTSERVER" value="smtp.gmail.com" />
<parm name="NAME" value="Username" />
<parm name="AUTHNAME" value="[email protected]" />
<parm name="AUTHSECRET" value="password1" />
<parm name="DOMAIN" value="" />
<parm name="REPLYADDR" value="[email protected]" />
<parm name="LINGER" value="15" />
<parm name="RETRIEVE" value="-1" />
<parm name="KEEPMAX" value="-1" />
<parm name="DWNDAY" value="3" />
<parm name="AUTHREQUIRED" value="1" />
<parm name="SMTPALTENABLED" value="1" />
<parm name="SMTPALTAUTHNAME" value="[email protected]" />
<parm name="SMTPALTPASSWORD" value="password1" />
<parm name="SMTPALTDOMAIN" value="smtp.gmail.com" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
XML Creation FAQ
1.- Why Provisioning file is not loaded, I mean, it doen't work nor load any registry or feature that I added to it?
Click to expand...
Click to collapse
Its probably a syntax error. Here's how I debug syntax:
first obtain a cab creation utility. For windows I use Cabarc, a free m$ utility
you can then rename your xml to _setup.xml and double click to load it into a browser. This will verify that your <tag></tag> nesting is correct along with validating tag statements. IE won't load an xml file in display mode if this isn't correct. As an added benefit, the error message will point to the exact line where the error occurs.
If it looks good, make a cab containing only _setup.xml itself and run it on your device. If the xml is good, installation will be successful & your changes will be made
if unsuccessful, use successive installs to isolate the part that isn't working.
2.- How I convert the HEX values showed at Registry Editor to base64 unicode? (I'm Mac user) It is for Owner registry stuff.
Click to expand...
Click to collapse
Being a Mac user, ymmv on this, but my technique using Windows is as follows:
create a Unicode file with your favorite text editor and enter your owner name (I use Windows Notepad for this, not sure what a Mac uses). Then pad it out to 320 characters with "%" characters.
now open that file with a Hex editor and do a global Hex replace on 25 (the hex representation of a "%") to 00. This produces a file containing the Unicode representation of your Owner name padded with binary zeros. I use WinHex for this btw.
Now browse to this site and select the file you've just created. Press "Convert the Source data". The Base64 data will appear.
Copy data to clipboard, paste into your editor (make sure word wrap is off) and remove all the newline characters (go to beginning of each line starting from bottom & press backspace). when complete, you will have one single line of base64 data. Now copy to clipboard & paste into my example.
Done!
Update: RapiConfig might be faster. See stan23's post located here. Download link is included.
Here's an easier way to create your provisioning XML files!
get the reg -> xml tool in the first post note: needs .net framework. My computer has .net v3.5 & it works fine.
load an app that can do registry exports on your device. The one I use is dotfred's task manager
export the key you want to provision & copy to desktop using activesync
fire up the tool, give it the .reg and it will create provxml that contains the Registry CSP you need
open provxml with notepad, cut out key you want & paste this into your provisioning xml within your registry CSP tags
done!
Nice contrubution....
only can say THANKS
Great work
Are you also supporting these functions?
SHOW:\Storage Card\MyImage.bmp
EXEC:\Storage Card\cusTSK.exe \Windows\MyTheme.tsk
EXEC:\windows\SetHSDPA.exe /Disable
CPY1:\Storage Card\MyFile.ext
CPY2:\My Documents\MyFile.ext
Click to expand...
Click to collapse
They were present with the orginal HTC AutoRun.exe's
I haven't gotten CPY1 and CPY2 to work. I'd make a cab to copy files itmt. EXEC: works just fine. I haven't tested SHOW: yet.
I'm acutally using AutoRun to parse btw. My program just configures the registry then runs AutoRun.exe again.
Note: many people have gotten CPY1 and CPY2 to work correctly The syntax is as follows:
CPY1: <source file to copy>
CPY2: <destination to copy to>
CPY2: must immediately follow CPY1:
YMMV on this command for sure. On a Kaiser, these commands don't appear to work properly.
Sleuth255....
This is fantastic! Excellent information. Thank you!!
About install apps to Storage Card
Hi Sleuth,
There is a way for get apps installed in my Storage Card? I preffer this way because I want the memory device free for running applications.
Thanks in advance,
Taguapire.
sorry. AutoRun, by HTC design, cannot install apps to your storage card.
edit:
Actually, AutoRun installs cabs to the location specified by the cab itself. Most cabs don't specify a location however and in this case AutoRun chooses the device. However, you can override this behavior by using WinCE Cab Manager to create a cab that will only install to the Storage Card.
I have been using this method to build devices since WM5 launched. I think that only the early versions of AutoRun.exe have the copy command - I have also seen a command which allowed you to pass additional Config.txt files...
Personally I use my own custom built AutoRun which works upon card being pushed in to the device (a 2577 autorun.exe) - This then does three things
[*]Looks for a hardcoded MyPersonalStuff.xml and pass to the Configuration.Manager - as above
[*]Then look in a dir on the storage card and sequencially install each cab
[*]Look for another hardcoded MyDeviceStuff.xml file and also configure it once the apps have been installed - reorg my start menu, populate custom application settings (Launchers etc) and do any device specific stuff.
This then allows me to configure all the os stuff first (generic to WM and all devices) install all my cabs, then apply a load of device and application specific suff - like re-ordering my start menu, set info for home screen launchers etc
Really this is just a set of application classes which can be used in any order - displaying a form and having a go button, read from a XML or flat file, device type validation, doing it all silently or whatever.
Do you want me to build you a custom version of AutoRun.exe with some new functionality? Extra commands, chosen file locations, the ability to install all cabs in a certain dir?
Got the code just need some help with requirements and a spec - the build part is easy
Actually, I'm hoping for an app that lets you select cabs & xml files then builds SDConfig.txt.
A bit more complex would be an preference configuration builder that would build an XML file based on user preferences then add it to SDConfig.txt.
I'll get to work on the first one shortly.
One thing I'm not sure of though: I fire off AutoRun.exe with a RUN parameter (otherwise it doesn't run on a Kaiser). Is this a universal requirement for all devices?
Sound like one app to me - I have already started on something kinda like that anyway leave it with me for a few days
That RUN command is hardcoded into the AutoRun.exe - the developer would have chosen this when he built the file.
Good, as long as all devices fire off AutoRun with the RUN parameter then my SDAutoRun program should work universally.
About Provisioning XML File
Hi Sleuth,
I tried to use the UC feature in your ROM, but I have few questions.
1.- Why Provisioning file is not loaded, I mean, it doen't work nor load any registry or feature that I added to it?
2.- How I can add to Provisioning all my Connection profiles including APNs, etc.?
3.- How I convert the HEX values showed at Registry Editor to base64 unicode? (I'm Mac user) It is for Owner registry stuff.
4.- Which are the registry settings for Arc Soft Message composer for MMS stuff?
5.- Can I configure my Exchange account using registry settings? If it is true, how I can do it?
I just did a search to the registry but I can't find any of above things.
Best Regards,
Taguapire.
taguapire said:
Hi Sleuth,
I tried to use the UC feature in your ROM, but I have few questions.
Click to expand...
Click to collapse
Your questions are so good I turned them into a FAQ on post #3.
Sleuth255 said:
create a Unicode file with your favorite text editor and enter your owner name (I use Windows Notepad for this, not sure what a Mac uses). Then pad it out to 320 characters with "%" characters.
...
Click to expand...
Click to collapse
But you only get your name into that base64 data.
You might type in the whole owner information once, then use RapiConfig with the following input (i.e. content of RapiConfigIn.xml)
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKCU\ControlPanel\Owner">
<parm-query name="Owner"/>
<parm-query name="Owner Notes"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
to extract it from the registry.
This is even better, because it get's the whole owner information including telephone number and email address:
Code:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic-query type="HKCU\ControlPanel\Owner" recursive="true"/>
</characteristic>
</wap-provisioningdoc>
Same works for E-Mail
Code:
<wap-provisioningdoc>
<characteristic-query type="EMAIL2" recursive="true"/>
</wap-provisioningdoc>
and Wi-Fi:
Code:
<wap-provisioningdoc>
<characteristic-query type="Wi-Fi" recursive="true"/>
</wap-provisioningdoc>
Of course I don't know whether there is a RapiConfig for Mac users
sorry 4 my question but where do i find the cabs
Sleuth255 said:
[*] Cabs that specifically wait for additiional user input (other than the initial location) cannot be loaded. An example of this is the 1-calc installation which stops and makes you accept a license agreement.
Click to expand...
Click to collapse
Actually, you can load cabs that need user input - you just have to group those cabs together and use the Hide command. For instance:
Code:
LOCK:Enabled
CAB: \Storage Card\Cabs\Tilt_keyboard_fix.cab
CAB: \Storage Card\Cabs\Vibra_(Switch)_1.32.cab
LOCK:Disabled
HIDE:Enabled
CAB: \Storage Card\Cabs\ListPro-PocketPC-5.cab
CAB: \Storage Card\Cabs\eWallet-PocketPC-Install.cab
HIDE:Disabled
LOCK:Enabled
XML: \Storage Card\Cabs\device_settings.xml
XML: \Storage Card\Cabs\software_settings.xml
LOCK:Disabled
RST: Reset
In the above example, the screen is unlocked and the customization window is hidden before the ListPro & eWallet cabs are launched so you can provide the user input they require. Then the screen is relocked and the customization window is restored to finish installing other cabs/xml that don't require user input.
I just tried this on your v3.0 ROM (which is great, btw) and it worked fine. UC is fantastic, thanks for implementing such a useful feature.
Woah! I didn't know there was a HIDE: command!
Great tip!
Hi all, for who knows my rgu-2-xml, there is a new version solved little bug translating multilines hex values (in previous release only a part of a intere hex string was inserted into provxml!)
for who doesn't know my little apps, this app can translate rgu/reg files into provxml files, advantages???
you can insert into packages also provxml, so you can be shure that the instrunctions on it will be executed and not maybe overwritted by similiar registry keys when .hv files are created during buildosing rom!
or if you want create instructions into provxml for my sdconfig.exe or sdautorun.exe
bye!!!
version 3, added some code to "eliminate" regkey and regvalue!!!!!
here:
http://www.4shared.com/file/nDAeeIdB/rgu-2-xml-v3.html
Thanks again ervius.
Thanks ervius !
Will be more usefull than creating a cab and extracting xml inside it
Thanks! again ervius. Your kitchen and tools are really useful for us.
Best regards from Spanish Cookers
Thank you so much!! Keep it up!
XML => RGU
Ervius, can you make the same tool but XML => RGU ?
MickyMax said:
Ervius, can you make the same tool but XML => RGU ?
Click to expand...
Click to collapse
yes, but in provxml, there are also other commands that work with files and folders,(fileoperation), and others also....
if you translate a provxml into a reg/rgu, you can lost a lot of informations, but, yes, shurelly, I can create a viceversa translator (xml-rgu)!
bye!
If you can figure out how to put a multi line item into an XML I would appreciate it. I haven't been able to yet. I even tried the output from your tool and it didn't work. I even put " instead of " but that didn't work either.
Basically, a certain reg key needs to be a multistring (multi line, multi_SZ) with the following data: (line breaks are intentional, it must be placed in the registry like that)
Code:
Call History.lnk
Messaging.lnk
Calculator.lnk
Any ideas?
Thanks for the tool!
It works great at making XMLs for UC, but I had to fix some things in my XML:
-Quotation marks needed to be changed to " for certain entries like Today items
-0xFFFFFFFE hex values showed up as 4294967295 dec value, but that dec value is unsigned and it will not load when the XML installs so I had to use "-2" as my dec value (which gave me my correct hex value of FFFFFFFE)
-Binary values had to be manually translated with RapiConfig
I was pretty stumped when my XML didn't install properly but after isolating these minor mistakes I was able to fix my problem. Hope this helps any other users!
Cheers
mrnamster said:
Thanks for the tool!
It works great at making XMLs for UC, but I had to fix some things in my XML:
-Quotation marks needed to be changed to " for certain entries like Today items
-0xFFFFFFFE hex values showed up as 4294967295 dec value, but that dec value is unsigned and it will not load when the XML installs so I had to use "-2" as my dec value (which gave me my correct hex value of FFFFFFFE)
-Binary values had to be manually translated with RapiConfig
I was pretty stumped when my XML didn't install properly but after isolating these minor mistakes I was able to fix my problem. Hope this helps any other users!
Cheers
Click to expand...
Click to collapse
well, I'll try to solve.... never tryed with negative values...
try this v3 version if works...
Signed/unsigned integer conversion seems to work:
Code:
REGEDIT4
[HKEY_LOCAL_MACHINE\this\is\a\"quotation"\test]
"item1"=dword:7fffffff
"item2"=dword:80000000
"item3"=dword:fffffffe
"item4"=dword:ffffffff
results in:
Code:
<wap-provisioningdoc>
<!-- *** COMMENTO *** -->
<characteristic type="Registry">
<characteristic type="HKLM\this\is\a\"quotation"\test" translation="filesystem">
<parm name="item1" datatype="integer" value="2147483647"/>
<parm name="item2" datatype="integer" value="-2147483648"/>
<parm name="item3" datatype="integer" value="-2"/>
<parm name="item4" datatype="integer" value="-1"/>
</characteristic>
</characteristic>
</wap-provisioningdoc>
but should be
Code:
<characteristic type="HKLM\this\is\a\"quotation"\test" translation="filesystem">
as mentioned here at the bottom by Sleuth255
thx for your work
Greate tool!
But there are unhandled situation:
1, for [HKEY_LOCAL_MACHINE\xxx\yyy]
it means to REMOVE the key HKEY_LOCAL_MACHINE\xxx\yyy
in provxml, it should be <nocharacteristic type="HKLM\xxx\yyy" translation="filesystem" />
2, for "name"=-
it means to DELETE the item "name"
in provxml, it should be <noparm name="name" />
How are you guys converting binary values in the reg to provxml. I know its base64 in provxml.. Can someone give me a hand with this?
I have noticed this program does not take @="value" and convert it to "Default"="value"
My current fix is to use find and replace in reg file and change @ to "Default" before running rgu-2-xml.
Also ""\file path\file name"" is still getting turned into \\file path\file name\".
After I run rgu-2-xml I use find and replace in the xml file to change all \\ to "\ and all \" to "".
Hi!
I am a newbie in all these subjects, and I am attempting to make my own provxml file for UC.
he case is that I've found this thread and now I have a tool to convert reg/rgu files to XML, but ... when I export my registry I get a rgk file, that the tool doesn't admit ...
How should I export the registry to get reg/rgu files?
thanks!
elMoco said:
when I export my registry I get a rgk file, that the tool doesn't admit ...
How should I export the registry to get reg/rgu files?
thanks!
Click to expand...
Click to collapse
what did you use to export?
Did you try edt file name to end in .reg?
RoryB said:
what did you use to export?
Did you try edt file name to end in .reg?
Click to expand...
Click to collapse
I use the windows registry backup tool, and yes, I've tried to change the file extension, but the the tool report an error.
I use CERegedit and save as a .reg file.
Great!
I used CERegedit and I got it ...
now I need a tool that can mannage well the binary data ... I guess it must be codified with base64 ...
Cookers, how about some UC compliant ROMS? To me, this system addresses one of the key issues in flashing a new setup. Seems like a no brainer...why so few takers?
Thanks for your work!
Can anyone list compliant ROMs?
UC Compliant
Wilberry lists itself as UC compliant. When I flashed it, it did attempt to load the fils in the sdconfig.txt listing but, it did not load anything. I am not sure what the problem was and my bad was that I never pointed it out to them.
Z
I'd never heard of UC Compliance until now, but after reading up about it I think it's a great idea and hope more ROM chefs start adding it.
If you're like I was and had no idea what it is, then I've assembled the relevant links below for you:
For Users:
Rom Flashing Junkies: User Customisation is here!
XDA-Wiki - Auto Run
For Chefs:
ROM Chefs: SDAutoRun gives customization to everybody!
Now that you've read those and know about it.. make sure you let your favourite chef's know that UC support is important to you!
I'm using Wildberry myself, so I could've taken advantage of this - but I've been using a modified Sashimi setup instead to configure my roms after install.
How is your day to day stability and bug status on Wildberry?
Radix999 said:
I'd never heard of UC Compliance until now, but after reading up about it I think it's a great idea and hope more ROM chefs start adding it.
If you're like I was and had no idea what it is, then I've assembled the relevant links below for you:
For Users:
Rom Flashing Junkies: User Customisation is here!
XDA-Wiki - Auto Run
For Chefs:
ROM Chefs: SDAutoRun gives customization to everybody!
Now that you've read those and know about it.. make sure you let your favourite chef's know that UC support is important to you!
I'm using Wildberry myself, so I could've taken advantage of this - but I've been using a modified Sashimi setup instead to configure my roms after install.
Click to expand...
Click to collapse
I don't believe UC works properly on Diamonds because of Internal Storage. See here.
Sashimi works fine and can now even be cooked in to a ROM providing Sashimi Compliance (SC). For more info see here.
TraderJack said:
I don't believe UC works properly on Diamonds because of Internal Storage. See here.
Click to expand...
Click to collapse
Sure, its working pretty here in my ROMz..
Unchained said:
Sure, its working pretty here in my ROMz..
Click to expand...
Click to collapse
Are you renaming your device's Internal Storage to "Storage Card" in order to get it to work?
DrewVS said:
How is your day to day stability and bug status on Wildberry?
Click to expand...
Click to collapse
I've had Wildberry on for a few weeks now (since it first came out) and the only bug I've encountered is that I can't pick a wallpaper for TF3D (comes up with a blank selection when I choose it, no matter what directory I pick).
Other than that it's been rock solid stable, very fast, and runs sweet.
TraderJack said:
Are you renaming your device's Internal Storage to "Storage Card" in order to get it to work?
Click to expand...
Click to collapse
I noticed the Wildberry rom does that. That's probably why they're able to claim UC compliance.
Why arent we convincing more ROM cookers to do this? It saves hours of setup, and as such is more valuable than any other feature that I can think of. Why the resistance to adopt?
No.. Its still Internal Storage called..
That is a very trivial issue that has long since been addressed. Several ROMs work just fine with it.
Unchained said:
No.. Its still Internal Storage called..
Click to expand...
Click to collapse
In OEMDRIVERS/LANG/ there are values for the Storage Card name.
These need to be changed to Internal Storage (there's no SD slot anyway)
These are the values the SDAutorun reads and needs.
I got UC running just fine.
Code:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PCMCIA]
"Name"="PCMCIA/Compact Flash Device"
"Folder"="Internal Storage"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card"
"Folder"="Internal Storage"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\moviNAND]
"Folder"="Internal Storage"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC]
"Name"="MMC Card"
"Folder"="Internal Storage"
NL
Code:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\PCMCIA]
"Name"="PCMCIA/Compact Flash Device"
"Folder"="Intern geheugen"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card"
"Folder"="Intern geheugen"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\moviNAND]
"Folder"="Intern geheugen"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MMC]
"Name"="MMC Card"
"Folder"="Intern Geheugen"
Check these Values in the Rom using Registry editor.
If they are off that explains why UC ain't working.
The thing is that there are a few of these values in the Top of the RGu files.
But further down they are there again, and they all need to be changed.
I haven't flashed their ROM so i can't say what they are doing or if it's working.
But these are the values and the way it should be.
(i requested to SLEUTH, maker of UC To let SDAutorun first check for the name [HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SDMemory]
"Name"="SD Memory Card", for Localized ROM versions, half a year ago, so the solution is in the first 5 pages of the UC cooks thread)
That's why it doesn't look at the NAND Flash name.
This should help get more UC supported ROM's out
UC is easy
I do it this way:
At first - registry tweak in the cooked ROM:
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\moviNAND]
"Folder"="Storage"
"AutoPart"=dword:00000001
"AutoFormat"=dword:00000001
"Name"="moviNAND Card"
After - provxml file (it starts later, return "Internal Storage" name) Also, you can put in it another tweaks. Start TF3D, disable security etc. My full listing:
<wap-provisioningdoc>
<characteristic type="Registry">
<characteristic type="HKLM\System\StorageManager\Profiles\moviNAND" translation="filesystem">
<parm name="Folder" datatype="string" value="Internal Storage"/>
<parm name="AutoPart" datatype="integer" value="1"/>
<parm name="AutoFormat" datatype="integer" value="1"/>
<parm name="Name" datatype="string" value="moviNAND Card"/>
</characteristic>
<characteristic type="HKLM\Software\OEM">
<parm name="ROMVersion" value="1.93.Light" datatype="string"/>
</characteristic>
<characteristic type="HKLM\Software\Microsoft\Today\Items\TouchFLO 3D" translation="filesystem" >
<parm name="Enabled" datatype="integer" value="1"/>
<parm name="DLL" datatype="string" value="ManilaToday.dll" />
<parm name="Ordered" datatype="integer" value="0" />
<parm name="Selectability" datatype="integer" value="2" />
<parm name="Type" datatype="integer" value="4" />
</characteristic>
<characteristic type="HKCU\Software\HTC\Manila" translation="filesystem" >
<parm name="AutoLaunchToday" datatype="integer" value="1" />
<parm name="EnableLandscape" datatype="string" value="true"/>
</characteristic>
<characteristic type="HKLM\Software\HTC\AdvancedNetwork" translation="filesystem">
<parm name="SupportHSUPA" datatype="integer" value="1"/>
</characteristic>
</characteristic>
<characteristic type="SecurityPolicy">
<parm name="4123" value="1" />
<parm name="4119" value="144" />
<parm name="4101" value="16" />
<parm name="4102" value="1" />
<parm name="4122" value="1" />
<parm name="2" value="0" />
<parm name="4120" value="16" />
<parm name="4103" value="64" />
<parm name="4097" value="1" />
</characteristic>
</wap-provisioningdoc>
and put the all steps in the one "txt-config" file.
I use config_operator.txt ONLY, other config "txt" are absent):
LOCK:Enabled
EXEC:\Windows\AutoShortcut.exe
XML: \Windows\RemoveArrtibMMS_0409.xml
XML: \Windows\finish.provxml ;(file, which return to "Internal Storage")
CFG: \Storage\sdconfig.txt ;(!!!!!!!!)
LOCKisabled
RST: Reset
That's all.
Example of the sdconfig.txt:
CAB: \Storage\Install\Opera_2392WWE.CAB
CAB: \Storage\Install\GMaps.CAB
CAB: \Storage\Install\SoftMaker Office.cab
XML: \Storage\Install\provider.xml
Finish.
Yeah but if the settings are cooked in correctly you don''t need to work around
I have also posted cleaned up OEMProvxml files that replace the regular ones with extra certificates and security settings.
Noonski said:
Yeah but if the settings are cooked in correctly you don''t need to work around
I have also posted cleaned up OEMProvxml files that replace the regular ones with extra certificates and security settings.
Click to expand...
Click to collapse
It' just example, but it works
Return to "Internal Storage" is more useful, then change it in oem modules or somewhere.
UC capable in Diamond
http://forum.xda-developers.com/showpost.php?p=2815602&postcount=222
UC capable is possible in Diamond. You only have to use my modified SDAutoRun.exe.
El Parra
#################
SDAutoRun Diamond compatible
Thanks Sleuth255 !!!!!!!
Well, I detected SDAutoRun fails in diamond. After a lot of tests I found Diamond uses the registry key 'mobiNAND' and SDAutoRun uses 'SDMemory'. Then I edited the .exe with a hex editor and modified the string in it. In my tests this tool has been working really well and I think it should works in any Diamond language ROM. I'm using and Spanish ROM ;-)
http://www.megaupload.com/?d=SUYMR923
NOTE: This version is for DIAMOND or devices with internal storage ONLY
Regards to everybody.
#################
Patched sdautorun? Interesting, thanks!
Will try.
I actually using the unpatched version (SdAutoRun V2.0) with the moviNand storage name changed to "Storage Card" in the SDConfig.txt I use
CAB: \Internal Storage\Cabs\MyCab.cab
instead of
CAB: \Cabs\MyCab.cab
Noonski trick of renaming the rgu entries helped here
Have two iritating things I cannot figure out myself, and cannot find these answers (have searched tryst me ).
1. Windows Media Player, the icon I would like to put it in a Multimedia folder (inside Programs), but when i edit initflashfiles.dat, i get a icon both in Multimedia and in Programs folder, how to controll the incon of Windows Media Palyer?
2. The weather plugin in TF3D, how to disable the auto update in the regestry, and what regestry to edit?
3. How to set date and time for the rom?
Would be nice if some one could help me with these two small issues, they are just so annoying, and cannot find the solution myself...
To disable auto download weather, i have this provxml registry tweak:
Code:
<characteristic type="HKCU\Software\HTC\Manila" translation="filesystem">
<parm name="Data.AutoDownloadOff" datatype="integer" value="1"/>
</characteristic>
For the date and time look for an OEM folder called "OEMVersion" and edit the provxml inside with this:
Code:
<characteristic type="HKLM\Software\OEM">
<parm name="ROMVersion" value="blahblah" datatype="string"/>
<parm name="ROMDate" value="12-Dec-12" datatype="string" />
</characteristic>
For the multimedia icon, i'm not sure but you can have a look in the iniflashfiles.dat file.
NitroOnTheRocks said:
To disable auto download weather, i have this provxml registry tweak:
Code:
<characteristic type="HKCU\Software\HTC\Manila" translation="filesystem">
<parm name="Data.AutoDownloadOff" datatype="integer" value="1"/>
</characteristic>
For the date and time look for an OEM folder called "OEMVersion" and edit the provxml inside with this:
Code:
<characteristic type="HKLM\Software\OEM">
<parm name="ROMVersion" value="blahblah" datatype="string"/>
<parm name="ROMDate" value="12-Dec-12" datatype="string" />
</characteristic>
For the multimedia icon, i'm not sure but you can have a look in the iniflashfiles.dat file.
Click to expand...
Click to collapse
Thanks man, you just made my day, have searched for days without result, many thanks .
Have though one small new problems, that maybe some one can help me with?
1. In TF3D Image tab, all images is showed, it should be a specific folder, how to change that?
2. In msn applicatio, the "From: and To:" is in english, but should be in Danish (everything else is), maybe just a regestry tweak?
Cant help with those.
Maybe you can find them with CE Regeditor.
Ok thanks, will look into it .
BTW am having problems getting the string below to work, how to set it to lets say 25 jan 2009 when first boot?
<parm name="ROMDate" value="12-Dec-12" datatype="string" />
Click to expand...
Click to collapse
Code:
<parm name="ROMDate" value="25-Jan-09" datatype="string" />
This works for me
NitroOnTheRocks said:
Code:
<parm name="ROMDate" value="25-Jan-09" datatype="string" />
This works for me
Click to expand...
Click to collapse
Still not show right date on first boot (the screen you come to after callibrating the screen), maybe there is a different string for that?
Aah, i think i misunderstood you.
You can't set the date and time directly for windows i think.
Time zone information you can set, i do it.
And after hard reset i use program like SKTSync to sync my time with internet via WiFi.
For Time Zone registry information look at these keys:
Code:
[HKEY_LOCAL_MACHINE\Time]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Clock]
No it is the date that you have to set after a hard reset, right after screen calibration, you have to set det/time...
whc said:
No it is the date that you have to set after a hard reset, right after screen calibration, you have to set det/time...
Click to expand...
Click to collapse
the date is set in xip in your kitchen.
qtotter said:
the date is set in xip in your kitchen.
Click to expand...
Click to collapse
Ok, but how is it done?
whc said:
Ok, but how is it done?
Click to expand...
Click to collapse
it's coded in the s000 file of the nk.exe module in xip. bepe's kitchen can change the date in s000.