Jump to content

New tools for ROM builders - ROM package <--> cab converters and more


Guest sztupy

Recommended Posts

Guest sztupy

these tools will let you create ROM package and install CAB files from each other. I know there are already tools for them, but I didn't like them, because they had many errors. Of course my programs may have errors too, but I like them better anyway :rolleyes: Some of these tools use external applications which need .NET and/or VC++ runtimes to work properly!

cab2pkg

This utility will extract a cab and create a ROM package. (just like ervius package creator, but this doesn't rely on MSCEInfEn which imho has a lot of bugs). Simply tell him the cab file name as parameter, and it will extract into a new directory. (Or if you don't like the command prompt, simply drag the cab onto this file, and it'll extract it)

pkg2cab

This utility does the reverse of the above. It creates a cab installer from a ROM package.

Usage: pkg2cab [Application Name] [Directory1] {Optional directory 2} {...}

For example: pkg2cab OneNote OneNote OneNote_lang_0409

If everything goes fine the programs should create a setup.cab

pkg2cab does only support "flat" directories, so if your directory contains modules (directories that look like files), then you have to copy the file out of them manually, and delete the directory

extractpkg

This application will extract a package from a ROM, using a SYAKR file removal information file XML

Put this application into a kitchen with an extracted ROM and SYAKR

Enter command prompt and enter "extractpkg XMLfilenamewithoutextension" so for example if you want to extract the fmradio, you should write: "extractpkg fmradio"

This app does the same as SYAKR, but instead of deleting the files/registry settings/initff lines, it will copy them to a separate directory, and adds the appropriate things that are needed for a package, that BuildOs likes

BEWARE! The current SYAKR tasks are not designed for extractpkg to work, and sometimes the extraction might fail, or the created package would be defective. If so, please try to correct the XML file!

After you extracted a package you might use pkg2cab to create a distributable CAB installer

DL link: http://winmo.sztupy.hu/cabtools.html

Link to comment
Share on other sites

Guest shokka9

HERO!!!

I knew you were working on something good!! I think you just making tools for me really! :rolleyes:

Downloading now, looks like i may be flashing my Omnia sooner rather than later, need to use your appz in one go.

Congrats on doing this and keep it up, next i need a whole new GUI, like HTC, but better! I know you can do it.

you done it again....

Link to comment
Share on other sites

It seems makecab is needed for the applications to work properly. Attached.

Hi Sztupy , first , sorry for my poor english . I am a newbie and I have used your fantastic tool ( syakr 0.9 pack 2 ) to make my own custom ROM ; all was fine , with M2D , I have 135 MB free in storage and about 62 Mb free in programs . Now , I would like to go further in customing and be able to install my own apps , like PHM registry , port splitter and somme others ones ; I have read the Xda post about OEM Packages but you said in first post that the software was very buggy . So I tried to use yours ( cab2pkg ) : my problem is , although all versions of Microsoft .Net Framework ( 1.1 ,2.0 SP2 , 3.0 SP2 , 3.5 SP1 ) and VC++ 2005 redistributable and 2008 redistributable are installed on my XP desktop PC , when I drag a cab on cab2pkg , a DOS window is opened but close itself within one second ; what I am doing wrong ? I have tried to create a new folder on desktop , one at the root of disk C , each one contains all the tools packaged in your first post and makecab too

Many thanks for your magical tools and for the great support for all the Omnia Users

Regards , Philippe

Link to comment
Share on other sites

Hi Sztupy , first , sorry for my poor english . I am a newbie and I have used your fantastic tool ( syakr 0.9 pack 2 ) to make my own custom ROM ; all was fine , with M2D , I have 135 MB free in storage and about 62 Mb free in programs . Now , I would like to go further in customing and be able to install my own apps , like PHM registry , port splitter and somme others ones ; I have read the Xda post about OEM Packages but you said in first post that the software was very buggy . So I tried to use yours ( cab2pkg ) : my problem is , although all versions of Microsoft .Net Framework ( 1.1 ,2.0 SP2 , 3.0 SP2 , 3.5 SP1 ) and VC++ 2005 redistributable and 2008 redistributable are installed on my XP desktop PC , when I drag a cab on cab2pkg , a DOS window is opened but close itself within one second ; what I am doing wrong ? I have tried to create a new folder on desktop , one at the root of disk C , each one contains all the tools packaged in your first post and makecab too

Many thanks for your magical tools and for the great support for all the Omnia Users

Regards , Philippe

Copy all files to the i900 kitchen then run Shell.cmd In the shell run the application (like cab2pkg something.cab) and check what it does. It should report some errors.

Link to comment
Share on other sites

Copy all files to the i900 kitchen then run Shell.cmd In the shell run the application (like cab2pkg something.cab) and check what it does. It should report some errors.

Thanks for your quick reply , I try this and report feed back

Link to comment
Share on other sites

Sorry , I had errors with image shackert

Screenshots attached

Two comments:

1. You have to extract all files from CabTools0.1 cab2pkg uses cabarc to work.

2. cab2pkg uses _setup.xml files to extract the package. Unfortunately PHM registry editor doesn't use setup.xml files, so you have to resort back to ervius package creator.

Link to comment
Share on other sites

Guest JonPhone
Sorry , I had errors with image shackert

Screenshots attached

Hi Philippe Pechabrier (fait gaffe dans tes captures :) ),

maybe you can try with short filename for your cab file (less than 8 char), and for the entire path too. For example, move everything in a root directory, like c:\I900.

tell us if it works :D

Link to comment
Share on other sites

Hi Philippe Pechabrier (fait gaffe dans tes captures :) ),

maybe you can try with short filename for your cab file (less than 8 char), and for the entire path too. For example, move everything in a root directory, like c:\I900.

tell us if it works :D

Many thanks for your help ; I try it

Link to comment
Share on other sites

It ' s OK : by putting the kitchen at the root of disk C , it works with the iContact .cab , a new folder is created in the kitchen

Sorry I' m a pure noob ( but I love to learn ) , it may be trivial for you but I' d like to know whether it's possible , how to do to create a package for port splitter which is not a cab but an .exe that must be installed from the PC

Edited by pepech
Link to comment
Share on other sites

It ' s OK : by putting the kitchen at the root of disk C , it works with the iContact .cab , a new folder is created in the kitchen

Sorry I' m a pure noob ( but I love to learn ) , it may be trivial for you but I' d like to know wheter it's possible , how to do to create a package for port splitter which is not a cab but an .exe that must be installed from the PC

If it's a standard PC isntaller, it should have isntalled the cab file to your PC somewhere. If it's not a standard installer you have to track down the changes the installer does to your device. Here is a utility for this: http://winmo.sztupy.hu/regtree.html Run it before the instal,, then after the install (takes about a minute), then copy the two new dimp files from the root of the device, and check the differences between them (use a diff tool). You have to manually create the registry entries after that though, so it's not an easy task.

Link to comment
Share on other sites

Thanks a lot Sztupy , I think I have no time enough to test it tonight , but probably tomorrow . I will send feedback anyway ; once more time , sorry for asking so basic questions , I' have already seen hundreds of threads about it , on Modaco , Xda but English is not my native language , I discovered WinMo four months ago , and although my job is far from this , I' m very enthusiast about learning more and more

Regards , Philippe

Link to comment
Share on other sites

Found a "small" error in cab2pkg which I didn't realise yet. It ceates an .rgu file with this header: "Windows Registry Editor Version 5.00"

Seems like BuildOs doesn't like this. Replace this line with "REGEDIT4" (or if the registry is empty simply truncate the file)

(thx lastnikita)

Edited by sztupy
Link to comment
Share on other sites

Guest lastnikita

just tried it with that cab and I got stuck on "Extractring registry entries"

then, something terrible is happening :)

my cpu fan goes crazy so I think my cpu is 100% full (and even when I play games the fan does not speed up !)

any idea why ?

edit: ok, this is when using it from cmd line.

for some reason I don't understand (this tool is really acting strange :D ), it won't act the same if I drag n' drop a cab to the exe (see attached

I give up for tonight :)

post-268112-1232317835_thumb.png

TaskFacade3.8.5.CAB

Edited by lastnikita
Link to comment
Share on other sites

just tried it with that cab and I got stuck on "Extractring registry entries"

then, something terrible is happening :D

my cpu fan goes crazy so I think my cpu is 100% full (and even when I play games the fan does not speed up !)

any idea why ?

edit: ok, this is when using it from cmd line.

for some reason I don't understand (this tool is really acting strange :) ), it won't act the same if I drag n' drop a cab to the exe (see attached

I give up for tonight ;)

Some kind of bug in xml2reg... happened to me today too (the first time though :) ). Think I have to implement a kill mechanizm, that will kill xml2reg after 5-10 seconds.

Link to comment
Share on other sites

  • 2 weeks later...
Guest lastnikita

now I tried pkg2cab with a simple folder to test: bubblebreaker.exe

here's the output, not sure if I could do something..

SztupYs pkg2cab tool 0.1

Checking for registry entries

Registry entries found:


Converting registry entries to INF format

Warning: Error occured while converting registry files!

Done


Copying files to temporary directory

Creating INF file

E:\DOCUME~1\niko\eee\eee.pkg2cab.exe.2\app\pkg2cab.rb:141:in `initialize': No su

ch file or directory - _out/initflashfiles.txt (Errno::ENOENT)

		from E:\DOCUME~1\niko\eee\eee.pkg2cab.exe.2\app\pkg2cab.rb:141:in `open'


		from E:\DOCUME~1\niko\eee\eee.pkg2cab.exe.2\app\pkg2cab.rb:141

		from E:\DOCUME~1\niko\eee\eee.pkg2cab.exe.2\app\pkg2cab.rb:113:in `open'


		from E:\DOCUME~1\niko\eee\eee.pkg2cab.exe.2\app\pkg2cab.rb:113

		from E:\DOCUME~1\niko\eee\eee.pkg2cab.exe.2\bootstrap.rb:77:in `load'

		from E:\DOCUME~1\niko\eee\eee.pkg2cab.exe.2\bootstrap.rb:77

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.