XmlToReg - Convert registry provisioning files to .reg files - Windows Mobile Software Development

There are several tools available for converting .reg files to xml registry provisioning files, but none for going in the other direction. Admittedly, not quite so common a requirement, but could still come in handy.
This is a Windows command line tool which accepts an xml registry provisioning file as the only command line argument (just drop the .xml file on the .exe), and produces a .reg file next to it, in RegEdit v5 Unicode format.
Comments, suggestions, and bug reports all welcome.
Alex
Updates:
0.2:
Now supports empty values for String, MultiString and Binary values
.NET Framework (required)

AlexVallat said:
There are several tools available for converting .reg files to xml registry provisioning files, but none for going in the other direction. Admittedly, not quite so common a requirement, but could still come in handy.
This is a Windows command line tool which accepts an xml registry provisioning file as the only command line argument (just drop the .xml file on the .exe), and produces a .reg file next to it, in RegEdit v5 Unicode format.
Comments, suggestions, and bug reports all welcome.
Alex
.NET Framework (required)
Click to expand...
Click to collapse
Brilliant Alex. Simply brilliant

Hi Alex,
wow, I think it took only 2 days from when I told you about my idea until you turned it into a usable solution!
Congratulations and a big thank!
One thing that occurred when I tested with some of my xml files (seems that I've always got the strangest testing files one can imagine...)
<characteristic type="Registry">
<characteristic type="HKLM\Comm\TIACXWLN1\Parms\TCPIP">
<parm name="WINS" value="" datatype="multiplestring"/>
</characteristic>
</characteristic>
The empty string value="" leads to a conversion abortion.
Maybe you can build in a fix for such a situation?
Thank you very much again for turning this into reality and I'll let you know in case i'll find anything else that needs to be fixed if you don't mind!

Version 0.2 released
Thanks for pointing that out, I hadn't considered empty values. I don't think an empty value is valid for a numeric or boolean data type, but there's no reason a string or binary value shouldn't be empty. Version 0.2 should handle them properly, and is now available in the first post.
Alex

First, it's great that you made this app! But, I am having an issue with this.
I don't know why, but it doesn't make a real reg file. I just get an empty one!
I am attaching the provxml I tried it with!

That provxml isn't a registry provisioning file. It claims to be a "Metabase" provisioning file, which is one I'm not familiar with. It does seem to contain registry data, though, just not in the Registry provisioning format. What produced this file?

Too bad. This is a provxml for a language SYS package for a WM 6.1 Standard ROM. I wanted to make CABs out of the packages, because not all languages fit in one ROM and I don't want to male 3 ROMs just for all languages. Unfortunately if I don't add the information of this file, not everything gets translated
Thanks for your help!

Thanks for this great tool buddy. I was looking for it since long ago.

Good app THX

Great app Thanks

Related

Problem Creating OEM Packages

Hello developers,
I'm currently trying to create an OEM package for CHT support,
I've extracted the files into a folder called "CHT", inside that, I've created three documents,
f50e9a40-aed9-497a-bdea-84451210e960.dsm (blank file, nothing inside)
f50e9a40-aed9-497a-bdea-84451210e960.rgu (registry entries, everything is working fine i have tried)
option.xml
I understand that the option.xml is there to provide the checkable state for OSBuild.exe. I now have the entry written as:
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Items>
<Item name="CHT" group="CHT" checked="false">
<Tip>Traditional Chinese Input and Display</Tip>
<Guid type="p">f50e9a40-aed9-497a-bdea-84451210e960</Guid>
</Item>
</Items>
and saved it in that same folder.
when I run OSBuild.exe, it kept crashing. i am sure that it's the xml entry that is causing it to crash, but I have no idea why. Does anyone have any idea?
p.s. I am sure that the packages other than option.xml works because i've tried to combine it into \SYS\BaseApp folder and compile it, it runs flawlessly on my hermes
please advice
Option.xml is optional, just build it without that file...
I know but i just wanted to make the xml file so that it can be a selectable option for an oem package for others
I managed to have it fixed now, thanks to Cab Creator. Now i face another problem - my package has a wince.nls, and when i have it used as an OEM package, it compiles fine, but OSBuild tells me "error, wince.nls already exist". then i remember that the OS itself does have a wince.nls. I need to replace that file when i compile this OEM package, so is there any way to set the oem package to overwrite it by default, or do i have to manually remove it from SYS\WinCENLS_WWE ?
i did that before...just replce WWE NLS file with CHT one
yeah i know, but then it will not be a standalone OEM package that i can distribute for others.
AFAIK there is no simple workaround to achieve what you want. There are a number of files that I have had to cook in the old fashioned way rather than via selectable packages.
If you find a solution I would be most interested.

[Q] ROM Cooking: .RGU VS .PROVXML

Hi everyone,
I'm wondering about the differences between these files, since they are both used to modify registry. Well PROVXML files seems to be more powerful with file management.
Which one is better to use ?
Quick:
provxml is not only for change registry.
For file operations too.
And .provxml writes in the registry after .rgu, so if you want to change something for sure, you should use .provxml
maxstegi said:
And .provxml writes in the registry after .rgu, so if you want to change something for sure, you should use .provxml
Click to expand...
Click to collapse
Wow this is a very good point you mentionned here ... i did not know in which order the information is written into the registry. Thank you man !
But what about the order these files are dumped into the final registry ... Is it by package name ?
For example, i have in my cooking OEM:
- PACKAGE_Diamond_A
----mxipupdate_A.provxml
- PACKAGE_Diamond_B
----mxipupdate_B.provxml
What will be the result if these two packages write at the same location different value?
Will the value be the A one or B one ?
Saw something like: *_100.provxml, *_200.provxml ...

[APP] Michy's Installer - complete wceload repleacement!

- Michy's Installer -
​Have you ever got an "Installation Unsuccesfull" message? Or a "Uninstall failed" message? Or worst thing an "Missing privileges" while installing a cab?
Now this messages are gone. With my installer, which is a complete Wceload and uninstaller replacement, any installation will complete without any problem
Main features:
Full repleacement for winceload
Select if you want or not to run setup dlls
Avoid failing for missing privileges
Get the space that an'installed app consumes after installing too
Search within your device the cabs you have and select what you want to install
Analyze FB_Install folders
Batch cabs installation
Installation processes can be aborted any time
If you are overwriting exes, they will be automatically terminated before installing
Advanced cab analyzer (view files contained, shortcut, regs, extract them......etc)
- MichyPrima_UC - ​
This system will let you to install:
.reg
.cab
.rgu
.xml
.provxml
.exe
Putting them in your SD/Microdrive/Diamond internal storage in the folder FB_Install. And them will be installed at first boot.
Information about files you can install:
- Files .cab -​
For a base installation of cabs you can put them in the folder FB_Install. Setup DLL will not be executed to avoid setup freezes. Anyway, there are ways to customize how your cab will be installed:
Installation to SD
Installation to MD
Activating Setup DLL
Possibility to use wceload to install (not advised)
For using them:
If your cab is mycab.cab and you want to install it to sd, simply create a file called mycab.tosd. if you want to install to MD, the name will be mycab.tomd, if you want to enable setup dll, the name will be mycab.enabledll. If you want to install using wceload... use .old extension.
- Files .reg, .rgu, .provxml e .xml -​Simply put them to FB_Install directory
- Files EXE - ​For a simple execution put them in FB_Install folder. If you need command line arguments, simply put them in a file called as your exe, but with .arguments extension.
- All files - ​All files can be skipped using .skip extension. eg if your file is mycab.cab , create a file with mycab.skip and it will not considered
- Other special functions: -​
File/folder structure restore
Creating the structure on SD it will be reversed into storage. We have more than only one folder where we can put our files (in FB_Install):
CopyInWindowsFolder (\windows)
CopyInProgramsFolder (\windows\start menu\programs)
CopyInProgramFilesFolder (\program files)
CopyInFavoritesFolder (\windows\favorites)
CopyInFontsFolder (\windows\fonts)
CopyInStartupFolder (\windows\startup)
CopyInRootFolder (\)
So, for copy/overwrite files in windows folder, only thing you need is to create a folder in FB_Install with name CopyInWindowsFolder. This is a recursive copy, so all subfolders will be copied.
Shortcut restoring
You can specificate the shortcut to create in shortcuts.txt file and put it in FB_Install folder. Each line will be a shortcut to create. The first part of the line contains where the shortcut will be, 2nd where the shortcut will point. The two parts are separated by ":".
We have ids there to:
%SD% (\storage card)
%PROGRAMS_STARTMENU% (\windows\start menu\programs)
%PROGRAM_FILES% (\program files)
%STARTUP% (\windows\startup)
%MYDOCUMENTS% (\my documents)
Example line:
%PROGRAMS_STARTMENU%\Test.lnk:%SD%\myprogram.exe
This line will create a "Test.lnk" in programs which points to \storage card\myprogram.exe.
Possibility to avoid final reset (not advised)
Just create a file with name NoResetAtEnd without extension in FB_Install folder.
Possibility to temporarily skip customization
Just create a file with name SkipCustomization without extension in FB_Install folder.
Do you want to process config lines to runcc?
Create a file with name AddToConfig.txt and there put your config lines.
Possibility to delete files or folder
Create a file with name Delete.txt. Each line is something to delete. You can use IDs as shortcuts
All I have to say is
Wow, sounds extremely "will have it now"!
Cool
Michy,
This shold be a nice addition to the tool box.
cheers
BR
Attempt of graceful recovery from dbl post
Cool
Michy,
Very nice work. I can't wait to see this released.
Cheers
BR
Michy, you are great!!
Wow, this must have been a LOT of work. Tnx a lot for your efforts!!
Sounds great!
Sounds very useful for those of us that change roms often.
Good work.
PS
My personal holy grail would be an APP that records changes as apps are installed to a point where I am happy then be able to gather all of the changes and build an install routine! Am I dreaming?
Wow sounds awesome and a gui, can't wait & thankyou
SIMPLY AMAZING!!!! cant wait...this should save me tons of time, and unlike other appz this seems easy 2 use and great!!!....thanks for ALL the hard work! ..waiting patiently
ehi my friends! good job, I'm sure that this program is excellent as the other your developments!
Put it online
This sounds amazing!!!
Italians do it very well!!!
Translators needed!!!
Please if anyone interested translating my application, this is the english file to translate and post back:
Code:
<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<Language>
<FormMain>
<ListviewColumn1>File</ListviewColumn1>
<ListviewColumn2>Dest</ListviewColumn2>
<ListviewColumn3>Instl.Size</ListviewColumn3>
<ReadyMsg>Ready.</ReadyMsg>
<AbortSoftKey>Abort</AbortSoftKey>
<InstallingMsg>Installing </InstallingMsg>
<AddItemBtn>Add item</AddItemBtn>
<RemoveItemBtn>Remove item</RemoveItemBtn>
<InstallSoftKey>Install</InstallSoftKey>
<MenuSoftKey>Menu</MenuSoftKey>
<MenuItem1>Exit</MenuItem1>
<MenuItem2>About</MenuItem2>
<MenuItem3>Clear list</MenuItem3>
<MenuItem4>Enable setup dll</MenuItem4>
<MenuItem5>Get cabs from storages</MenuItem5>
<MenuItem6>Load FB_Install folders</MenuItem6>
<MenuItem7>Uninstaller</MenuItem7>
<MenuItem8>Cab Info</MenuItem8>
<Msg1>Not enough space for this cab: </Msg1>
</FormMain>
<SearchCabsForm>
<Title>SearchCabs</Title>
<ListViewColumn1>File</ListViewColumn1>
<OkSoftKey>Ok</OkSoftKey>
<MenuSoftKey>Menu</MenuSoftKey>
<MenuItem1>Refresh</MenuItem1>
<MenuItem2>Select all</MenuItem2>
<MenuItem3>Unselect all</MenuItem3>
<MenuItem4>Invert</MenuItem4>
<MenuItem5>Cancel</MenuItem5>
</SearchCabsForm>
<SelectCabDialog>
<Title>Select cabs</Title>
<OkSoftKey>Ok</OkSoftKey>
<MenuSoftKey>Menu</MenuSoftKey>
<MenuItem1>Up</MenuItem1>
<MenuItem2>Select all</MenuItem2>
<MenuItem3>Unselect all</MenuItem3>
<MenuItem4>Invert</MenuItem4>
<MenuItem5>Cancel</MenuItem5>
</SelectCabDialog>
<SelectDestinationDialog>
<Title>SelectDestinationDialog</Title>
<OkSoftKey>Ok</OkSoftKey>
<CancelSoftKey>Cancel</CancelSoftKey>
</SelectDestinationDialog>
<Uninstaller>
<Title>Uninstaller</Title>
<ListviewColumn1>App</ListviewColumn1>
<ListviewColumn2>Mem.Usg.</ListviewColumn2>
<UninstallSoftKey>Uninstall</UninstallSoftKey>
<RefreshSoftKey>Refresh</RefreshSoftKey>
</Uninstaller>
</Language>
the filename should be Installer_CID.xml where cid is your cid. eg for italian: 410, english 409.
Edit: of course the italian one is already made by me
Thst is a great tool, anxiously waiting for release! Thank you sooo much!
Looks like a great tool ,and tools like this make other phones look primitive
Russian?
I might do a Russian translation. as soon as I have the time. in any case, I wanted to subscribe, so I made a post.
Looking forward to the release. when is it?
looks like an awesome tool... is it gsm specific or will it run on cdma phones?
Wow, nice release!! simple but powerful =)
benoahriz said:
looks like an awesome tool... is it gsm specific or will it run on cdma phones?
Click to expand...
Click to collapse
Should work fine on CDMA devices. A CAB's a CAB, CDMA or GSM
Dave

[rgu support] WinCE Registry Editor (mRegEdit), v.0.5.5

[Updated 21.02.10] New version 0.5.5 with rgu support !!!
WinCE Registry Editor (mRegEdit), v.0.5.5
Description:
An application to work with registry files with MDI graphic interface.
- supported files: .hv, .rgu
- not supported yet: .reg, .provxml, .fdf
Release history:
---------------------
V. 0.5.5
+ Support .rgu files
V. 0.5.4
+ Added search function
V. 0.4.0 (Beta)
Thanks will try
New version 0.5.4 with search function !!!
New version 0.5.4 with search function.
AnDim
Nice App Work with it right Now it's really nice
Thanks
Hi AnDim,
Nice tool to use in combination with the htcRIE tool. Thank you for that! Anyway you could make it possible to import reg- or rgu-files? That would make this even better!
Cheers,
/Cacti
Support .rgu files
Very nice utility, thank you for this.
I am using it on Windows 7 and one thing I did notice is that when browsing for a file to open it did not show any of the .rgu files. I had to go to the Files and Folders options on my computer and uncheck the option to Hide Protected Operating System Files. Using Ervius Visual Kitchen, I do not have to do this so maybe there is a option somewhere that can be set in the code to show all of the files? Would be great to include this as an option somehow.
Thanks for the new relase
Whats up with some keys being in red color?
And what does the program do when inside the file exist two value names with the same value data in the same key?
It keeps the last one?
Like this:
[HKEY_CURRENT_USER\ControlPanel\Sounds\VTCallWaiting]
"Category"="InCall"
"Category"="Ring"
Thanks.
Edited...
It seems that the keys in red are the keys that will be deleted.
And the last one is kept.
Could you add an option to ask the user which value to keep?
I'm not getting how to use this. How do I connect to my device? I assumed I had to find the default or user.hv files, but I cannot find them.
Thraka said:
I'm not getting how to use this. How do I connect to my device? I assumed I had to find the default or user.hv files, but I cannot find them.
Click to expand...
Click to collapse
Copy them to your desktop (out of \windows).
When should we expect a newer version? Any thoughts on my suggestion on my previous post?
Please add import rgu option it would be very useful anyway thanks for this great app
thank you .............
Hello,
This tool is fantastic. It's the only program that allowed me to change my .hv files without problems (I tried CeRegEditor and manual RGUcomp but all these methods failed in my case).
The only thing I miss is the possibility to import data from rgu/reg or even txt. Pleeeease
Regards
Skrobel

Merging Registry Files...

I am using Visual Kitchen to build my ROMs. There are five types of files that are used to eventually create the registry: *.hv *.rgu *.reg *.provxml *.xml. I'm trying to find a program that takes all these files one by one and create ONE *.rgu file. When adding keys to the One.reg the program should check whether the key exists with different value and ask the user whick value to keep. Is there a program like that? Could someone make one? I am not a programmer myself so i can't do it but i believe that this would be very useful for all cooks.
Provxml files are only added to the registry after Flash/1st Boot not during cooking process.
You could try and catch the default.hv and user.hv from the Kitchen Temp folder, to at least have those files with all the .rgu entries from the kitchen already inside them.
But i haven't seen an application that does exactly what you need it to do.

Categories

Resources