Hello,
can anyone tell me if there a good instruction somewhere about producing an executable .reg file for the WM5 platform (Qtek 9000 PPC as well as Qtek 8300 Smartphone) ?
It should contain modifications to the registry which should be applied upon exectuting this file.
(With thge help of a second such file I'd like to reset the initial reg values back.)
Thanks in advance.
well
just look inside a .reg file with notepad.
example:
[HKEY_CLASSES_ROOT]
[HKEY_CLASSES_ROOT\.2bp]
"Content Type"="image/bmp"
"Default"="bmpimage"
"PerceivedType"="image"
[HKEY_CLASSES_ROOT\.3gp]
"Default"="3gpfile"
that's it...
im sure u understood what should be done...
To make it executable you need to write a custom app or import the reg settings into a cab and load the cab.
V
How do i make a .reg file delete a value in the registry ??
I think you insert a - before the key
I'll have to google to confirm, but I'm cooking right now
V
vijay555 said:
To make it executable you need to write a custom app or import the reg settings into a cab and load the cab.
V
Click to expand...
Click to collapse
Thanks to all !
Yes, just this would be my prime question:
Is there any documentation on how to make it executable by "transforming it into a cab file" ?
Guys, I was just asked how to prepare a cab file containing registry settings, to save you having to configure your registry manually each hard reset.
Anyway, the process is (relatively) easy!
Purists and coders would generally do this by writing your own installer cab. For this route, follow this thread and engage brain to OverDrive!
http://www.pocketpcdn.com/articles/setupdll.html
However, the easiest way is to grab a copy of WinCE cab manager.
Install that app. Find any existing cab that you've used to install an app before. Load it into CabMan. Using the interface, remove all existing files and registry settings etc. Set your own Cab name, company name etc in the settings.
Then, you'll see on the file menu, there's an option to import a .reg file.
So: export all the registry settings you want to rebuild from your PDA, using a good registry editor. I recommend Kilmist Registry Editor .
Save each exported tree as eg 1.reg, 2. reg, etc.
Then, copy them onto your pc, open each file in notepad and copy and paste the contents of each into 1 large file, eg RegCompiled.reg. (You don't need to do this step, but for your own reference you may want them all in one place)
Then, import that into CabMan. Now, it may not work - I think you need to have a valid reg file, which is basicaly the same thing you've already got, but with a first line header saying:
"Windows Registry Editor Version 5.00"
No speech marks.
Grab this line for yourself by exporting something from your pc's registry using RegEdit, then load into notepad and grab the first line.
Ok, CabMan should now show the number of imported registry entries on the tree on the left.
That's it! Save, and then run on your PDA.
Try a test run first before relying on it for life and death!
V
vijay555 said:
Then, you'll see on the file menu, there's an option to import a .reg file.
So: export all the registry settings you want to rebuild from your PDA, using a good registry editor. I recommend Kilmist Registry Editor .
Click to expand...
Click to collapse
I'm using for this purpose two regeditors - both freeware:
PHM registry editor [Philippe Majerus] v0.70 - for its search feature
TRE registry editor [TascalSoft] v0.90 - for import/export and ability to edit MULTI_SZ values.
There is one great utility: SSnap
Run SSnap before and after installation and compare files. Use any diff program or [my choose, but comercial] UltraEdit
baniaczek: thanks for the alternatives.
PHM is very good, but unfortunately at least in the previous versions, the export wasn't very helpful.
A good reg editor is a fairly essential tool, so use what you get on best with!
V
I have a question, is there anyway to make it so that the cab will also delete a registry key on the phone? any help would be appreciated. thanks.
vijay555 said:
Guys, I was just asked how to prepare a cab file containing registry settings, to save you having to configure your registry manually each hard reset.
Anyway, the process is (relatively) easy!
Purists and coders would generally do this by writing your own installer cab. For this route, follow this thread and engage brain to OverDrive!
http://www.pocketpcdn.com/articles/setupdll.html
However, the easiest way is to grab a copy of WinCE cab manager.
Install that app. Find any existing cab that you've used to install an app before. Load it into CabMan. Using the interface, remove all existing files and registry settings etc. Set your own Cab name, company name etc in the settings.
Then, you'll see on the file menu, there's an option to import a .reg file.
So: export all the registry settings you want to rebuild from your PDA, using a good registry editor. I recommend Kilmist Registry Editor .
Save each exported tree as eg 1.reg, 2. reg, etc.
Then, copy them onto your pc, open each file in notepad and copy and paste the contents of each into 1 large file, eg RegCompiled.reg. (You don't need to do this step, but for your own reference you may want them all in one place)
Then, import that into CabMan. Now, it may not work - I think you need to have a valid reg file, which is basicaly the same thing you've already got, but with a first line header saying:
"Windows Registry Editor Version 5.00"
No speech marks.
Grab this line for yourself by exporting something from your pc's registry using RegEdit, then load into notepad and grab the first line.
Ok, CabMan should now show the number of imported registry entries on the tree on the left.
That's it! Save, and then run on your PDA.
Try a test run first before relying on it for life and death!
V
Click to expand...
Click to collapse
4 reg hacks u can also use my way and i think it is a lot faster
http://forum.xda-developers.com/showthread.php?t=547339
btw i cannot upload the ppt file 2 xda (dont know way it is only 3m) if someone can it will be great
tnx
The WinCE CAB Manager is the ultimate utility for developers of applications designed for the Windows CE operating system. But it's not freeware!
You might build the CAB online: http://www.supware.net/CabGen/
I have created small utility Called VipRegExport.
Requirement : .netCF 2.0 higher
What Utility Do
It reads input ini file and create registry export per section for every values in that section. It saves registry in .reg file.
Sample ini file
# Secion name will file name to be export registry values in it
# this is how you can comments
[MyKeys]
F01=HKLM\Software\Microsoft\Shell\Keys
F02=HKCU\Software\Microsoft\Today\Keys
#Setting for all third party software
[MySoftware]
F03=HKCU\Software\HButton
F04=HKCU\Software\waku
F05=HKEY_CURRENT_USER\Software\TodayAgenda
F06=HKEY_CURRENT_USER\Software\pocketMax
F07=HKEY_CURRENT_USER\Software\AlenSoft
F08=HKCU\Software\Microsoft\Shell\TaskSwitch
F09=HKLM\Software\ThrottleLauncher
F10=HKEY_CURRENT_USER\Software\Parlingo
F11=HKEY_CURRENT_USER\Software\Mort
F12=HKEY_CURRENT_USER\Software\Ghisler
F13=HKEY_CURRENT_USER\Software\FdcSoft
F14=HKEY_CURRENT_USER\Software\CallCalendar2
F15=HKEY_LOCAL_MACHINE\SOFTWARE\SHEALD
F16=HKLM\Software\HTC\HTCHome\Weather\Settings
F17=HKEY_LOCAL_MACHINE\Software\Pointui
F18=HKEY_LOCAL_MACHINE\Software\WiFiFoFum
F19=HKLM\Software\Apps\VicSoft ClearTemp
F20=HKEY_LOCAL_MACHINE\Software\Saman
[MyExtention]
F21=HKEY_CLASSES_ROOT\.mscr
F22=HKEY_CLASSES_ROOT\.mortrun
F23=HKEY_CLASSES_ROOT\MortScript
F24=HKEY_CLASSES_ROOT\.mbi
F25=HKEY_CLASSES_ROOT\MortButtonInfo
F26=HKEY_CLASSES_ROOT\.reg
F27=HKEY_CLASSES_ROOT\regfile
F28=HKEY_CLASSES_ROOT\.pdf
F29=HKEY_CLASSES_ROOT\AdobeReaderLE.2
[MySetting]
S01=HKLM\Software\Softick\Card Export\RunTrayClientAtStartup
S02=HKLM\Software\HTC\PHONE\BatteryIconLevel
S03=HKLM\Software\HTC\PHONE\bShowBatteryIcon
S04=HKCU\Software\Microsoft\Internet Explorer\Main\Default storage location\All Files
S05=HKCR\SystemFileAssociations\image\shell\save\Save Location\Default
S06=HKCR\SystemFileAssociations\audio\shell\save\Save Location\Default
S07=HKCR\SystemFileAssociations\video\shell\save\Save Location\Default
S08=HKCU\Software\HTC\Camera\4.00\Strings\Save Location
S09=HKLM\Software\HTC\Camera\General\EnableDCIM
S10=HKLM\Software\HTC\SUPL AGPS\EnableAGPS\Assisted GPS
S11=HKLM\Software\HTC\SUPL AGPS\EnableAGPS
S12=HKCU\ControlPanel\Phone\ShowSIM
S13=HKEY_CURRENT_USER\ControlPanel\BackLight\QKeyLedTimeout
S14=HKLM\Software\OEM\Power\ShowMovingChargeBar
S15=HKCU\ControlPanel\Sounds\RingTone0\Sound
S16=HKCU\ControlPanel\Sounds\RingTone0\script
S17=HKCU\ControlPanel\Sounds\RingTone0\Category
S18=HKLM\Security\Policies\Policies\0000101a
S19=HKLM\Software\Microsoft\Shell\ShowTitleBarClock
S20=HKCU\Software\Microsoft\Today\Skin
S21=HKCU\ControlPanel\Keybd\DefaultKeyLock
S22=HKLM\Software\HTC\HTCHome\TabSetting
Click to expand...
Click to collapse
There are three command line arguments supported
argument 1 : <inifilename including path> if not given then default is VipRegExport.ini
argument 2 : <Output Folder name including path> If not given default Application Folder
argument 3 : <slient Option> Default is 'N'. If you want to run in slient option then pass third parameter as "Slient"
What is slient option : It will not display any error message like "Registry key does not exist to export" and exit application after export completes.
GUI also gives ability to select input file as well output Folder.
HKEY_LOCAL_MACHINE\Security\Policies\Policies\000010a will export just one key 0000101a in HKEY_LOCAL_MACHINE\Security\Policies\Policies
where as F03=HKEY_CURRENT_USER\Software\HButton will export all keys and subkeys under that registry.
Basically if you want to export full registry including all subkeys and values then put actual key name in value If you only want to just export single keyvalue in specific registry then put keyname\valuename.
It also support HKCU, HKLM, HKCR, HKUS formats as well.
Restriction : Currently export can not export some new registry type like reg_multi_size etc but so far none of my registry values that I needed to export are of those type they mostly String, int, and binary value they all are supported.
Above restriction is removed. Now utility support all types of Registry. Credit Goes to Elemris craetor Kheb. ELemris Thank for helping me out on and sharing your code.
Uploaded new version
Now you can export entire registry with below in INI file
[MyFULLRegistry]
F01=HKLM
F02=HKCU
F03=HKCR
Version 8.0
Fixed "\" in key reported in post # 10
Version 9.0
Quick Fixed "@" in key http://forum.xda-developers.com/showpost.php?p=8347552&postcount=10
If you like my work then please consider donating
FAQ:
Do we need to put F01, F02..... what's happening if I have 2 F01?
F01, F01, F03 is just key in ini File It is not used any where in Program but it is needed in ini file as they are part of ini like section , key and value
Posted Version 4.0
Posted Version 4.0
posted new version 6.0.
Completely working. no restriction any more.
Interesting, thanks.
just one question, then.
So using:
[MyKeys]
F01=HKLM
F02=HKCU
F03=HKCR
will make complete registry dump? in one file?
I wouldn't ask, but i just cannot test it at this moment..
Can not export all reg's at present but i will include in next version
pupakota said:
Interesting, thanks.
just one question, then.
So using:
[MyKeys]
F01=HKLM
F02=HKCU
F03=HKCR
will make complete registry dump? in one file?
I wouldn't ask, but i just cannot test it at this moment..
Click to expand...
Click to collapse
New version can export entire registry
Strange,
F50=HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Manila\Configuration
returns an empty key
I have a question:
Do we need to put F01, F02..... what's happening if I have 2 F01?
F01, F01, F03 are basic part if inin and they are needed.
romualdrichard said:
Strange,
F50=HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Manila\Configuration
returns an empty key
I have a question:
Do we need to put F01, F02..... what's happening if I have 2 F01?
Click to expand...
Click to collapse
F01, F01, F03 is just key in ini File It is not used any where in Program but it is needed in ini file as they are part of ini like section , key and value
F50=HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Manila\Configu ration
Click to expand...
Click to collapse
notice that space between configu
and
ration
here.
Tipo here only. I found that it tries to write this key but I have:
[HKEY_LOCAL_MACHINE\SOFTWARE\HTC\Manila] instead and empty.
Maybe the key is locked or something like that.
\\ are not written correctly I think in name of keys?
I tried to backup F10=HKEY_CURRENT_USER\Software\FdcSoft (pimBackup settings) and found that the custom list (folders list) does not have \
I have "\Windows\Rings\*.*"=dword:00000001 in the backup reg
But after, in the reg I have WindowsRings*.*
Looks like, the import (from sktools) needs \\ to save \...
Actuly it was fixed in version 7.5 but i did not released it.
It is now fixed in new version 8.0
Hi,
May be a good option would be to have an information in the .ini to set the export directory when you load the ini.
romualdrichard said:
Hi,
May be a good option would be to have an information in the .ini to set the export directory when you load the ini.
Click to expand...
Click to collapse
I will add in next version. Right now planning to add WAP export e.g emails setting, wi-fi setting etc exported to xml
Hi v3patel,
stuff like this must be a sticky, because it helps us devs a little bit. Ok there are more other things, but not based on a ini file. With that and mort i have done now two tests and they look really good. I hope you will support it further. And when i read your last post (top on my one) then it is very interesting. Thank you for sharing with us...
First off, I'd like to thank Sleuth255 for SDAutoRun, and to mousio for his AutoRun tool which provided the inspiration for this project.
SDConfigGen is a command line tool for the PC which inspects a collection of files to be installed, then produces an SDConfig.txt and other associated scripts and provisioning files to allow SDAutoRun to automatically install them.
It differs from mousio's solution in that rather than having SDAutoRun call a MortScript to do all the work, this tool creates an SDConfig.txt to do the majority, only calling scripts for specific functionality when required. Scripts (and therefore MortScript) may not even be required, if nothing being installed needs automation.
Installation
Unzipping the contents of the archive will produce this folder structure:
\
Storage Card\SDConfig\Cabs\
Files\
Scripts\
Settings\
Sys\First things first - to use any of the script-based functionality a copy of the MortScript installation cab file must be placed within the Sys folder. Download MortScript-4.11b7.zip (or newer version) from http://www.sto-helit.de, then extract \cab\MortScript-4.11b7-PPC.cab from it.
Usage
If the name of the Storage Card will be different on your target device, then rename that folder to whatever it will be. Otherwise, just leave it as it is.
Within the sub-folders of SDConfig, add the files you want to be installed.
Cabs:
Any .cab files in this folder will be installed. If the installation of a .cab file requires user interaction (to confirm a license window, for example), then create a .mscr script file of the same name containing instructions to be executed while the cab file is being installed.
For example, if you need to install a cab file: "eWallet-PocketPC-Install.cab",
create a file called "eWallet-PocketPC-Install.mscr" too. This file contains
MortScript to be run while the cab installer is being run, for example:
Code:
windowTitle = "Software License Agreement"
WaitFor(windowTitle, 60)
SendLeftSoft(windowTitle)
Note that you don't need to worry about actually installing the cab, or waiting for installation to finish - just write the automation code itself.
The SDAutoRun UI will be hidden while an interactive cab is being installed like this, and a MortScript status window shown instead. The device will be responsive to user input, so if any non-automatable interaction is required, that can be done manually.
Files:
After the cab files have been installed, all files in this folder will be copied directly to the root folder. To copy files to sub-folders, place them in sub-folders of this folder. For example, to copy files to the Windows folder, create a Windows folder here and place the files within it.
Standard (English) folder names will automatically be replaced by variables, so files in the "Files\Program Files" folder here will be copied to %CE1% folder by SDAutoRun.
The file copy operation is actually performed by generating a CopyFiles.xml provisioning file in the Sys folder, and it is this that goes in the SDConfig.txt file. This method was chosen as it avoids the path length limit of copying directly in SDConfig.txt, and allows for the %CEn% variable subsitution scheme.
Settings:
After the files have been copied, any settings in this folder will be applied. Settings may either be .xml provisioning files (which are added directly to SDConfig.txt), or registry data in .reg, .rgu or .cereg files. Registry data files will be automatically converted to xml provisioning files within the Sys folder, which are then added to SDConfig.txt.
Scripts:
After the settings have been applied, any .mscr scripts within this folder will be executed. SDConfigGen will generate instructions in SDConfig.txt to automatically handle copying them to the \Temp folder and renaming them to replace spaces by underscores before execution if required.
Note that the device will not be interactive at this point, so don't write scripts that require user interaction.
Sys:
Apart from placing a copy of MortScript-4.11b7-PPC.cab in here, you shouldn't touch the contents of this folder; they will be automatically cleaned out and generated by the SDConfigGen tool.
Notes
I've provided RegToXml as a standalone .exe file so that registry data files can be manually converted to .xml provisioning files, if required. This is not generally necessary, though, as it will occur automatically as part of the SDConfigGen process.
Due to limitations of SDAutoRun, during installation some files need to be copied to the \Temp folder on the device before execution. A TempCleanup.xml provisioning file is generated in the Sys folder by SDConfigGen which is the last thing executed by SDConfig.txt. It should remove any temporary files that were placed in the \Temp folder, but will not remove the folder itself, or any other files within it.
SDAutoRun also requires that SDConfig.txt be ASCII, which means that if any files contain characters outside that range (such as accented characters), they can not be directly referenced. SDConfigGen will automatically detect this, and generate provisioning XML files to transparently rename the files before processing them, then back again afterwards.
The last statement in the SDConfig.txt is the RST: Reset statment, to reset the device.
The only part of the file structure that can be changed is the name of the "Storage Card" folder - the other folders cannot be renamed or moved. By default, when the SDConfigGen tool is run, it works with the first sub folder under the folder the .exe file is placed. To override this behaviour, pass the folder path to SDConfigGen.exe as a command line argument.
Cabs, settings and scripts are executed in alphabetical order, grouped by subfolder. Subfolders will be executed first, so for example the contents of Cabs\Prerequisites\ would be installed before the files directly in Cabs\ (but after files in Cabs\A\). All interactive cabs are executed first, followed by non-interactive ones.
All generated files (except SDConfig.txt) are in Unicode UTF-16 encoding.
To have SDConfigGen create a log file of the generation process, use the SDConfigGenWithLog.bat file included in the archive. It will create a results.log file containing the messages that would normally be output to the console.
This is still an early version, so there will probably be bugs with it. I've used it successfully for setting up my own device several times now, but I can't make any guarantees. Please do post any bug reports or suggestions here though!
Alex
Updates
0.6:
All output files are now in UTF-16 encoding, with the exception of SDConfig.txt, which is in ASCII.
If files referenced by SDConfig.txt have names containing non-ASCII characters, provisioning files to automatically rename them before they are accessed, and to restore them afterwards will be generated.
Subfolders are now supported in the Cabs, Settings and Scripts folders. Files within subfolders will be processed first, in alphabetical order of subfolder name.
File folder variable substition made case insensitive
Added SDConfigGenWithLog.bat file for easy logging of output to a log file
0.5.1:
Removed .svn files from the file structure (oops!)
0.5:
Made warning message on skipping registry files less confusing
RegToXml: Now supports empty values for String, MultiString and Binary values
RegToXml: Made ,ore robust to invalid data - if a value contains invalid data, only that value is skipped.
RegToXml: The line number is now reported with any error or warning message.
RegToXml: Whitespace allowed to surround the = in value lines.
0.4:
RegToXml: Fixed nesting bug with registry key deletion conversion
RegToXml: Now supports comments (lines starting with ; )
0.3:
RegToXml now assumes that registry files without Unicode BOM's are encoded in the system default ANSI codepage, rather than UTF-8 (this means that if your registry file is UTF-8, it must contain a Byte Order Mark to be read correctly)
0.2:
Files are now installed in alphabetical order by file name (within their own group). For example, first interactive cabs A-Z, then non-interactive cabs A-Z. This allows control over installing cabs that require others to be installed before or after them.
.NET Framework (required)
Lookin Mighty Fine Siuer.
Not in the Testing Time yet.
But does the scripts folder eventually combine the scripts into one?
(lazy Bum At Work, Not Able to test it)
No, the scripts in the scripts folder are not combined into a single script, they are all executed separately. Would there be some benefit to trying to combine them into a single script before execution?
AlexVallat said:
No, the scripts in the scripts folder are not combined into a single script, they are all executed separately. Would there be some benefit to trying to combine them into a single script before execution?
Click to expand...
Click to collapse
No, you are absolutely right there is now good reason for it.
It's better to have them seprated, makes finding **** Ups easier.
Don't know what i was thinking or why..
AlexVallat,
Thanks for your job, you soft is amazingly simple which is a great pro compared to SASHIMI for instance.
So yhis afternoon I started to put all my files in the appropriate folders and when I launch SDConfigGen with the folder path I don't get in the config.txt file \Storage Card\ before the files to execute but the path I gave as parameter. I think transforming the path given into \Storage Card\ could help.
One other point, as a poor French guy your RegToXml converter does not handle all the French extended character set such as é, à, ... Could you make it support this characters.
Anyway for now it is fully usable but requires SDConfig.txt file edition before launching the whole process. Tomorrow it will be hands-on time as I plan to upgrade my Polaris ROM so more news to come regarding SDCofingGen usage.
The_Steph
The_Steph said:
AlexVallat,
Thanks for your job, you soft is amazingly simple which is a great pro compared to SASHIMI for instance.
So yhis afternoon I started to put all my files in the appropriate folders and when I launch SDConfigGen with the folder path I don't get in the config.txt file \Storage Card\ before the files to execute but the path I gave as parameter. I think transforming the path given into \Storage Card\ could help.
One other point, as a poor French guy your RegToXml converter does not handle all the French extended character set such as é, à, ... Could you make it support this characters.
Anyway for now it is fully usable but requires SDConfig.txt file edition before launching the whole process. Tomorrow it will be hands-on time as I plan to upgrade my Polaris ROM so more news to come regarding SDCofingGen usage.
The_Steph
Click to expand...
Click to collapse
Hm my pall had the same thing but changing to Unicode seemed to solve his XML issue. NOt sure if this is the same but worth the try.
Great work alex!
Question:
Anyway to verify the syntax of the provisioning XML files?
Any tools out there that can create these files or verify them? I think a tool like this would be great.
NEVERMIND! I just saw your reply in the reg2xml converter thread! THANKS!
The_Steph: Thanks for your comments!
The idea with the path is that the name of the folder is used to control the name of the Storage Card on the device. So if you name your folder Storage Card, that's what goes in the SDConfig.txt. If, on your device, it has a different name (due to language changes, or whatever), then you need to rename the folder appropriately.
Thanks for the bug report about accented characters in RegToXml. I will fix that and post an updated version soon.
gtxaspec: I could verify that the files were valid XML, but the more useful check that they contain valid provisioning instructions is beyond the scope of this project. Not least because the documentation describing what are valid instructions is confusing and can be inaccurate. With anything other than the file and registry providers, it usually ends up being a case of trial and error. With the file and registry providers, using the auto-generation capabilities of SDConfigGen will avoid most surprises.
Alex
Version 0.3 released
I've just updated the first post to release version 0.3. This should address the accented characters issue raised by The_Steph, however it does mean that if your registry file is UTF-8 encoded, it must include Byte Order Marks to indicate this. Otherwise, it will be assumed to be encoded in the system default code page.
I've also added a feature that files are now installed in alphabetical order (within each group). If you need to make sure that certain cabs are installed before others, this can now be done by renaming them, usually by including a numeric prefix.
Alex
reg2xml bugs
Hi Alex,
Converting everything to xml and using standard provisioning is an interesting approach!
Only obviously reg2xml has got some problems still with .reg files containing certain characters:
I've attached you a sample file which is not converted correctly at three points, each with a different error cause.
- Comments (Lines beginning with ";") in the .reg files are sometimes (not in every case, could not see what the trigger is) leading to an aborted conversion.
- Some characters like the arrow character (ASCII 27/1BHex) are also a problem.
Maybe the attached file helps in finding the bug.
BTW: Do you also have a tool that is converting just the other way around: From XML to reg indstead of from reg to XML?
Sometimes I need to have a .reg file instead of an .XML. And importing the XML and then trying to find all registry entries to export it back to a .reg can be a very tedious thing when the imports are not all together in one registry branch.
Thanks!
Thanks for the bug report, asango. Yes, I forgot about comments, I'll fix that and release an update soon. I'm looking into what the best way to handle control characters like 0x1B is (which is 'Escape', according to the ASCII chart I'm looking at). Obviously crashing is not an acceptable behaviour, so I'll have some sort of fix for it.
I don't have a XmlToReg tool, but it sounds like a good idea - I'll probably write one over the weekend.
Alex
Great, looking forward to that, thank you!
Version 0.4 released
The first post has been updated to version 0.4. RegToXml has been updated to add support for comments in .reg files.
Unfortunately there appears to be no way to include control characters in an XML file. If the character itself, or even the character entity (like , then the file is regarded as malformed and not accepted. I have therefore not been able to do anything to fix this (sorry asango!).
If anyone knows of a way that a provisioning file could be used to set a registry string value containing these characters, please let me know.
On a more positive note, the requested XmlToReg tool is up - I've given it its own thread here: XmlToReg.
Alex
Yes, the comments are now handled corectly, perfect!
Some other thing is still an issue:
test.reg: Converting...
test.reg: Conversion failed. (Unexpected value format: dword) Skipping.
In this case the output file is not generated at all, seems that not only the value is skipped but this causes the whole file not being written.
This leads to another suggestion: Would it be possible to indicate the line number where a problem happened?
This would make it much easier to find the problem.
And regarding the non handled escape characters:
This also leads to aborting. Would it also be possible to just skip them and issue a warning but go on with the conversion and with writing the outout file for the rest of the entries?
Now that is odd. "dword" is a perfectly valid value format, it shouldn't have produced that error. Any chance you could send me the .reg file that produced it?
Line numbers should be do-able, I'll add that to the next version.
The "skipping" message there referred to the "test.reg" at the start of the message, not to the dword value. I agree it looks misleading as it is currently worded though, I'll improve that.
About recovering from errors and skipping only invalid values rather than the whole file - this will be quite tricky. By the time I am notified of invalid characters by the XmlWriter, it has already given up in a sulk and can't be persuaded to continue writing any further. I'll need to do some sort of pre-vetting before passing data on to it. If I come up with any good ideas on how to do this, I'll include it in the next version.
Alex
asango, here's a candidate RegToXml.0.5.0 - could you check if it is still reporting the "Unexpected value format: dword" error with your file? It now reports line numbers, which might help track down the problem. It should also be able to recover from an invalid value and skip just that value, although I'm not sure how well that is working yet.
Alex
Hi Alex,
Great, the line numbers are making things much easier and this way I even found the reason for this error very easily:
Here's the point where it is failing:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RIL]
"NITZEnable"= dword:00000001
...with this error message:
test.reg: Converting...
[Line 194] Error: Invalid value (Unexpected value format: dword)
Skipping: HKEY_LOCAL_MACHINE\Drivers\BuiltIn\RIL\NITZEnable
Done.
As soon as I'm deleting the blank between the "=" and "dword" everything is ok.
Maybe you can allow blanks after the "=" in general?
This would solve this issue definitely
And yes, by the way the xml file is now generated despite of this error, very good!
Asango
Hmm... I'm not sure whitespace is supposed to be allowed around the = sign. It doesn't make anything ambiguous though, so there's no good reason not to relax the matching. Try this 0.5.1 which allows whitespace around the = sign, hopefully that should now parse your file correctly.
Alex
Yes, now I can see no other issues with the RegToXml tool, good work!
Also the whole cold boot import is ok with one exception:
Only the CopyFiles.xml which is generated by the SDConfigGen.exe is not copying all the files from the "Files" diectory during its execution.
Tried to import that xml manually with the xml option of Taskmgr and also got an error, but since the error is *very* uninformative and not showing the line number and my CopyFiles.xml is rather big I could not find the problem.
Could it be that the reason for the error is that if a file is already existing or read only that this will stop the rest of the import?
asango said:
Yes, now I can see no other issues with the Only the CopyFiles.xml which is generated by the SDConfigGen.exe is not copying all the files from the "Files" diectory during its execution.
Tried to import that xml manually with the xml option of Taskmgr and also got an error, but since the error is *very* uninformative and not showing the line number and my CopyFiles.xml is rather big I could not find the problem.
Click to expand...
Click to collapse
Second hands-on day with SDConfigGen and I have the same issue with v0.4. CopyFiles.xml is not executed at all. Probably a syntax error issue as stated by asango (I've done the same tests as him).
The_Steph
Hi.
Going to thread:
I build my own kitchen which uses platform rebuilder (far called PRB), it's for Universal and contain 21884 build (my favourite ).
Everything goes okay, registry, modules, files is okay but the problem is known .provxml issue.
I use PRB 2.1 (displays mmap)
All provxml and dsm are readonly, system and hidden
I tried to put all provxml to external dsm, also add all files into one dsm, updating existing dsm, renaming provxml's to mxip_zzzz << you know the 'zzzz' makes it process at last.
No success.
Fail effect is:
No Office (which installs via provxml), no start menu icons, no theme loaded, classicblue failed. etc.
Any ideas?
bump, without any ideas?
try to leave the Hidden attribute.
FDCTask Manager (aka DotFRED) can import *.*XML file; it's handy for testing and ensuring that the XML file is properly formed. Have a look at this post and the reference link at the end:
http://forum.xda-developers.com/showpost.php?p=5959794&postcount=9
It is an issue with setting the attributes correct when building OS.
http://www.mobileunderground.info/showthread.php?t=17128&p=45430#post45430
ai6908 said:
It is an issue with setting the attributes correct when building OS.
http://www.mobileunderground.info/showthread.php?t=17128&p=45430#post45430
Click to expand...
Click to collapse
No way, it didn't helped and didn't fixed anything.
My kitchen main bat file looks that now:
http://pastebin.com/ac1rtNeV
Any ideas for now? Maybe about DSMes?
EDIT:
Seems to be fixed
Helped another attrib config, take a look on my kitchen. Closing
http://pastebin.com/J9RrGmj8