[SOLVED]NBH error - Windows Mobile

I get a crazy error when trying to cook with ervius:
executing NBHUtils to build nbh file...
Unhandled Exception: System.ArgumentException: The output byte buffer is too small to contain the encoded data, encoding 'US-ASCII' fallback 'System.Text.EncoderReplacementFallback'.
Parameter name: bytes
ERROR! (errorlevel: -532459699)
at System.Text.Encoding.ThrowBytesOverflow()
at System.Text.Encoding.ThrowBytesOverflow(EncoderNLS encoder, Boolean nothingEncoded)
at System.Text.ASCIIEncoding.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount, EncoderNLS encoder)
at System.Text.ASCIIEncoding.GetBytes(String chars, Int32 charIndex, Int32 charCount, Byte[] bytes, Int32 byteIndex)
at NBHUtil.Form1.CmdLineWriteNBH(String ModelID, String cid, String Version, String Lang, String chunk, ArrayList items, String outputfile, Boolean usedef)
at NBHUtil.Program.Main(String[] args)
Any ideas? I am using Windows7 x64

For anyone who gets this error, it seems that it's caused by too many modules with the rom. I find that when building the rom and if I get too many warning of duplicate modules then I will get the error.

That's not too many modules, that's too many 'duplicate modules.' Look in the build log, and see what packages have duplicate modules. Then fix the issue. Kitchens don't like over-writing a module with a module (over-writing a file with a module isn't a big deal). It may just be a case that you have two different packages with modules that have the same name, like Common.dll or Setting.dll (hate it when that happens). In that case, you're kind of screwed, if the two dll's are important for two different apps; the only solution is to move one app out of ROM into program files. Make sure you don't have a bunch of Setup.dll's in you kitchen (don't have any, to be exact).

Hey,
As farmer ted stated, the error really isn't to do with too many modules. Also the error you are posting here from NBHUtil is deceiving, probably the error is occuring earlier in the process.
You could try to comment out the lines in .bat where NBHUtil is run and instead use another NBH builder such as NBHImageTool.

Farmer Ted said:
That's not too many modules, that's too many 'duplicate modules.' Look in the build log, and see what packages have duplicate modules. Then fix the issue. Kitchens don't like over-writing a module with a module (over-writing a file with a module isn't a big deal). It may just be a case that you have two different packages with modules that have the same name, like Common.dll or Setting.dll (hate it when that happens). In that case, you're kind of screwed, if the two dll's are important for two different apps; the only solution is to move one app out of ROM into program files. Make sure you don't have a bunch of Setup.dll's in you kitchen (don't have any, to be exact).
Click to expand...
Click to collapse
Thank you guys for your input. Can you please shed some more light to this. How can I move an app out of rom to program files? Is that done by configuring the app.dat of a program?

Da_G said:
Hey,
As farmer ted stated, the error really isn't to do with too many modules. Also the error you are posting here from NBHUtil is deceiving, probably the error is occuring earlier in the process.
You could try to comment out the lines in .bat where NBHUtil is run and instead use another NBH builder such as NBHImageTool.
Click to expand...
Click to collapse
comment out the lines in bat???? do you mean editing the kitchen rom.bat?
You are right Da_G. I must say that it happened before I even get to that point, I think even before I get to platformrebuilder. The warnings will beginning to pop up around my ext/shared packages then the visual kitchen will beginning to move really slow. When I check Windows task manager, the kitchen was eating up a huge chunk memory then the error comes up.

Another issue I got here is when setting a long ROM Version character length.
I tried making a long version like <name><name> #.#.#.# Build ##### and everytime I try that, NBHUtils spits out an error.. Same error as posted above.
I tried setting a less than 10 characters and everything went well.

Related

Extracting DLL from Toshiba e740 ROM

First of all, excuse me, because this surely can be considered offtopic, but I'm getting desperate.
The problem is that I need to extract the DDI.DLL file from a Toshiba e740 ROM, I found the dumprom.exe utility that is using the same file in the examples of use that the one I'm trying to extract ddi.dll from:
nk-e740-1.0618.0409.bin
I'm not sure about the version of this ROM, but I think it's a PocketPC 2002 version. When I just invoke:
dumprom.exe -d rom nk-e740-1.0618.0409.bin
I'm just getting lines with the text:
error decompressing xxxxxxxxxxxxxxxxxxxxxx
When I use the '-3' flag, I got none of those errors, and I have a DDI.DLL file (and a lot of other files), but is unusable for disassembling in Ida Pro. It seems that some sections are corrupted or not correctly extracted. For example, the rva for the exported functions seems not to be present. Anyway, looking for ASCII strings, I'm able to find the names of all the functions in some locations of the file.
When I try to get some info with peinfo.pl, for example, it dumps me the error:
cannot find rva 0001d7b0 for exporttable
Another extracted files seem to be fine, and at least I'm able to see the export table.
What's the problem? Is this just what I have into the ROM, or perhaps I'm missing something or is dumprom.exe failing for this ROM?
Excuse me for posting here with an actually not related XDA problem, but this is the only resource I've found that seems to give me some hope to go ahead.
Regards and thanks a lot for reading me.
Probably dumprom is incompatible with such old OSes. You can manually set RVA and other addresses in a dumped DLL, or modify its sources.
Anyway, I'm not getting significant errors while executing with '-3'. The only strange messages are:
ERROR: could not find pointer for ofs 00000000
and some:
addr1 - addr2 Llen unknown some values here
And also some:
addr1 - addr2 Llen NUL
Are these actually errors, fatal errors, or just warnings?
Talking about setting rvas manually. How could I tell what RVA values should I use? Is there any information available about doing such a thing?
Thanks a lot.
sirfred said:
Talking about setting rvas manually. How could I tell what RVA values should I use? Is there any information available about doing such a thing?
Click to expand...
Click to collapse
Al; information regarding ROM structure can be found on MSDN and in Windows CE shared source code. You should look there. I don't remember, but dumprom should output it to console during dumping.
Or you can just guess these addresses

SDConfigGen - a tool for automatically creating SDAutorun configurations

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 &#x1B, 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

[DEV-UTIL][19.03.2009]DriverWiz - Make signed CABs from driver DLLs that work

Intro
Lately I've seen a lot of posts by people who are trying to replace WM internal or driver DLLs, either for hacking/testing or to release. Aside from the possibility they are just doing something that won't work in the first place, I've seen failure a lot of times because files aren't properly signed, or if they are, the certificate in question not being in the right certificate stores for it to have any effect. On some ROMs it will still work due to patched NK.EXE, on others it won't, its just not very reliable.
So, I present you with the correct way of doing this by means of a small tool that will do this for you: DriverWiz. It will take care of most of the stuff, and leave you room for additions. You will however still need some basic knowledge of the command line, if you don't have that, you have no business doing anything like this anyways.
Background
I use this technique myself all the time. When just hacking away, replacing system DLLs to trace calls, etc. It's also the same method used for the HTC-CA drivers and the ICS installer. This method works on most stock ROMs as well, though not on all of them (in rare cases some security policies are set that will prevent CAB installation)
Usage
It's fairly simple to use. Just extract the attached zip file somewhere, open the command promt, and change directory to where the zip was extracted. That's the installation part.
Now when you actually want to build a CAB file from a DLL, you use the DriverWiz.bat file.
DriverWiz v1.0 by Chainfire
Usage:
DriverWiz.bat "Description" "CAB-name" "DLL-name-1" ["DLL-name-2" ...]
Examples:
DriverWiz.bat "New DDI" "ddi.cab" "ddi.dll"
DriverWiz.bat "Two DDIs" "ddi.cab" "ddi.dll" "ddiaux.dll"
Click to expand...
Click to collapse
DriverWiz will take care of signing the DLLs, inserting the certificate, etc, and you will end up with a proper CAB file for this kind of thing. Just copy it to your device and run it to install.
#1. You need to put the DLL files in the same folder as DriverWiz. Do NOT include paths in your DLL names
#2. Include the quotes in the command like in the examples!
#3. The first time you install a CAB made by DriverWiz, your phone may still give you a certificate warning. This is normal, don't worry about it.
Caveats
While this method has never failed me yet, it is possible that some files cannot be replaced this way. Just a disclaimer
Modifying
DriverWiz bases the inf file it will create to build a CAB from on DriverWiz.tpl. If you need to add registry entries to your CAB file, modify DriverWiz.tpl before you run the batch file. You can make other modifications too, add files, etc. Just take care that you don't break it
You can use your own certificates as well, instead of the supplied "Dummy" certificate that comes with DriverWiz. The files you will want to modify/replace are DriverWiz.pfx (used for signing) and DriverWiz.xml (used for injecting the certificate). I'll see about finding a reference for how to do that online and posting the URL here (someday). Creating a new certificate from scratch can be a frustrating effort - make sure you got openssl handy
Changelog
19.03.2009 - 1.1 - Added some file exists checks and attribute changes
Download
Temporary PlaceHolder for more Info.
Whoo this is hot from the plate, looks very promising!
Driver testing withoud cooking! joohie
Well if you replace the wrong files you're still going to need to hard-reset to boot. I advise KITL before you do
Works flawless. You tha man.
Didn't work for me trying to cab up No2Chems Fast Charge battery divers.
ruskiyab said:
Didn't work for me trying to cab up No2Chems Fast Charge battery divers.
Click to expand...
Click to collapse
What exactly happened? Attach the files and such
It made the cab and all, but when I went to install it, the unsigned error message popped up just like when I tried it with WinCE cab manager.
That is perfectly normal behavior. The first time you install a CAB with this certificate it will not know the certificate. However, once you install it, the certificate will be injected in the right place, and the files signed with the certificate (the driver files in the CAB) will be allowed to be run.
It won't happen the second time you try it
So if I try to install it again, it'll work fine? is there aa soft reset required in between? I can replace these drivers manually by renaming the old ones and copying them over, the whole reason I want a cab in the first place is to facilitate the UC process when I flash a different rom
ruskiyab said:
So if I try to install it again, it'll work fine? is there aa soft reset required in between? I can replace these drivers manually by renaming the old ones and copying them over, the whole reason I want a cab in the first place is to facilitate the UC process when I flash a different rom
Click to expand...
Click to collapse
Actually it should just work the first time. Just click OK when the certificate error appears.
Nice nice nice work!
error message
I got error messages when creating a cab from a rilphone.dll. Does it mean anything, or are these errors okay? I guess I'm specifically wondering about the SignTool error. If its okay, then my cab should be good.
EDIT: I think I found the problem. I didn't have UAC disabled in Windows 7. I tried it again, after disabling it, and it works fine now. Thanks for the easy to use tool!
syntax for registry entries?
I was experimenting with creating a cab for the Rogers folks who need a specific rilphone for their Caller ID to work. There are some registry entries associated with this feature, so I was wondering what the correct syntax is for putting the registry entries into the .tpl file. I've tried a few different ways, and I've either a gotten a 'Registry section is empty' message, or a 'Registry has an unsupported registry root key' error. I'm sure its something really simple I'm missing, so any help you can offer is appreciated.
It just seems that since we now have this easy method to sign these dlls, so that they can be used in any ROM, that the Rogers people shouldn't have to jump through so many hoops to get it to work.
EDIT: Nevermind. I'm an idiot that didn't do a little bit of research. All is well now.
Excellent stuff, Microsoft may rant about this way of distributing signtool and cabwiz though.
Chainfire said:
You can use your own certificates as well, instead of the supplied "Dummy" certificate that comes with DriverWiz. The files you will want to modify/replace are DriverWiz.pfx (used for signing) and DriverWiz.xml (used for injecting the certificate). I'll see about finding a reference for how to do that online and posting the URL here (someday). Creating a new certificate from scratch can be a frustrating effort - make sure you got openssl handy
Click to expand...
Click to collapse
Here's an intro to cert stores for WM:
http://msdn.microsoft.com/en-us/library/aa458010.aspx
pfx generation is a 2-liner with openssl:
# Generate a CA certificate
openssl req -new -nodes -x509 -days 9999 -newkey rsa:1024 -md5 -keyout cert.key -out cert.cer -subj "/CN=DriverWiz"
# Convert to pkcs12/PFX format
openssl pkcs12 -export -in cert.cer -out cert.pfx -inkey cert.key
got error messages under vista sp2, any ideas?
I also get an error saying that the latest version of CAPICOM.dll is missing. The ones I can find for download from the internet are version 2.0.0, and the tool requires 2.1.0.1 or later.
Does anyone have the needed version of the dll?
EDIT: Found it, 2.1.0.2 version of the dll is in the attachment.
Time Saver !
Many thanks; DriverWiz /w the CAPICOM.DLL saved me about an hour of troubleshooting.
Cheers,
Thanks for the capicom.dll Even after disabling UAC in W7Rc1 it wouldn't go, so great to have it posted to.
Chainfire, which format should the Reg's be added?
I tried the default .reg formating just under:
[Registry]
[HKEY_CURRENT_USER\ControlPanel\Profiles]
@=""
"ActiveProfile"="Normal"
?
Scrap that i found the .inf format
[AddRegistry]
HKCU,"New Key","",0x00010001,1
Many thanks for this, i'll try to Point Driver replacing Sinners from now on to here.
Well INF files are a regular female dog.
If you rather use WinCE CAB Manager, the trick is easily done as well. I do not have it handy right here (I'm not at dev box), but it goes like this.
Put the DLL's and EXE's that need to go in the CAB into the same folder as DriverWiz
Execute the following command from the command prompt in the DriverWiz folder: signtool sign /f DriverWiz.pfx *.exe *.dll
Open your WCM/CAB with CM
Somewhere is an option for "Pre XML" (main screen IIRC).. click to add/edit, and load the DriverWiz.xml file
Save
signtool sign /f DriverWiz.pfx *.cab
Et voila. I should really make an update to DriverWiz to include CAPICOM and write a proper guide on how to do all this manually (including making your own certificates and such). It's easy if you know how
If you could insert another empty post for me at the top, that'd be great.

new app: DSM Editor

version 1.5 (some other bugs on dependences and shadows adding!)
added also checkbox to delete realmodules/files into a package,some other little bugs solved!
Hi, another little app, to:
edit or create new dsm;
edit all inside, versions, files & Modules, update dsm into a package folder, delete all files/modules inside;
edit (add, delete remove all) dependencies;
edit (add, delete remove all) shadows;
edit (add, delete remove all) certificates, save certificates, splitting if more than one stored into dsm
and other.....
dsm_editor 1.7 some bugs solved and right files/modules flags read & write
try it (also to build old_style roms to repalce with existing into \tools folder!)
download here:
http://www.sendspace.com/file/c66tlc
P.S.: all suggestions are wellcome
bye!!!
So far - so good, really handy app
- after opening one dsm file "open dsm" button becomes disabled. Why so?
testing further...
OK - it doesn't see hidden|system files - while most of dsm files are
I was trying to remove a module from DSM. Result below...
Code:
System.MissingMemberException: Public member 'name' on type 'teqo04i1ca' not found.
at Microsoft.VisualBasic.CompilerServices.Symbols.Container.GetMembers(String& MemberName, Boolean ReportErrors)
at Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateGet(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack)
at j6mas.x3jsgp3.m4ndb(String )
at BW9xvPg(Z0jR.AOE.kq(Object , EventArgs )
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
version 1.1 at 1st post!
enabled "hidden" files show at runtime (befor eclose program it reset previous value found!)
and for otherproblem, never found, delete modules and files (hidden, protected ecc...) without any kind of problem!
bye!
thanks
How about adding something like "cancel editing" or similar? Now I have to click "save dsm" or exit the app to open another dsm file.
utak3r said:
thanks
How about adding something like "cancel editing" or similar? Now I have to click "save dsm" or exit the app to open another dsm file.
Click to expand...
Click to collapse
only have to open another dsm o create one new while you' re editing another, and a message appear, if you want can save or dismiss all modification made in target dsm if doesn't save it!
bye!
btw version 1.2 (on open dsm while is opened other one yet! and all files/modules remove (it remover really all files and modules into dsm-package if exists, "ATTENCTION"!!!)
Works perfect so far
utak3r said:
Works perfect so far
Click to expand...
Click to collapse
on 1st post version 1.3 some bugs solved on dependences and shadows adding/deleting!
TODO:
add dos prompt command to update packages or packages_groups (or transform no-dsm and app.reg into valid sdm and relative rgu!!!)
after that some of you tell me that all works well
Great app...but only a visualization issue:
texture said:
Great app...but only a visualization issue:
Click to expand...
Click to collapse
well, I'll fix this little iusse
Please add an opportunity to add all files and modules, which contain in a package, not on one, and at once everything, without dsm, initflashfiles.txt, option.xml, etc.
And if it is possible, to make automatic updating of existing dependences.
Thank.
you can just call BuildDSM if you don't want to play with it
UPD:
...or not - it puts all it finds as files, even modules.
UPD2:
When you open "choose directory" dialog (in "add module" or whatever else) could it open in a current directory?...
To me are known different programs for editing dsm (BuildDSM, DSMBuilder, DSMAnalyzer), but after all it is a question of this program, whether not so?
utak3r said:
you can just call BuildDSM if you don't want to play with it
UPD:
...or not - it puts all it finds as files, even modules.
UPD2:
When you open "choose directory" dialog (in "add module" or whatever else) could it open in a current directory?...
Click to expand...
Click to collapse
manually (or with a bat when will be compatible with dos shell!) you can update package and:
if not present dsm, it create new and update, if present and malformed (0 bytes for i.e., delete and create copy and update, if present and good, update it on relative files/modules into package!
great ervius! (like always)
gonna try it now, i'll let you know if i find any bug
thanks!
ervius said:
manually (or with a bat when will be compatible with dos shell!) you can update package and:
if not present dsm, it create new and update, if present and malformed (0 bytes for i.e., delete and create copy and update, if present and good, update it on relative files/modules into package!
Click to expand...
Click to collapse
Well - it's not so easy....
For example:
I have a package of my own... dsm is created by BuildDSM. In this package there're some modules, but they were flagged as files. Now - trying to use any of the update function in DSMEditor raises an exception about file not found. Plus I cannot just remove it from dsm and re-add it as a module, because using "remove" removes a module physically from a disk! I really would like to see turning this option off - so I could remove elements only from dsm, and not from my disk...
Is there any way to fill the entries automatically?.... I've tried it on a package containing modules and every option "update..." fails complaining "file not found".
utak3r said:
Well - it's not so easy....
For example:
I have a package of my own... dsm is created by BuildDSM. In this package there're some modules, but they were flagged as files. Now - trying to use any of the update function in DSMEditor raises an exception about file not found. Plus I cannot just remove it from dsm and re-add it as a module, because using "remove" removes a module physically from a disk! I really would like to see turning this option off - so I could remove elements only from dsm, and not from my disk...
Is there any way to fill the entries automatically?.... I've tried it on a package containing modules and every option "update..." fails complaining "file not found".
Click to expand...
Click to collapse
post the package
!
version 1.5 at 1st post, some improvements:
add checkbox to select if delete real modules/files on a package or not, solved other little bugs on!
bye!

[Q] .PROVXML and PlatformRebuilder - no idea

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

Categories

Resources