Jump to content











Photo
- - - - -

WinBuilder 053 - beta 14


  • Please log in to reply
291 replies to this topic

#51 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 14 December 2006 - 05:22 PM

:P :P :P :P :P

This is the best version of Winbuilder

Duration: 33 seconds and 406 miliseconds


I use a ramdrive as target ...
:P

#52 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 14 December 2006 - 09:21 PM

Still needing to bugfix cabexpand a bit more and the script engine will be tunned up.. :P

#53 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 December 2006 - 01:02 AM

This beta has cabexpand modified - I hope it works in a more stable manner now..

Attached File  WinBuilder053_Beta7a.zip   666.97KB   350 downloads


Also took the oportunity to replace a lot of ansi based functions with non-locale functions or even assembler based string handling routines to make processing faster - not sure however how it will behave under different locales - please let me know if this will interfer with project building.

If it works as expected, it will be part of the next beta.. :P

#54 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 15 December 2006 - 08:41 AM

This beta has cabexpand modified - I hope it works in a more stable manner now..


I still get ramdomly missing files.
Here a build compared with the same build done by 052:


Peter

#55 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 December 2006 - 04:12 PM

I don't understand the image you've posted peter, wich files are missing on the right side?

When running just the folder creation and copy/expand scripts will still produce different results?

Will keep trying to see how to solve this.. :P

#56 edborg

edborg

    Frequent Member

  • .script developer
  • 387 posts
  •  
    Italy

Posted 15 December 2006 - 04:55 PM

@Nuno
I've excluded my forbidden project (ReactOS)... and tested Winbuilder 053 beta7a, which is really ways faster! :P
Particularly with very slow scripts such as Explorer Tweaks and Settings, AutoUPX, and others.
Consider that my full 86MB build required some 24 minutes on my PC with the previous beta!

However, the new beta is perhaps even to fast, as it looks for files before extracting them... :P

It happened to me when running Alexei's Networking.script which gave me the attached error message.
You'd better try it yourself, as no log was generated.

At the moment of the crash the inf folder did not contain yet the files that the script was supposed to have already expanded there.
I double checked with the previous beta and found that many more files were there at that point of the process (and the build completed successfully).

edborg

Attached Thumbnails

  • error.jpg


#57 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 15 December 2006 - 05:03 PM

I don't understand the image you've posted peter, wich files are missing on the right side?

When running just the folder creation and copy/expand scripts will still produce different results?

Will keep trying to see how to solve this.. :P


The view option is 'show missing or different files only'
So all blue files on the left (made by 052) are missing on the right (made by 053).

C&E script alone brings:
with 052: 97 files in system32 and 57 files in system32\drivers
with 053beta7a: 54 files in system32 and 45 files in system32\drivers.

Peter

#58 edborg

edborg

    Frequent Member

  • .script developer
  • 387 posts
  •  
    Italy

Posted 15 December 2006 - 05:14 PM

BuildModel also gives error. :P

These (Networking and BuildModel) are scripts that otherwise run fine in my environment with previous beta.

On the positive side, my build time (with Networking disabled) went down from more than 24 minutes to less than 6 minutes! :P

edborg

Attached Thumbnails

  • error.jpg


#59 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 December 2006 - 05:18 PM

Thanks - I see that winbuilder is really going too fast now... :P

I'm happy to see that beside cabexpand the other modifications are working out, now I'll try to cooldown cabexpand.


When a cabexpand command is used - a new thread is created using cabinet.dll - I'm not sure yet on how to keep all threads playing nice with each other and stopping the application from going forward without waiting for the previous thread to finish but will keep working on it until this is solved - thanks for the very detailed feedback.

If it helps to compare, I'm testing on a laptop using a Centrino Dual Core CPU @ 1,66Ghz with 1Gb RAM - wich seems to produce the results I need - now I see that on fast desktop machines these results will be different..


:P

#60 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 December 2006 - 05:46 PM

Here's another modified beta, I've built the same project 3 times always outputing the same results - I hope this time the cabexpand behaves nice..

Attached File  WinBuilder053_Beta7b.zip   666.95KB   377 downloads

edborg - I'm not testing with the network or buildmodel scripts - if you're still unable to build with your configuration would you mind emailing it to me?

This way I'll be able to debug it intensively until a stable result is achieved.. :P

Thanks!! :P

#61 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 15 December 2006 - 06:13 PM

Here's another modified beta, I've built the same project 3 times always outputing the same results - I hope this time the cabexpand behaves nice..

Attached File  WinBuilder053_Beta7b.zip   666.95KB   377 downloads

edborg - I'm not testing with the network or buildmodel scripts - if you're still unable to build with your configuration would you mind emailing it to me?

This way I'll be able to debug it intensively until a stable result is achieved.. :P

Thanks!! :P


C&E with 053b7b needs more time than C&E with 052.
It still has files missing. In the test 23 of 97 in system32 and 5 of 57 in system32\drivers.

Peter

#62 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 December 2006 - 07:40 PM

:P

It should be working fine now - will try another approach.. :P

#63 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 15 December 2006 - 09:43 PM

Here's a new C version of cabexpand for beta 5 build 053.. :P

Attached File  WinBuilder053_Beta7c.zip   667KB   373 downloads

This time I've forced the thread to double loop on top and end if the precendent or current thread is still running, let's hope it's not needed to reach a Z version! :P

Thanks for the quick tests! :P

#64 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 16 December 2006 - 01:51 PM

Here's a new C version of cabexpand for beta 5 build 053.. :P

Attached File  WinBuilder053_Beta7c.zip   667KB   373 downloads

This time I've forced the thread to double loop on top and end if the precendent or current thread is still running, let's hope it's not needed to reach a Z version! :P

Thanks for the quick tests! :P


With 053b7c I get 44 files in system32 and 46 files in system32\drivers - less than with version 053b7a.

Peter

BTW: Of course in betweeen I make tests with 052 on the same project with same options: It never failed!

#65 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 16 December 2006 - 03:15 PM

I have found a bug in beta 7:
When processing the script.project file, winbuilder doesn't use the contents of the variables but their name
eg.
Message,"%BaseDir%",Information

returns this :
1.gif


John

#66 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 16 December 2006 - 03:25 PM

I have found a bug in beta 7:
When processing the script.project file, winbuilder doesn't use the contents of the variables but their name
eg.

Message,"%BaseDir%",Information

returns this :
1.gif
John


Thanks - that was quick to fix, however the cabexpand is still an issue.. :P


If it doesn't get fixed then I'll have to revert to the expand.exe wrapper wich is not a very efficient..

Well.. back to work! :P

#67 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 16 December 2006 - 04:49 PM

If it doesn't get fixed then I'll have to revert to the expand.exe wrapper wich is not a very efficient..

In one of your previous posts you mentioned that you gave a higher priority to WinBuilder.
That is a good way only in very rare certain situations. Usually you have this high priority task calling other programs with low priority. That does not bring performance increase, sometimes it really decreases performance:
The high priority task gets its time slot. Then it sees that the low priority child didn't finish and exits. These wasted time slots appear very often until the low priority child is finished.

In 99% it is better to give a program standard priority.

Maybe you try that (inspite I do not think that the missing files are caused by the non standard priority).

Peter

#68 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 16 December 2006 - 05:27 PM

Very well noticed.. I've initially added an higher priority to prevent the script processing of getting slower - but will disable this - can't hurt to try as well..

I'm not sure yet on why it happens since it hard to replicate on my work machine, but perhaps you can check the code yourself and see why it occurs - would really help :P
Attached File  Attachements.zip   40.05KB   323 downloads


At the moment I'm recoding the functions to search scripts on the main window - I'm hoping to make them smarter and faster to deal with lots of scripts without delaying so much on startup and unfortunately am unable to test a new cab expand code, but perhaps you'd like to take a look and see how it goes
Function CabExtract(const FileToExtract, PathToExtract : String): Boolean;



	 label

	  top;



	  var

	   ExtFile,

	   Dir : String;



		 begin



			repeat until not CabDecompress.Processing;





			 Dir := PathToExtract;

			 ExtFile := FileToExtract;





		 If(not FileExists(ExtFile)or(not DirExists(Pchar(dir))))

		  then

				 begin

			   CabExtract := False;

			   exit;

				 end

				else CabExtract := True;







		 if(RightStr(Dir,1)='\')then

		  else dir := dir+'\';







		  With CabDecompress

		   do begin



						CabPathName := ExtFile;

						TargetPath := dir;

						SelectAllFiles;

						Decompress;



					  repeat until not CabDecompress.Processing



			  end;



		 end; {procedure}


The above attachment includes the cabinet.dll interface and an example to compile - you also need to declare a TcabDecompressor component on your form to make it work properly.

I usually prefer to create components on runtime to keep things clean, but this one simply doesn't seem to like it.

Also added repeat..until loops but haven't yet tested to say that it works or not - I also try avoiding them but had to make an exception on this case.. :P

#69 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 17 December 2006 - 01:52 PM

repeat until not CabDecompress.Processing;

:P
To give other tasks some time to run it should be something like
repeat

	  Sleep(10);

	until not CabDecompress.Processing;
I did not find anything strange inside the code.
But:
You are waiting for the end of the decompress thread to become 'synchron' again.

Maybe you try http://www.mischel.c...util/cabsrc.zip mentioned here.

It is synchronous and works with events.
I tried and it worked well.
The advantage is that you can give a list of files to the CabDecompressor1CopyFile event handler. Inside a script you so could select multiple cabexpands and then execute with one step.

Peter

#70 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 17 December 2006 - 08:57 PM

I have done some testings with all betas and have some interesting results:

C&E + beta 4 : 164 files copied
C&E + beta 7 : 68 files copied
C&E + beta 7a: 103 files copied
C&E + beta7b : 65 files copied
C&E + beta 7c : 64 files copied


:P

I suggest that you try to make changes in the 7a beta. I'll come back with more results...

Here's the new test results:
I have built 10 times with the same beta,source and project and I got 10 different file numbers! :P

Then I deleted the expand and kept only the copy commands. Then in the 10 next results I got the same number of files.

So the problem is only with expand. I suggest you to make a beta without changing priority of the threads. You have done two major changes and it should be wise to isolate each one to see what is causing the problem.


John

#71 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 18 December 2006 - 12:10 AM

Yes, this issue seems to be located on cabexpand, thanks for the heavy testing! :P

If I don't find a permanent solution, I'll temporarily use the previous wrapper around expand.exe - wich is slower as we know.. :P

#72 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 21 December 2006 - 01:48 PM

Beta 8 was uploaded onto the first post!

This is a new step of development since it already includes an early implementation of automatic webupdate.

This works in a very simple fashion:
  • download this beta
  • unpack onto an empty folder
  • go to download center
  • press Install Selected
downloadcenter.PNG


This will download the needed archive and tools, creating links to projects. At the moment I've only included the recently baptized Live XP project (formely known as standard..) and ReactOS live CD.

ReactOS seems to have an annoying bug wich I still need to sort out - it will download all needed files as supposed, but when we start a project it refuses to download the needed reactOS.7z from the webserver - perhaps someone can let me know if this also repeats when trying to run it from other machines.

All needed updates are done in an automated fashion, users have the option deselect the scripts not needed to download if they wish. There's no need for any more edits since it will cross-compare the versions whenever a script with the same filename is found and compare disksize for all other files along with md5 checksum - so any changes on updates.ini will be reflected on the update window without needing more user input - also clicking on scripts you can view the details about the script such as author, version, description, download link, etc.

Hope you find it simple to use! :P


Here's the detailed log of changes:

- bugfixed the internal inf2script tool to correctly add "" on each converted value on registry keys of type 0x3 and 0x7
- DirMove has also been improved to allow moving files and folders silently - allowing to use *.* to only move files and subdirectories from a folder
- echo command was also bugfixed - was not translating variables
- Clicking to disable or enable a folder will also reflect this value on all scripts inside
- Added a new tab named "Tools" where "Backup", "Create new script" and "Create updates.ini" tools where placed
- Added webupdate, allowing users to view and download the latest scripts and projects
- Added a new command to refresh the variable list as an option of the system command - available on right-click menu on source code
- Projects no longer accept empty %sourcedirs% - displaying a message box for users to select a valid source folder
- Tools were moved to a sub-folder of archives to take advantage of webupdates, %tools% variable was also updated to reflect changes
- Replace the individual script update button with the option to run the selected script
- Added a global webserver edit option for using updates from alternative webservers
- cabexpand was reverted back to the previous expand.exe wrapper until a more stable code can be used instead.


Following smiley's recomendation I've re-added the older cabexpand code - this way results should be more stable and we'll be able to focus on more important things.

The new web server is located on http://updates.boot-land.net - at this moment the upload method is still manually done using an internal tool to generate an updates.ini from the archive folder. This webserver will soon be available for active developers once an automated ftp upload way is added - may take a bit to be implemented, but will finally allow to upload new scripts or versions with just a click.. :P


There were also many changes inside winbuilder itself such as code cleanup and a few more UI improvements - sorry for the delay in publishing this beta, hopefully it will make life easier and offer more scripts available for all users.


Please remember that this is still an early implementation and many things have changed from previous beta versions - please post any bug reports with a complete description so that I can replicate it..

Thanks for all the feedback!! :P

#73 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 21 December 2006 - 03:05 PM

@Nuno: I think that you misunderstood me (a bit)

1st) I said that when winbuilder processes the process section in script.project , it doesn't replace the variables and almost every command leads to an error.

2nd) I suggested to keep the cabexpand command that used cabinet.dll and revert process priority

The download center is AMAZING! :P


John

#74 Brito

Brito

    Platinum Member

  • .script developer
  • 10616 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 21 December 2006 - 03:27 PM

@Nuno: I think that you misunderstood me (a bit)
1st) I said that when winbuilder processes the process section in script.project , it doesn't replace the variables and almost every command leads to an error.

You're right almost slipped my mind.. To quick fix this issue I've added System,refreshVars - it's a temporary fix until I find a time effective way to translate all variables processed by scripts - I have a pretty good idea on how to make really fast, but will need some to recode the engine from the begining - too many changes for now..


2nd) I suggested to keep the cabexpand command that used cabinet.dll and revert process priority

PSC also sent me a cabExpand delphi code snippet that worked on his machine - need also some time to further expand this command.. :P

#75 pscEx

pscEx

    Platinum Member

  • Team Reboot
  • 12707 posts
  • Location:Korschenbroich, Germany
  • Interests:What somebody else cannot do.
  •  
    European Union

Posted 21 December 2006 - 04:19 PM

First impression:

Download beta 8 into empty dir >> :P
Use Download center and get everything >> :P
One customization: Source directory. No other typing or clicking.
Build LiveXP >> qEmu came up :P

Result: :P

(Maybe details coming later and cause a :P ) :P

Peter




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users