I'm proud to announce the initial beta release of WinBuilder 075.
This is a very special release as it the first that showcases several improvements regarding the script engine and extensive bug fixes that have been reported on the bug tracker.
Peter (PSC) is the mentor for most of these fixes and I would like to extend my personal thank you to him for all the good results that made possible such a good script performance.
------------
Please report back any issues that you find with this new beta version, lots of changes have been introduced on the engine so we need feedback to see if anything was left to be corrected.
Beta 5 (18-Sep-2008)
Download:
http://winbuilder.net/download.php?view.34
Log of changes
CODE
fixed - double 'beta' in form caption
fixed - unsaved change of download server constellation
fixed - default.txt is missing
fixed - 'Index out of bounds' when last download server is deleted
fixed - 'feature' how to remove custom program logo
*** preview as beta 4 a
fixed - some smaller issues with download servers
fixed - ExtractAndRun bug
fixed - internal variables like %scriptDir% can contain commas
added - 'Stop Build on Error' option
fixed - senceless 'v.' in progress window
*** preview as beta 4 b
fixed - sort order bug with mapped folders
fixed - ShellExecuteEx bug when opening documents by associated app
added - Option to name log.html with additional time stamp
added - Option to build log.html immediatelly after build w/o user interaction
*** preview as beta 4 c
fixed - Bug with If,(NOT)EXISTFILE/DIR checking empty floppy drive
added - Loop statement can run between characters, e.g. drive letters
added - Strformat,INC and Strformat,DEC also work on characters
modified - nicer output in log.html
*** preview as beta 4 d
fixed - bug with file type associations
fixed - Convert tool - wrong popup menu
added - Convert tool - remove file from list
added - suggestion how to have certain scripts be selected mandatory
*** preview as beta 4 e
added - RegDelete of values
added - 'Not' option to If command
*** preview as beta 4 f
added - StrFormat can extract path, filename and extentions from URLs
*** preview as beta 4 g
fixed - bug in 'Exit on Error' when extracting files
*** preview as beta 4 h
fixed - Minor code changes and corrections to clean the hint & warnings reported on compile time
fixed - bug 'system error occurs' in clicking log treeview
fixed - newly added web servers for download are not tracked in WinBuilder.ini
*** preview as beta 4 i
fixed - bug when running script from source editor
fixed - delete temporary files after extracting an attachement
added - optional automatic log after clicking the STOP button
*** preview as beta 4 j
fixed - wrong parent's node check marks when selecting with space bar
changed - RegDelete syntax
*** preview as beta 4 k
changed - starting to clean up language support
changed - remove 'charset' from log.html meta content tag
fixed - finally(?) wrong parent's node check marks when selecting with space bar
*** preview as beta 4 l
### some consolidation with respect to next beta release
removed - 'STOP' in interface editor when using themes other than XDP-classic
removed - 'protected' functionality
added - about 30 items to language translation
removed - new RegDelete syntax, temporarily use old syntax (see magic wand)
*** preview as beta 4 m
changed - new RegDelete syntax again
fixed - some smaller GUI adjustements
added - some more items to language translation
added - System,ERROROFF can get number of lines as optional argument
*** preview as beta 4 n
added - files to be converted can be Drag&Drop-ed from explorer
added - files to be attached can be Drag&Drop-ed from explorer
added - If,ExistRegSection and If,ExistRegKey
added - proxy support
added - 'mandatory scripts' functionality (replaces removed Protect functionality)
cleaned - internal If command logic
*** preview as beta 4 o
changed - WinBuilder always runs in CPU #0 only, also on multiprocessor and multicore systems
added - internal variables %ProjectTitle% and %ScriptTitle%
added - basic raw registry editor support
*** preview as beta 4 p
fixed - script was not shown if there was a folder with a name equal to the script's title
*** preview as beta 4 q
fixed - enable RegRead of expandable strings 0x2
fixed - decode macro names only as first argument
fixed - store changed text in a filebox
added - Show Progress Window also when processing codebox ot buttons.
added - several smaller adjustements
added - autosave option for source code editor
*** preview as beta 4 r
fixed - Changing source folder to a folder already on list
changed - parameter stack added for 'Run' and 'Loop' statements
fixed - bug occurring when a line contained a non-variable '%'
*** preview as beta 4 s
fixed - bug in If,QUESTION with space inside question
fixed - 'Use Path Rule' now unchecked by default
changed - some smaller corrections
*** preview as beta 4 t
changed - now nested 'begin' - 'end' is possible. 'begin' stack added
changed - no flushing window on missing source
changed - dont show scripts of 0 bytes size
*** preview as beta 4 u
fixed - bug in System,GETFREEDRIVE
fixed - bug in previous / next selected: Changes were lost
*** preview as beta 4 v
fixed - bug in macro expanding
*** preview as beta 4 w
********************
Loop statement can run between characters, e.g. drive letters
Sample:
[variables]
%a_searchFile%=Program Files\BootStick_2008_001\Pstart.exe
[process]
Loop,%ScriptFile%,Try,a,z
If,EXISTFILE,%pstart%,ShellExecute,OPEN,%pstart%
[try]
Set,%pstart%,#c:\%a_searchFile%
If,EXISTFILE,%pstart%,Loop,BREAK
******************
New Syntax:
RegDelete,HKLM,Section,Key deletes 'Key' under 'Section'
RegDelete,HKLM,Section deletes the complete 'Section'
Old Syntax:
RegDelete,HKLM,Section,Key,Value deletes 'Value' under 'Section\Key'
RegDelete,HKLM,Section,Key deletes the complete 'key' under 'Section'
******************
'Not' option to If command
You negate an If command by inserting an 'Not'
If,someting,... > If,Not,something ...
If,Not,%var1%,EQUAL,%var2%,command
has the same result as
If,%var1%,NOTEQUAL,%var2%,command
The current NOTEQUAL, NOTEXISTDIR, ... commands are still processes because of compatibility reasons
But before processing they are internally changed into If,Not,...
Therefore
If,NOT,%var%,NOTEQUAL,%test%,...
is invalid and may produce inpredictable results
Try this in CodeBox:
[Process]
Set,%var%,3
If,%var%,EQUAL,3,Echo,"3 is equal to %var%"
If,Not,%var%,EQUAL,3,Echo,"3 is not equal to %var%"
If,%var%,NOTEQUAL,3,Echo,"3 is not equal to %var%"
Set,%var%,4
If,%var%,EQUAL,3,Echo,"3 is equal to %var%"
If,Not,%var%,EQUAL,3,Echo,"3 is not equal to %var%"
If,%var%,NOTEQUAL,3,Echo,"3 is not equal to %var%"
****************
StrFormat can extract path, filename and extentions from URLs:
[Variables]
%DownloadURL1%=http://live.sysinternals.com/Bginfo.exe
[Process]
StrFormat,PATH,%DownloadURL1%,%fnam%
StrFormat,FILENAME,%DownloadURL1%,%fnam%
StrFormat,EXT,%DownloadURL1%,%fnam%
results in:
StrFormat - converted: [%DownloadURL1%] to variable: [%fnam%] with result: [http://live.sysinternals.com/]
StrFormat - converted: [%DownloadURL1%] to variable: [%fnam%] with result: [Bginfo.exe]
StrFormat - converted: [%DownloadURL1%] to variable: [%fnam%] with result: [.exe]
***************
New If commands:
If,ExistRegSection,HKLM,Section,Command
If,ExistRegKey,HKLM,Section,Key,Command
***************
Scripts having '[Main] Mandatory=True' are marked in the tree with a red exclamation mark and cannot be deselected.
In the Interface editor there is a check box 'Mandatory' to set or unset this property.
This protection mechanism can be switched off by the developer by adding [Main] Mandatory=False to WinBuilder.ini
***************
Autosave option
Autosave is On by default.
You can switch it permanently On / Off by using the 'Options' tab in Tools Mode
The 'save' button in the source editor is only visible if autosave is off.
fixed - unsaved change of download server constellation
fixed - default.txt is missing
fixed - 'Index out of bounds' when last download server is deleted
fixed - 'feature' how to remove custom program logo
*** preview as beta 4 a
fixed - some smaller issues with download servers
fixed - ExtractAndRun bug
fixed - internal variables like %scriptDir% can contain commas
added - 'Stop Build on Error' option
fixed - senceless 'v.' in progress window
*** preview as beta 4 b
fixed - sort order bug with mapped folders
fixed - ShellExecuteEx bug when opening documents by associated app
added - Option to name log.html with additional time stamp
added - Option to build log.html immediatelly after build w/o user interaction
*** preview as beta 4 c
fixed - Bug with If,(NOT)EXISTFILE/DIR checking empty floppy drive
added - Loop statement can run between characters, e.g. drive letters
added - Strformat,INC and Strformat,DEC also work on characters
modified - nicer output in log.html
*** preview as beta 4 d
fixed - bug with file type associations
fixed - Convert tool - wrong popup menu
added - Convert tool - remove file from list
added - suggestion how to have certain scripts be selected mandatory
*** preview as beta 4 e
added - RegDelete of values
added - 'Not' option to If command
*** preview as beta 4 f
added - StrFormat can extract path, filename and extentions from URLs
*** preview as beta 4 g
fixed - bug in 'Exit on Error' when extracting files
*** preview as beta 4 h
fixed - Minor code changes and corrections to clean the hint & warnings reported on compile time
fixed - bug 'system error occurs' in clicking log treeview
fixed - newly added web servers for download are not tracked in WinBuilder.ini
*** preview as beta 4 i
fixed - bug when running script from source editor
fixed - delete temporary files after extracting an attachement
added - optional automatic log after clicking the STOP button
*** preview as beta 4 j
fixed - wrong parent's node check marks when selecting with space bar
changed - RegDelete syntax
*** preview as beta 4 k
changed - starting to clean up language support
changed - remove 'charset' from log.html meta content tag
fixed - finally(?) wrong parent's node check marks when selecting with space bar
*** preview as beta 4 l
### some consolidation with respect to next beta release
removed - 'STOP' in interface editor when using themes other than XDP-classic
removed - 'protected' functionality
added - about 30 items to language translation
removed - new RegDelete syntax, temporarily use old syntax (see magic wand)
*** preview as beta 4 m
changed - new RegDelete syntax again
fixed - some smaller GUI adjustements
added - some more items to language translation
added - System,ERROROFF can get number of lines as optional argument
*** preview as beta 4 n
added - files to be converted can be Drag&Drop-ed from explorer
added - files to be attached can be Drag&Drop-ed from explorer
added - If,ExistRegSection and If,ExistRegKey
added - proxy support
added - 'mandatory scripts' functionality (replaces removed Protect functionality)
cleaned - internal If command logic
*** preview as beta 4 o
changed - WinBuilder always runs in CPU #0 only, also on multiprocessor and multicore systems
added - internal variables %ProjectTitle% and %ScriptTitle%
added - basic raw registry editor support
*** preview as beta 4 p
fixed - script was not shown if there was a folder with a name equal to the script's title
*** preview as beta 4 q
fixed - enable RegRead of expandable strings 0x2
fixed - decode macro names only as first argument
fixed - store changed text in a filebox
added - Show Progress Window also when processing codebox ot buttons.
added - several smaller adjustements
added - autosave option for source code editor
*** preview as beta 4 r
fixed - Changing source folder to a folder already on list
changed - parameter stack added for 'Run' and 'Loop' statements
fixed - bug occurring when a line contained a non-variable '%'
*** preview as beta 4 s
fixed - bug in If,QUESTION with space inside question
fixed - 'Use Path Rule' now unchecked by default
changed - some smaller corrections
*** preview as beta 4 t
changed - now nested 'begin' - 'end' is possible. 'begin' stack added
changed - no flushing window on missing source
changed - dont show scripts of 0 bytes size
*** preview as beta 4 u
fixed - bug in System,GETFREEDRIVE
fixed - bug in previous / next selected: Changes were lost
*** preview as beta 4 v
fixed - bug in macro expanding
*** preview as beta 4 w
********************
Loop statement can run between characters, e.g. drive letters
Sample:
[variables]
%a_searchFile%=Program Files\BootStick_2008_001\Pstart.exe
[process]
Loop,%ScriptFile%,Try,a,z
If,EXISTFILE,%pstart%,ShellExecute,OPEN,%pstart%
[try]
Set,%pstart%,#c:\%a_searchFile%
If,EXISTFILE,%pstart%,Loop,BREAK
******************
New Syntax:
RegDelete,HKLM,Section,Key deletes 'Key' under 'Section'
RegDelete,HKLM,Section deletes the complete 'Section'
Old Syntax:
RegDelete,HKLM,Section,Key,Value deletes 'Value' under 'Section\Key'
RegDelete,HKLM,Section,Key deletes the complete 'key' under 'Section'
******************
'Not' option to If command
You negate an If command by inserting an 'Not'
If,someting,... > If,Not,something ...
If,Not,%var1%,EQUAL,%var2%,command
has the same result as
If,%var1%,NOTEQUAL,%var2%,command
The current NOTEQUAL, NOTEXISTDIR, ... commands are still processes because of compatibility reasons
But before processing they are internally changed into If,Not,...
Therefore
If,NOT,%var%,NOTEQUAL,%test%,...
is invalid and may produce inpredictable results
Try this in CodeBox:
[Process]
Set,%var%,3
If,%var%,EQUAL,3,Echo,"3 is equal to %var%"
If,Not,%var%,EQUAL,3,Echo,"3 is not equal to %var%"
If,%var%,NOTEQUAL,3,Echo,"3 is not equal to %var%"
Set,%var%,4
If,%var%,EQUAL,3,Echo,"3 is equal to %var%"
If,Not,%var%,EQUAL,3,Echo,"3 is not equal to %var%"
If,%var%,NOTEQUAL,3,Echo,"3 is not equal to %var%"
****************
StrFormat can extract path, filename and extentions from URLs:
[Variables]
%DownloadURL1%=http://live.sysinternals.com/Bginfo.exe
[Process]
StrFormat,PATH,%DownloadURL1%,%fnam%
StrFormat,FILENAME,%DownloadURL1%,%fnam%
StrFormat,EXT,%DownloadURL1%,%fnam%
results in:
StrFormat - converted: [%DownloadURL1%] to variable: [%fnam%] with result: [http://live.sysinternals.com/]
StrFormat - converted: [%DownloadURL1%] to variable: [%fnam%] with result: [Bginfo.exe]
StrFormat - converted: [%DownloadURL1%] to variable: [%fnam%] with result: [.exe]
***************
New If commands:
If,ExistRegSection,HKLM,Section,Command
If,ExistRegKey,HKLM,Section,Key,Command
***************
Scripts having '[Main] Mandatory=True' are marked in the tree with a red exclamation mark and cannot be deselected.
In the Interface editor there is a check box 'Mandatory' to set or unset this property.
This protection mechanism can be switched off by the developer by adding [Main] Mandatory=False to WinBuilder.ini
***************
Autosave option
Autosave is On by default.
You can switch it permanently On / Off by using the 'Options' tab in Tools Mode
The 'save' button in the source editor is only visible if autosave is off.
--------------------------------------------------------------------------------------------------------------
Beta 3 (10-Jun-2008)
Download: http://winbuilder.net/download.php?view.32
Log of changes:
QUOTE
added - begin/end for If and Else commands
added - buttons to step through selected scripts
fixed - attachement context menu
fixed - multiple anchors in log
fixed - WebGet bug with redirection
added - buttons to step through selected scripts
fixed - attachement context menu
fixed - multiple anchors in log
fixed - WebGet bug with redirection
Example of the new code syntax for begin/end for If and Else commands:
CODE
[Variables]
%var%=2
[process]
If,%var%,Equal,2,begin
Echo,2-0
Echo,2-1
Echo,2-2
end
Else,begin
Echo,a-0
Echo,a-1
Echo,a-2
end
If,%var%,Equal,3,begin
Echo,3-0
Echo,3-1
Echo,3-2
end
Else,begin
Echo,x-0
Echo,x-1
Echo,x-2
end
Echo,"All Done"
%var%=2
[process]
If,%var%,Equal,2,begin
Echo,2-0
Echo,2-1
Echo,2-2
end
Else,begin
Echo,a-0
Echo,a-1
Echo,a-2
end
If,%var%,Equal,3,begin
Echo,3-0
Echo,3-1
Echo,3-2
end
Else,begin
Echo,x-0
Echo,x-1
Echo,x-2
end
Echo,"All Done"
Result:
QUOTE
[Success] IF - [(%var%)2] is equal to: [2] executing command: [begin]
[Info] 2-0
[Info] 2-1
[Info] 2-2
[Success] [end]
[Ignore] ELSE - [begin]
[Ignore] [Echo,a-0]
[Ignore] [Echo,a-1]
[Ignore] [Echo,a-2]
[Ignore] [end]
[Ignore] IF - [(%var%)2] is not equal to: [3] evaluated string: [If,%var%,Equal,3,begin]
[Ignore] [Echo,3-0]
[Ignore] [Echo,3-1]
[Ignore] [Echo,3-2]
[Ignore] [end]
[Success] ELSE - executing command: [begin]
[Info] x-0
[Info] x-1
[Info] x-2
[Success] [end]
[Info] All Done
[Info] 2-0
[Info] 2-1
[Info] 2-2
[Success] [end]
[Ignore] ELSE - [begin]
[Ignore] [Echo,a-0]
[Ignore] [Echo,a-1]
[Ignore] [Echo,a-2]
[Ignore] [end]
[Ignore] IF - [(%var%)2] is not equal to: [3] evaluated string: [If,%var%,Equal,3,begin]
[Ignore] [Echo,3-0]
[Ignore] [Echo,3-1]
[Ignore] [Echo,3-2]
[Ignore] [end]
[Success] ELSE - executing command: [begin]
[Info] x-0
[Info] x-1
[Info] x-2
[Success] [end]
[Info] All Done
--------------------------------------------------------------------------------------------------------------
Beta 2 (06-Jun-2008)
Download: http://winbuilder.net/download.php?view.31
QUOTE
added - 'variable names can contain variables'
added - Multiple 'Else,If' possible
added - 'Loop' statement
added - %ExitCode% for ShellExecute
added - System,Cursor,Wait / Normal
added - Expand Echo,Message to optional Echo,Message[,Warn]
added - button to open Download Center from main window
added - updates.ini can will open a custom website if specific info is found ([info] -> Website=http://myexample.com)
fixed - greyed scrollbars area
fixed - bug with disappearing or moving components
fixed - bug with overwritten component, if wrong order
fixed - bug in RegGetNext
fixed - bug in script macro resolving
fixed - CopyOrExpand now works in W2000 host
fixed - Main treeview has a stable behavior
modified - Some cosmetics in log.html generation
modified - GUI editor fixes
modified - Log tab is only visible whenever it is not empty
modified - wb License is now visible by default under the Tools menu
removed - If,License and If,NotLicense commands
removed - IE dependency to allow wb work on Windows 2000 (no proxy support based on IE settings)
removed - Web and Help tab were removed to keep GUI simpler and quickier to load
removed - All built-in FTP upload functions were removed since most developer prefer to use own FTP clients
removed - Backup Tool was removed since it was rarely used
added - Multiple 'Else,If' possible
added - 'Loop' statement
added - %ExitCode% for ShellExecute
added - System,Cursor,Wait / Normal
added - Expand Echo,Message to optional Echo,Message[,Warn]
added - button to open Download Center from main window
added - updates.ini can will open a custom website if specific info is found ([info] -> Website=http://myexample.com)
fixed - greyed scrollbars area
fixed - bug with disappearing or moving components
fixed - bug with overwritten component, if wrong order
fixed - bug in RegGetNext
fixed - bug in script macro resolving
fixed - CopyOrExpand now works in W2000 host
fixed - Main treeview has a stable behavior
modified - Some cosmetics in log.html generation
modified - GUI editor fixes
modified - Log tab is only visible whenever it is not empty
modified - wb License is now visible by default under the Tools menu
removed - If,License and If,NotLicense commands
removed - IE dependency to allow wb work on Windows 2000 (no proxy support based on IE settings)
removed - Web and Help tab were removed to keep GUI simpler and quickier to load
removed - All built-in FTP upload functions were removed since most developer prefer to use own FTP clients
removed - Backup Tool was removed since it was rarely used
--------------------------------------------------------------------------------------------------------------
Beta 1 (12-May-2008)
Download: http://winbuilder.net/download.php?view.30
QUOTE
- Added - Version number next to script description
- Fix bug #32 (Retreive cmd)
- Fix bug with RegRead MULTI_SZ
- Implementation of REG_NONE
- Log generation accelerated; Fix of 'truncated log lines'
- Add Generation of API format lines to 'Convert from BartPE'
- Separate unit 'ConvertBart'
- ConvertBart now can handle most 'standard' app scripts including a start menu entry extracted from nu2menu???.xml
- New unit nu2menu
- Fix bug #7 with Access violation on double click
- Fix bug in StrFormat: Now last parameter can be %variable%
- Add string functions RTrim, LTrim, CTRim, Left, Mid, Right to StrFormat
- Fix bug in If,ExistSection and If,NotExistSection
- New enhanced variables handling
- Add If,ExistVar and If,NotExistVar
- Add Else command
- RegWrite,0x4 now accepts four binary hex bytes in addition to DWORD
- Unload open hive after clicking the stop button
- Add ProcessMessages in RunLite loop
- STOP button now works also during Exec command
- Fix bug in RegRead 0x3
- Accelerated creation of log HTMLs
- Fix bug #32 (Retreive cmd)
- Fix bug with RegRead MULTI_SZ
- Implementation of REG_NONE
- Log generation accelerated; Fix of 'truncated log lines'
- Add Generation of API format lines to 'Convert from BartPE'
- Separate unit 'ConvertBart'
- ConvertBart now can handle most 'standard' app scripts including a start menu entry extracted from nu2menu???.xml
- New unit nu2menu
- Fix bug #7 with Access violation on double click
- Fix bug in StrFormat: Now last parameter can be %variable%
- Add string functions RTrim, LTrim, CTRim, Left, Mid, Right to StrFormat
- Fix bug in If,ExistSection and If,NotExistSection
- New enhanced variables handling
- Add If,ExistVar and If,NotExistVar
- Add Else command
- RegWrite,0x4 now accepts four binary hex bytes in addition to DWORD
- Unload open hive after clicking the stop button
- Add ProcessMessages in RunLite loop
- STOP button now works also during Exec command
- Fix bug in RegRead 0x3
- Accelerated creation of log HTMLs
One of the biggest overall improvement are the variables handling and the introduction of direct support for running bartPE plugins as if they were app scripts. To test this feature, add your bartPE plugins inside a LiveXP/NativeEx or any other XP based project that supports app scripts.
Happy testing, hope you like this new version!


