Jump to content

Recommended Posts

Posted

Just uploaded a new Beta v 2.0.1.13:

When run in an X64 OS the output script will default to an X64 Compiled script.
  When run in an X86 OS the output script will default to an X86 Compiled script.

Jos ;)

Are you sure this even needs defaults? Perhaps just the options would be better. Just because I'm working on an x64 system, it doesn't always follow that I want it compiled for x64 or even run in an x64 mode. As a matter of fact I personally never use x64 simply because most user systems that the compiled file will run on are x86 systems.

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

  • Replies 244
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

  • Developers
Posted (edited)

Are you sure this even needs defaults? Perhaps just the options would be better. Just because I'm working on an x64 system, it doesn't always follow that I want it compiled for x64 or even run in an x64 mode. As a matter of fact I personally never use x64 simply because most user systems that the compiled file will run on are x86 systems.

What I am trying here is to have it follow the AutoIt3 Standards.

This made me think that I really should test for the used AutoIt3 software version to set the default.... right?

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted (edited)

I think you mistakenly removed this line from line 982, which breaks the manifest:

FileWriteLine($hTempFile2, '            <requestedPrivileges>')

So the whole block would be:

FileWriteLine($hTempFile2, '    <!-- Identify the application security requirements. -->')
FileWriteLine($hTempFile2, '    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">')
FileWriteLine($hTempFile2, '        <security>')
FileWriteLine($hTempFile2, '            <requestedPrivileges>')
FileWriteLine($hTempFile2, '                <requestedExecutionLevel')
FileWriteLine($hTempFile2, '                    level="' & $INP_RES_requestedExecutionLevel & '"')
FileWriteLine($hTempFile2, '                    uiAccess="false"')
FileWriteLine($hTempFile2, '                />')
FileWriteLine($hTempFile2, '            </requestedPrivileges>')
FileWriteLine($hTempFile2, '        </security>')
FileWriteLine($hTempFile2, '    </trustInfo>')

Other than that, I agree with the changes to follow AutoIt's standards about compiling x86 vs x64.

Edited by wraithdu
Posted

Something weird is going on. I just updated to AutoIt 3.3.3.0, and now I can't compile anything with a v3.3.3.0 compiled version of AI3Wrapper. I'm getting a program crash on the line that actually runs aut2exe. So far I can't figure exactly what's going on or write a simple reproducer script. Maybe you can take a look as well?

  • Developers
Posted

I think you mistakenly removed this line from line 982, which breaks the manifest:

FileWriteLine($hTempFile2, '            <requestedPrivileges>')

So the whole block would be:

FileWriteLine($hTempFile2, '    <!-- Identify the application security requirements. -->')
FileWriteLine($hTempFile2, '    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">')
FileWriteLine($hTempFile2, '        <security>')
FileWriteLine($hTempFile2, '            <requestedPrivileges>')
FileWriteLine($hTempFile2, '                <requestedExecutionLevel')
FileWriteLine($hTempFile2, '                    level="' & $INP_RES_requestedExecutionLevel & '"')
FileWriteLine($hTempFile2, '                    uiAccess="false"')
FileWriteLine($hTempFile2, '                />')
FileWriteLine($hTempFile2, '            </requestedPrivileges>')
FileWriteLine($hTempFile2, '        </security>')
FileWriteLine($hTempFile2, '    </trustInfo>')

Other than that, I agree with the changes to follow AutoIt's standards about compiling x86 vs x64.

Fixed the manifest and uploaded a new version to the Beta dir. thanks ;)

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

  • Developers
Posted

I'm very very lost. I cannot for the life of me figure out why a v3.3.3.0 compiled AI3Wrapper is crashing when trying to run any script. Line 1229 is where the script is actually run when pressing F5 in Scite. Inserting a ConsoleWrite() before that line is ok and shows in the Scite output, but trying a MsgBox() crashes AI3Wrapper. Something has changed from AutoIt 3.3.2.0, but I can't figure it out to save my life right now.

And I cannot put together a reproducing script either. I can only get the crash from a v3.3.3.0 AI3Wrapper. Jos, I hope you have some ideas cause I'm lost right now.

Looking at it to see if I can make any sense out of iit here... I do get the crash. Actually also happens when AU3check give the popup with errors and you say stop.

The Window even doesn't show both buttons unless I hover over the Continue button. weird...

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted

Don't worry, it's an AutoIt bug. Read the beta thread for more info. I was finally able to come up with a reproducer script, and Valik found and fixed the bug. Just waiting for the fixed release.

  • Developers
Posted

Ok, this script does a hardcrash when run with Win7 X64 autoit3 3.3.3.0:

#include <Constants.au3>
$Pid = Run(@ComSpec & ' /c dir *', '', @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
$Return_Text = ShowStdOutErr($Pid)
;~ StdioClose($Pid)
MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & '$Return_Text' & @lf & @lf & 'Return:' & @lf & $Return_Text) ;### Debug MSGBOX
;
;
Func ShowStdOutErr($l_Handle, $ShowConsole = 1)
    Local $Line, $tot_out, $err1 = 0, $err2 = 0
    Do
        Sleep(10)
        $Line = StdoutRead($l_Handle)
        $err1 = @error
        $tot_out &= $Line
        $Line = StderrRead($l_Handle)
        $err2 = @error
        $tot_out &= $Line
    Until $err1 And $err2
    Return $tot_out
EndFunc   ;==>ShowStdOutErr

My guess is that this is also why AutoIt3Wrapper crashes.

Had a long day with many "challanges" so do not know if I will be able to spend much more time on it today...

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

  • Developers
Posted

Don't worry, it's an AutoIt bug. Read the beta thread for more info. I was finally able to come up with a reproducer script, and Valik found and fixed the bug. Just waiting for the fixed release.

...and you tell me this now .... great ;)

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

  • Developers
Posted (edited)

Great. So back to the topic raised last: What defaults to use in AutOit3Wrapper for x84 / x86 when nothing is specified?

Oppinions welcome.

I guess I really should use the registry settings from the run / compile settings for .au3 files, and only specify the /x86 or /x64 when excplicitly specified.

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted (edited)

Well, I think in all cases AI3Wrapper should use the platform specific compiler, ie use aut2exe_x64.exe on x64, and aut2exe.exe on x86. If the #AutoIt3Wrapper_UseX64 directive is missing, it should compile to match the platform, ie do not specify /x86 or /x64.

If UseX64=y on x86, then specify /x64 to aut2exe.exe. If UseX64=n on x64, then specify /x86 to aut2exe_x64.exe.

Simple enough? This is exactly how it operates now, if I'm not mistaken, and it seems very predictable to me.

Edited by wraithdu
  • Developers
Posted (edited)

Well, I think in all cases AI3Wrapper should use the platform specific compiler, ie use aut2exe_x64.exe on x64, and aut2exe.exe on x86. If the #AutoIt3Wrapper_UseX64 directive is missing, it should compile to match the platform, ie do not specify /x86 or /x64.

If UseX64=y on x86, then specify /x64 to aut2exe.exe. If UseX64=n on x64, then specify /x86 to aut2exe_x64.exe.

Simple enough? This is exactly how it operates now, if I'm not mistaken, and it seems very predictable to me.

That is why I coded it this way but when reading George's post I was reminded about the fact that the AutoIt3 installer prompts you for which version of AutoIt3 to use by default. This means in my mind that when somebody with an X64 OS elects to use the X86 AutoIt3 programs by defaults the wrapper should also do so , moreover the default output EXE´s will be X86.

I am honestly not too worried about which aut2exe version is used, but more about which BIN is included in the output program!

Jos

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Posted

Yeah, I don't think it matters which aut2exe is used, as the absence or presence of /x86 | /x64 will determine which BIN is used. I think that part should follow the platform.

If you wish to honor the installer flags, that's cool.

More importantly though, regardless of how you choose the default platform, the UseX64 directive should override everything both at compile time and when running the script via F5 with the proper version of AutoIt3[_x64].exe. At the same time, running via F5 should follow the same defaults as you choose for compiling in the absence of the UseX64 directive. It still irks me that F5 on x64 runs AutoIt3_x64.exe regardless. Bottom line, running via F5 and compiling should use the same x86 | x64 platform.

  • Developers
Posted

Yeah, I don't think it matters which aut2exe is used, as the absence or presence of /x86 | /x64 will determine which BIN is used. I think that part should follow the platform.

If you wish to honor the installer flags, that's cool.

More importantly though, regardless of how you choose the default platform, the UseX64 directive should override everything both at compile time and when running the script via F5 with the proper version of AutoIt3[_x64].exe. At the same time, running via F5 should follow the same defaults as you choose for compiling in the absence of the UseX64 directive. It still irks me that F5 on x64 runs AutoIt3_x64.exe regardless. Bottom line, running via F5 and compiling should use the same x86 | x64 platform.

Already saw that F5 issue yesterday and have it noted to follow the same rules whatever we decide to use.

Agree that the default only applies when there is no UseX64 present, else it will follow what the directive states.

Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource   Forum etiquette  Forum Rules 
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...