I will made my own registry tweak solution inside a *.cab file via a included _setup.xml. this works for my with the most registry entries. but there is one that will not work, wehen i include a _setup.xml with this setting, the *.cab can not be installed.
<parm name="Default" datatype="string" value="\Windows\wceload.exe "%1" /nodelete"/>
Click to expand...
Click to collapse
the problem is the value with %1 in double quotes. how can i made this entry correctly ?
another question is: how can i made small user form, to ask the user, to install all of this registry setting or only this or this entry ? do i need a vidual c++ ide for this ? or is there a freeware solution available ?
If you know c++ the IDE is free. Just search MS site for embedded visual c++ 4.
For what you want to do you can't use a cab since you can't force a cab to install part of its settings. You would need to write a "tweak" program if you want to let the user choose which registry to change.
No idea on the quotes though.
I have found a solution for the quotes problem. i have changed theline to
<parm name="Default" datatype="string" value='\Windows\wceload.exe "%1" /nodelete'"/>
Click to expand...
Click to collapse
and now it works.
i will try the ide in the next days, i have worked with borland's c++ builder 5 for some years... i hope its nearby the same... thanks for your help...
12345678910
So there you are; in the heat of the kitchen, adding your favourite ROM ingredients ... pinch of this, sprinkle of that. Like all good chefs, you decide to take a taste of your preparation before serving to others - nothing is more embarrassing than a meal gone wrong.
So you try it ... wait! you say, something is not right. You're positive you added the ingredients but it's not right. Could it be that a darn .PROVXML didn't get processed in a package? Which one? Time to look at the .PROVXML and check if the entries made it ... what happens if you have a hundred or more .PROVXML's in your kitchen .\PACKAGES or .\EXT folder?
Well, here's a few quick tips for those who love/hate those .PROVXML's
Tip #1: dotFred (FdcSoft) Task Manager 3.1
dotFred Task Manager includes an option to install Provision(er) .XML files. To use it however, you need to make sure that an .XML header appears as the first line of your .PROVXML file. Additionally, you'll need to temporarily rename the .PROVXML to .XML before copying to your device for testing with dotFred Task Manager.
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Once you've confirmed that all is well with your .XML, remove the .XML header and rename the file back to .PROVXML ... you're done.
URL: http://www.dotfred.net/TaskMgr.htm
Tip #2: Log .PROVXML Processing
Another handy little trick, is to add the following code to the end of your .PROVXML file. Place the code at the end of the .PROVXML file - just before/above the </wap-provisioningdoc> statement. This way, the characteric is the last item processed if all is well with the contents of the .PROVXML file.
Place your logging registry value in the OEM registry sub-key; for example, HKLM\Software\OEM\PROVXML ... same place as the MASD sub-key where package version information usually appears. Saves having to look all over the device registry.
Code:
<wap-provisioningdoc>
...
<!-- Add Registry Entry To Log PROVXML (XDADevelopers DD.MM.YYYY) -->
<characteristic type="Registry">
<characteristic type="HKLM\Software\OEM\PROVXML">
<parm name="[COLOR=blue]<SIMPLENAME>[/COLOR]" datatype="string" value="[COLOR=blue]<PROVXMLFileName>[/COLOR]" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
<SIMPLENAME>
Simple friendly registry (REG_SZ) value name; stick with the basics: a-z, A-Z, 0-9. For example, if your .PROVXML file is entitled mxip_Package_MyApp_0_0_0_0, you could set the [SIMPLENAME] to: MyApp0000
<PROVXMLFileName>
Actual .PROVXML filename; that's what it's all about right? What's the point of adding something meaningless. For example, if your .PROVXML file is entitled mxip_Package_MyApp_0_0_0_0, you would set <PROVXMLFileName> to: mxip_Package_MyApp_0_0_0_0.provxml.
Tip #3: RAPICONFIG
Another method to test .PROVXML file is to use the RAPICONFIG utility. XDA members cruiserrr and kheechun report that RAPICONFIG is a quick (and painless) way to test .PROVXML files. Copy the RAPICONFIG (and other utilites) to your kitchen, connect your mobile device via ActiveSync, prepare an .XML file with the registry keys to upload/download, and submit the .XML via RAPICONFIG.
URL: http://forum.xda-developers.com/showthread.php?p=1899755#post1899755
URL: http://msdn.microsoft.com/en-us/library/bb737283.aspx
Tip #4: ANSI or Not To ANSI. And If Not, UTF-8 with/without Signature
Well that is the question, and frankly, i'm not sure there's a right or wrong answer. For example, some Microsoft forum/blog entries seem to elude to ANSI being the preferred choice if the .PROVXML will contain certificate information.
Other forum/blog entries and seasoned chefs will tell you to save them as UTF-8 with Unicode BOM Signature. Others yet, will recommend UTF-8 ... no signature.
So, that is the question indeed ...
Understanding Provisioning
http://msdn.microsoft.com/en-us/library/aa456234.aspx
Metabase Settings
http://msdn.microsoft.com/en-us/library/bb737493.aspx
Provisioning for Windows Mobile-Based Devices
http://msdn.microsoft.com/en-us/library/ms894922.aspx
Configuration Service Provider Reference for Windows Mobile-Based Devices
http://msdn.microsoft.com/en-us/library/ms889539.aspx
Thanks for sharing, these are all good suggestions.
In my case, when I want to know if my provxml is going to work, I usually just put the file into an installable cab and run it on the phone. If setup was successful, then at least I've confirmed that the syntax was good.
You have to rename the *.provxml file to _setup.xml and then insert it into a cab with:
Code:
MAKECAB _setup.xml InstallCabFile.cab
Another tool to check syntax is the free Microsoft XML editor.
Best regards,
-boggsie
boggsie said:
Another tool to check syntax is the free Microsoft XML editor.
Click to expand...
Click to collapse
XML Notepad 2007
http://www.microsoft.com/DownLoads/...49-787d-4118-ba5f-4f30fe913628&displaylang=en
IMHO the most "easyer" way to know if the syntax is OK is to rename the provxml to .xml and double click it:
If properly written, Internet Explorer (IE) will launch and display the full text
If not, IE will display where it stopped reading (where the error is) and the provxml will not be displayed
Other important aspect is the "file operations":
A provxml will not execute a file operation on a non-existing directory (folder), so the whole provxml contents won't be executed
my 2 cents and congrats for all your great tuts hilaireg
Very, very nice info indeed. HUGE thanks for sharing these tips!
gtrab said:
Other important aspect is the "file operations":
A provxml will not execute a file operation on a non-existing directory (folder), so the whole provxml contents won't be executed
Click to expand...
Click to collapse
This is virtually always what trips me up - forgetting to make a dir before doing something.
With regards to ANSI/UTF-8 etc. I always save as UTF-8 (no signature) and don't have any issues. If I mistakenly save as something else (perhaps by copying the xml into a new file) then I have problems with it not running.
I use all the methods commented here but I am missing another one: rapiconfig.exe lets you download the registry part you want as xml and as well upload it. Combining this with ceregeditor and a dump key like described above it is easy to see if things happened. In fact, rapiconfig can download the answer to a file as well.
Very useful for the start menu, hardkeys, owner, etc.
indeed, I found that RAPICONFIG.exe is the BEST so far, really made my life much easier OP if possible please include that to the top post
It would be my pleasure to add that to the first post. I haven't personally tried this method ... would you mind writing up the steps/procedures and any tips? If you have some links, it would be helpful to have them as well in case other members need the tools.
Cheers,
hilaireg said:
It would be my pleasure to add that to the first post. I haven't personally tried this method ... would you mind writing up the steps/procedures and any tips? If you have some links, it would be helpful to have them as well in case other members need the tools.
Cheers,
Click to expand...
Click to collapse
here you will find a great post with a nice how-to-do.
http://forum.xda-developers.com/showthread.php?p=1899755#post1899755
Yup, found it via the above link as well, it contains instructions on how to extract binary data into XML/provisional XML for UC.
However if you want to test your XML/PROVXML, just use the command
rapiconfig.exe /p <file.xml>
It'll feedback if there is any error in the XML.
However to make a postivie confirmation, you still have to check your file system/registry to see if the actions are taken.
Here is the official information:
http://msdn.microsoft.com/en-us/library/bb737283.aspx
Provisioning overview and Rapi~ Utilities
What can be 'provisioned' for phones?
1 Server provisioning
2 User provisioning
3 Mobile subscriber provisioning
4 Mobile content provisioning
5 Internet access provisioning
Provisioning Mobile Devices an introduction/article about 'provisioning'.
Windows Mobile Provisioning Samples some samples provided by Microsoft
Understanding Provisioning This is the main concept
Here my RapiUtils;
- RapiAttr: Modifies a file's attributes
- RapiCopy: Copies a file between the desktop and a connected device
- RapiDir: Create or remove a directory on the device
- RapiExists: Determines if a file exists
- RapiMove: Move or delete a file on the device
- RapiProc: List and terminate processes on the device
- RapiReg: View and modify registry keys on the device
- RapiStart: Launches an executable on the device
- RapiSync: Sync files from a directory to the device
- RapiTime: View and modify a file's timestamp
- RapiTree: Produces a "dir" like output of a directory.
- RapiGrab.bat: Uses RapiCopy to take a screen shot of the device and copy it to the desktop
- BatteryMon.exe: Desktop utility to present a simple graph showing battery charge for a connected device.
- CeKeyboard2.exe: Desktop utility to copy keyboard keys from the desktop to a connected device.
.NET XML PowerToys:
Generating XML Documents from XML Schemas
The XML Diff and Patch GUI Tool
Using the XML Diff and Patch Tool in Your Applications
Using the XSD Inference Utility
XML Tools Update
Power Toys for .NET Compact Framework 3.5
&
NETCFv35.Messages.EN.wm.cab
MSXML SDK
Would it not be great when we have a Bootstrapping Server here on XDA-Developers ? Converting our _setup.xml via makecab into *.CPF (CAB Provisioning File) and upload 'm to our (future) OMA DM server <g>
Understanding Bootstrapping
Have a nice read and rapi-config-battle,
Edit:
While surfing the net I stubmled upon Mobile Profiler (freeware) and it does a nice job for me; creating on the fly wap-provisioningdocs
-=[ extract downloaded *.exe with Universal Extractor to obtain the *.cab without using ActiveSync ]=-
Mobile Profiler (slightly edited) description;
Mobile Profiler is a tool for creating and restoring system states in XML based snapshots.
It is specialized to save and restore network settings like proxy servers and connection entries. Though there is more..
Whenever you switch a phone profile, Mobile Profiler restores the assigned snapshot.
There is a stand alone mode available for users without phoneAlarm (not free) or for manual switching. \o/
Many things can be stored into a snapshot ;
system settings,
registry keys,
file operations.
The snapshots are simple XML document which can be manipulated with any unicode aware editor.
Have fun,
Senax
I also had a problem with my .provxml and sometimes I wonder if the file itself was missed.. are there any standard naming of .provxml files? I had my .provxml configuration files in "Sources\Devices\HTC Raphael\OEM Packages\HTC Raphael Packages\OperatorPkg" am using osKitchen by the way..
I really don't see any errors in my .provxml but you can take a look at it and tell me if I missed something.
-update-
oh and I got to ask, I read here somewhere in this thread that if the reg key does not yet exists, it will not read my specific reg entry? Is there anyway that I can create this key using .provxml?
Nullstring said:
I also had a problem with my .provxml and sometimes I wonder if the file itself was missed.. are there any standard naming of .provxml files?
Click to expand...
Click to collapse
Assuming you have looked at the links in Post #1 (Tip 4), I haven't found much more on the subject.
I had my .provxml configuration files in "Sources\Devices\HTC Raphael\OEM Packages\HTC Raphael Packages\OperatorPkg" am using osKitchen by the way..
I really don't see any errors in my .provxml but you can take a look at it and tell me if I missed something.
Click to expand...
Click to collapse
Other than the header not having been removed as noted in Post #1 (Tip 1), the rest of the file looks fine to me. Have you tried using FDC Task Manager to import the .PROVXML?
oh and I got to ask, I read here somewhere in this thread that if the reg key does not yet exists, it will not read my specific reg entry?
Click to expand...
Click to collapse
AFAIK, the registry key should be created automatically - providing of course that the key path is valid.
Is there anyway that I can create this key using .provxml?
Click to expand...
Click to collapse
I make use of .provxml files extensively in my Raphael Kitchen; feel free to download it and examine the operator packages.
@hilaireg
thank you for that wonderful information! After fixing these xmls in VS IDE, they finally worked.. I just removed these comments and extra blank lines and put all these reg entries in one node <characteristic type="Registry"> they all seems to work now.
1 last question. in my OperatorPkg folder, I have 10 .provxml files and they were named mxiupdate_oemoperators_###.provxml + 1 mxiupdate_OEMVERSION_###.provxml
is it ok to just add my own .provxml? If I try to name it not in standard way like my_own_settings.provxml, is that ok?
Nullstring said:
@hilaireg
thank you for that wonderful information! After fixing these xmls in VS IDE, they finally worked.. I just removed these comments and extra blank lines and put all these reg entries in one node <characteristic type="Registry"> they all seems to work now.
1 last question. in my OperatorPkg folder, I have 10 .provxml files and they were named mxiupdate_oemoperators_###.provxml + 1 mxiupdate_OEMVERSION_###.provxml
is it ok to just add my own .provxml? If I try to name it not in standard way like my_own_settings.provxml, is that ok?
Click to expand...
Click to collapse
You should be able to add your .provxml to those that appear, observe the file naming convention however. Some .provxml only run when the device goes through a full reinitialization (first-time run), others run whenever the device is reset/soft initialized.
REF: http://msdn.microsoft.com/en-us/library/bb737493.aspx
Lastly, I usually create my "operator" package which contains all of the .provxml I need.
Cheers,
Provxml sequence: 1.) mxipcold*, 2.) mxip_* 3.) mxipupdate
Basically a copy of what I just wrote to the OSB thread, however technically it belongs better here:
You know that there are not many methods to debug this early phase of boot when the provxml execute, so I supplied a dedicated trace at the end of each provxml:
Code:
<!-- trace execution begin
*** change the [B][COLOR=Red]<filename>[/COLOR][/B].traced below to the name of
*** the .provxml where you copy this at the end.
Purpose: Utilize the creation of a shortcut
to get a system timestamped artifact in the context
of the current provxml execution.
After Cold Boot (Hard Reset), you can sort the
directory \Windows\ProvXml\ by file date and
you have the sequence of .provxml execution listed.
-->
<characteristic type="FileOperation">
<characteristic type="%CE2%\ProvXmlTrace" translation="install">
<characteristic type="MakeDir" />
<characteristic type="[COLOR=Red][B]mxipupdate_windowslive_1[/B][/COLOR].traced" translation="install">
<characteristic type="Shortcut">
<parm name="Source" value="%CE2%\solitare.exe" translation="install"/>
</characteristic>
</characteristic>
</characteristic>
</characteristic>
<!-- end of trace activity -->
Result was that from all executed provxml (their names were timestamped traced in the \windows\ProvXmlTrace directory) the sequence is this:
all mxipcold* in the relative sequence of their packages.sof
mxip_* others (also mxip_cold_* which is something that the HtcInit may care about later) in the relative sequence of their packages.sof
all mxipupdate* in the relative sequence of their packages.sof
Mind that the name of the package in the name of the provxml file is the reason to pick it like above, not the directory it is stored in! So no matter where you store the *.provxml in your kitchen path, it is only the name and the highest priority match it has for execution above.
I noticed this because I had a file "mxipcold_smartfon_TB.provxml" put last in the sequence row of my packages (some Z_OEM_my settings), also had the *.DSM set correctly and likewise the packages.sof definition. However there was also a file "mxipcold_smartfon_1.provxml" which was part of the \SYS\CommonNonEA package and this was further up the list in packages.sof. Still it was not at the top of the list, where only other mxip_* and mxipupdate packages were located. So for sure it is that first come all mxipcold*, then all mxip_* and finally all mxipupdate packages. It is also sure that mxip*<packagename>*.provxml will be executed at highest place in priority no matter by which <guid>.dsm in the packages.sof it has been elevated there.
You must note that HTC (others maybe as well) have an additional method to initialize the device. You may find a driver "htcinit.dll" in the OEM drivers section which will then call a "HtcColdBoot.exe". This may have additional capabilities and put the mxip*.provxml in possibly another sequence.
Since this is part of the OEM and the native Windows mobile has their own coldboot treatment (via coldinit.exe) their worksplit and alignment requires dedicated attention if you want to keep the OEM part.
Above findings come from the pure Windows Mobile treatment (i.e. without htcinit.dll driver).
You can trace sequence with above listed method in your own environment.
hi guys,
having issues with a 6.5 kitchen...
image files arent being associated with any program...
does anyone know how i can revert to the default HTC pimg.exe (image viewer) or even HTC album
this will be for .jpg / jpeg / .bmp / .gif files
if someone can help me with cooking this into my rom it'll be muchly appreciated
cant believe no one is willing to help
ryousuke said:
cant believe no one is willing to help
Click to expand...
Click to collapse
try this here
thanks for the reply but i'm hoping to do this via registration @ OS install rather than through software post wm6.5 setups...
any one else able to create a reg to implement it?
i can not belive
nobody willing to help you
you can fix it yourself !!!
if you just used the "search button"
for bug correcting
1. correct the bug
2. open an reg editor
3. save the key that you need as name.reg
4. add it to your kitchen
also you can add metadata folder to sys
REGEDIT4
[HKEY_CLASSES_ROOT\jpegfile]
@="JPEG Image"
[HKEY_CLASSES_ROOT\jpegfile\DefaultIcon]
@="\windows\HTCAlbum.exe,-300"
[HKEY_CLASSES_ROOT\jpegfile\Shell]
[HKEY_CLASSES_ROOT\jpegfile\Shell\Open]
[HKEY_CLASSES_ROOT\jpegfile\Shell\Open\Command]
@="\windows\HTCAlbum.exe "%1""
this is the patch for you
fo the same for all picture extensions
or you can just edit
Album_3_2_19193429_0\files\mxipupdate_MASD_zzzHTCAlbum_RegKey.provxml
<characteristic type="HKCR\jpegimage\DefaultIcon" translation="filesystem">
<parm name="" datatype="string" value="HTCAlbum.exe,-300" translation="filesystem"/>
</characteristic>
to
<characteristic type="HKCR\3gpfile\DefaultIcon" translation="filesystem">
<parm name="" datatype="string" value="HTCAlbum.exe,-300" translation="filesystem"/>
</characteristic>
all this with just an simple search
i did search here and in google all wkend...
tried first method with the reg editing still not working...
will try the 2nd method tomorrow when i have some time...
htc album often has a provxml that fixes the file associations for album. find the packages from mega and edit the provxml to be pimg instead of album. provxml gets installed at first boot without the need for auto run. that would be the sure way to fix your problem.
i'll check the provxml file when i get home (will comment the fields out)
thing even if i dont install HTC album the files arent associated...
and i recall the provxml file already 'trying' to add associate to htc (obviously not working) as when i added it to enrivus kitchen the software works but as mentioned above no link in file explorer / titanium pictures.
thanks for the help
Hello,
I have a question.
For a answer i already looked around at the net and have read some threads at xda, modaco, and some site at msdn.
The short version: how do i remove a dir from the register with a .xml file?
The long version:
I need to remove a dir from the registry.
I opened a new text document and saved it as _setup.xml.
In this .xml file i wrote:
<characteristic type="Registry">
<nocharacteristic type="HKLM\Software\Microsoft\Shell\DeviceBeta" />
</characteristic>
</characteristic>
After that i opened Quickcab in the first field I put in by application name 1 and by owner 1.
By the second screen I add the _setup.xml file to the windows folder
At the next screen i do nothing and click on create.
I save it as _setup.cab.
After the .cab file is maked i move it to my phone and run it from my phone.
It says that evreything is installed and so on.
But when i reboot my device nothing happened and the dir. at the register is still there.
What am i doing wrong?
Do i need to put something more in the .cab file?
Please respect forum rules no double posts.
http://forum.xda-developers.com/showthread.php?t=647953
On that note thread closed.
Hi
Like all non english user know the camera settings are missing.
it's not possible to set 720p in other languages.
To fix this install attached Xap.
Then with TouchXplorer.
move the xml files created in /My Documents/My Ringtones/
to the /Windows/ folder.
Reboot your device and enjoy all camera settings in your own language.
Works perfectly, i now have the camera settings in french! Thanks a lot!
Thanks Works perfectly
Thanks very much.
I was looking for this to get the full camera settings with the handset location set to English (UK) rather than English (US).
Lots if people search a solution for this.
if someone can sticky this thread
that can help a lots of users.
When I did it, it was working but my phone was rebooting every 5 minutes.
So I had to remove these files.
Xperia20 said:
Thanks very much.
I was looking for this to get the full camera settings with the handset location set to English (UK) rather than English (US).
Click to expand...
Click to collapse
Go into the windows directory, find the camera settings 0409. Rename it to 0809, TouchExplorer will complain it cant rename it, but it will create a new copy of the file named camerasettings.0809.xml and voila you will have the settings in your camera app bonza
Use this in your custclear.provxml to add the en_GB camera settings
Code:
<characteristic type="FileOperation">
<characteristic type="windows\camerasettingsmanifest.0409.xml" translation="install">
<characteristic type="Copy">
<parm name="Source" value="windows\camerasettingsmanifest.0809.xml" translation="install" />
</characteristic>
</characteristic>
</characteristic>
xboxmod said:
Hi
Like all non english user know the camera settings are missing.
it's not possible to set 720p in other languages.
To fix this install attached Xap.
Then with TouchXplorer.
move the xml files created in /My Documents/My Ringtones/
to the /Windows/ folder.
Reboot your device and enjoy all camera settings in your own language.
Click to expand...
Click to collapse
can you add Chinese there ?
petersun21 said:
can you add Chinese there ?
Click to expand...
Click to collapse
xbmod is no longer doing development on xda. why don't you read the previous 2 posts...they tell you how you might add chinese. the numbers are the language codes.
hjhjhj said:
xbmod is no longer doing development on xda. why don't you read the previous 2 posts...they tell you how you might add chinese. the numbers are the language codes.
Click to expand...
Click to collapse
Do not understand previous two posts. Managed to have the Chinese camera settings copied to /windows directory. It works fine. However, Chinese camera settings is lost after resetting the phone. Is there a way to persist the translation. I have htc titan as well. The camera settings work just fine after installing Chinese on the device.