Paraglider Posted December 12, 2017 Share Posted December 12, 2017 Note I have the winbuilder help online here: http://wb.paraglidernc.com/Help/default.html Link to comment Share on other sites More sharing options...
Joveler Posted December 12, 2017 Author Share Posted December 12, 2017 (edited) 6 hours ago, Paraglider said: I still cannot get existregmulti to work. I get a script error from this: 2 syntax error detected at [Win10PESE\Addons.PG\HDM15Pro\hdm15pro.link] [1/2] Wrong CodeType [Tmp_System\ControlSet001\Control\Class\{71A27CDD-812A-11D0-BEC7-08002BE2092F}], Only alphabet, number and underscore can be used as CodeType (if,not,ExistVar,HKLM,Tmp_System\ControlSet001\Control\Class\{71A27CDD-812A-11D0-BEC7-08002BE2092F},UpperFilters,begin) Does If,ExistVar command have only one argument? Please change "If,Not,ExistVar" to "If,Not,ExistRegKey" and see if syntax error still occurs. Edited December 12, 2017 by Joveler Link to comment Share on other sites More sharing options...
Joveler Posted December 12, 2017 Author Share Posted December 12, 2017 TestBuild 20171213 released. Download Changelog - Halt command kills subprocess immediately. - If WorkDir is specified in ShellExecute, WorkDir is added to PATH temporary. - Set command supports add/remove of macro command. - AddVariables adds local macro. - Added SetMacro command to manage macro only. - In HTML log export, write [ and ] near LogState. - System,RefreshInterface will block until refresh is done. - Change of interface section will be updated by System,RefreshInterface. - Added compatibility option for FileRename/DirMove to move file and directory. - Added PathMove, a command works like FileRename + DirMove. - Variable and Macro's Name is restricted to regex "[a-zA-Z0-9_\(\)\.]+". - Fix TXTReplace to treat case insensitive string. Link to comment Share on other sites More sharing options...
Paraglider Posted December 13, 2017 Share Posted December 13, 2017 Thanks. That fixed it. Getting closer to my modified version of win10pese working. Link to comment Share on other sites More sharing options...
Paraglider Posted December 13, 2017 Share Posted December 13, 2017 Seems like syntax checker does not report the actual error any more when a script is referenced through a link file: 1 syntax error detected at [Win10PESE\Addons.PG\Pwdsafe\PasswordSafe.link] [1/1] Syntax error () Section Coverage : 100% (6/6) Link to comment Share on other sites More sharing options...
Paraglider Posted December 13, 2017 Share Posted December 13, 2017 I have found a number of incompatibilities so far: In strings winbuilder supports "" as a double quote escape character as well as #$q Winbuilder does not require a description= line in main Winbuilder supports a not prefix e.g. NotExistDir as well as Not,ExistDir. This seems to be supported for all Exist variants. Link to comment Share on other sites More sharing options...
Joveler Posted December 13, 2017 Author Share Posted December 13, 2017 Hello paraglider, thanks for reporting. I looked through your reports. 1 hour ago, Paraglider said: Seems like syntax checker does not report the actual error any more when a script is referenced through a link file: 1 syntax error detected at [Win10PESE\Addons.PG\Pwdsafe\PasswordSafe.link] [1/1] Syntax error () Section Coverage : 100% (6/6) I cannot reproduce it, can you provide the sample? 1 hour ago, Paraglider said: In strings winbuilder supports "" as a double quote escape character as well as #$q Winbuilder does not require a description= line in main Fixed, they will work in next release. 1 hour ago, Paraglider said: Winbuilder supports a not prefix e.g. NotExistDir as well as Not,ExistDir. This seems to be supported for all Exist variants. PEBakery supports to use branch condtion NotExist* when Allow Deprecated Legacy Branch Condition compatibility option is on. (It is turned on by default.) PEBakery limits the use of Not in legacy branch condtions, however. (No If,Not,NotExistDir,... form) // Part of PEBakery's CodeParser code if (AllowLegacyBranchCondition) { // Deprecated BranchConditions if (condStr.Equals("NotExistFile", StringComparison.OrdinalIgnoreCase)) { if (notFlag) throw new InvalidCommandException("Branch condition [Not] cannot be duplicated", rawCode); cond = new BranchCondition(BranchConditionType.ExistFile, true, args[cIdx + 1]); embIdx = cIdx + 2; } else if (condStr.Equals("NotExistDir", StringComparison.OrdinalIgnoreCase)) { if (notFlag) throw new InvalidCommandException("Branch condition [Not] cannot be duplicated", rawCode); cond = new BranchCondition(BranchConditionType.ExistDir, true, args[cIdx + 1]); embIdx = cIdx + 2; } ... Did this behavior not work properly? Link to comment Share on other sites More sharing options...
Paraglider Posted December 14, 2017 Share Posted December 14, 2017 This: If,NotExistFile,"%SourceFolder%\testdisk_win.exe",Run,%ScriptFile%,Halt reports this error [1/1] Wrong branch condition [NotExistFile] (If,NotExistFile,"%SourceFolder%\testdisk_win.exe",Run,%ScriptFile%,Halt) I have all compatability optons checked. Link to comment Share on other sites More sharing options...
Paraglider Posted December 14, 2017 Share Posted December 14, 2017 Another compatibility issue with RegWrite: RegWrite,HKLM,0x7,"Tmp_Software\Safer Networking Limited\Spybot - Search & Destroy 2","Download Directories" reports this error: [1/2] Invalid RegWrite Syntax (RegWrite,HKLM,0x7,"Tmp_Software\Safer Networking Limited\Spybot - Search & Destroy 2","Download Directories") If you export the key with regedit I see: REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Safer Networking Limited\Spybot - Search & Destroy 2] "Download Directories"=hex(7):00 Or in unicode format: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Safer Networking Limited\Spybot - Search & Destroy 2] "Download Directories"=hex(7):00,00 Link to comment Share on other sites More sharing options...
Paraglider Posted December 14, 2017 Share Posted December 14, 2017 It would be nice if the syntax check log included the line number of the line in the script. 1 Link to comment Share on other sites More sharing options...
Joveler Posted December 14, 2017 Author Share Posted December 14, 2017 1 hour ago, Paraglider said: This: If,NotExistFile,"%SourceFolder%\testdisk_win.exe",Run,%ScriptFile%,Halt reports this error [1/1] Wrong branch condition [NotExistFile] (If,NotExistFile,"%SourceFolder%\testdisk_win.exe",Run,%ScriptFile%,Halt) I have all compatability optons checked. Thanks to you, I found a bug in CodeParser disabling legacy branch conditions. Will be fixed in next release. 1 hour ago, Paraglider said: Another compatibility issue with RegWrite: RegWrite,HKLM,0x7,"Tmp_Software\Safer Networking Limited\Spybot - Search & Destroy 2","Download Directories" reports this error: [1/2] Invalid RegWrite Syntax (RegWrite,HKLM,0x7,"Tmp_Software\Safer Networking Limited\Spybot - Search & Destroy 2","Download Directories") Fixed PEBakery to create empty REG_MULTI_SZ key to regsitry with 4-argument 0x7 RegWrite. 1 hour ago, Paraglider said: It would be nice if the syntax check log included the line number of the line in the script. I will do it when time permits. 1 Link to comment Share on other sites More sharing options...
Joveler Posted December 16, 2017 Author Share Posted December 16, 2017 Build 20171216 Changelog - Fix TXTDelLineOp optimization bug - Fix NullReferenceException in System,RefreshInterface - Disable System,SaveLog when logger is turned off - Recognize "PathSetting=False" in "script.project - [Main]" and disable path setting. - Prevent possible UI exceptions. - "[Main] - Description=" line is no longer mandatory in plugin. - CodeParser.GetNextArgument will not slice argument with "". - Support legacy branch condition when compatibility option is set. - Support 4-argument 0x7 RegWrite. - Do not touch escape characters when setting variables. - Ignore the plugin itself in "[Main] - Disable" directive. It fixes a bug VMWare.script is uncheckable. - TXTReplace will be optimized to TXTReplaceOp if condition is met. - IniReadOp will set varible to empty string when key is not found. - Do not escape variables imported from interface. - Pressing Update button of LogWindow while building no longer crashes program. - Log stdout and stderr in ShellExecute,Hide. - Implement ShellExecute,Min. - Implement GetParam, PackParam. - Implement "#a" to track section parameter count. - Allow "-" in variable name, for compatibility with Gena_Meal. - Fix IOException in CopyOrExpand. - Fix UIParser to recognize tooltip in TextFile 1. Update to .Net Framework 4.7.1 PEBakery uses several libraries. Update of some library caused PEBakery to malfunction (problem with .Net Standard 2.0), so I had to update .Net Framework to 4.7.1. 2. [New] ShellExecuteShellExecute,Min added to execute programs minimized.ShellExecute,Hide will show and log stdout and stderr. 3. [New] parameter count token #a To deprecate PackParam, #a token is added. When used in command, #a denotes section parameter's number. 1 Link to comment Share on other sites More sharing options...
misty Posted December 19, 2017 Share Posted December 19, 2017 Fantastic project. Can't wait to see how it develops. I've posted some feedback on reboot.pro (see http://reboot.pro/topic/21647-new-pe-builder/?p=205219) Regards, Misty Link to comment Share on other sites More sharing options...
misty Posted December 19, 2017 Share Posted December 19, 2017 Found a problem in MistyPE. If the Options 2 tab is selected in the main project script (with settings for Build Method, Keyboard Layout, etc) then the build fails. Clicking on the HELP button for Option 7] Build Method also fails. The error appears to be due to the content of the message in the [HELP.7] section of the script. I can't actually see what code in the Message is causing the issue and am about to leave for work. Not sure if it's my code or a PEBakery issue. Regards, Misty Link to comment Share on other sites More sharing options...
Atari800XL Posted December 19, 2017 Share Posted December 19, 2017 The [HELP.7] section seems to have extra double quote inside the line (col. 467, "INJECT"). Removing these seems to fix the problem (the correct way is replacing them with #$q I guess...) Just another case of PEBakery's stricter double quote rules... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now