Modify

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#1283 closed Bug (Fixed)

aut2exe_x64 Ignores /pack Parameter When Compiling x86 Executable

Reported by: wraithdu Owned by: Valik
Milestone: 3.3.1.6 Component: Aut2Exe
Version: 3.3.1.5 Severity: None
Keywords: aut2exe x64 upx Cc:

Description

When run from the command line (or from AutoIt3Wrapper) on an x64 system, aut2exe_x64.exe ignores the /pack parameter when compiling an x86 executable and does not run UPX. Running aut2exe_x64.exe normally (GUI mode) allows UPX packing when compiling as x86.

aut2exe_x64.exe /in script.au3 /comp 4 /pack

Attachments (0)

Change History (6)

comment:1 Changed 10 years ago by Valik

Actually it's compiling a 64-bit application. The x64 build defaults to compiling x64 unless otherwise specified. Previously you could use /unicode to force using the x86 build but according to the code that's been disabled. I'm going to add an /x86 option and also fix the /unicode option so that it works as it once did.

In 3.3.1.6 you'll be able to use either:

aut2exe_x64.exe /in script.au3 /comp 4 /pack /x86

or:

aut2exe_x64.exe /in script.au3 /comp 4 /pack /unicode

comment:2 Changed 10 years ago by Valik

  • Milestone set to 3.3.1.6
  • Owner set to Valik
  • Resolution set to Fixed
  • Status changed from new to closed

Fixed by revision [5379] in version: 3.3.1.6

comment:3 follow-ups: Changed 10 years ago by wraithdu

I see. That would explain Jos's 'workaround' in AutoIt3Wrapper where he copies the desired .bin to a temp directory and feeds it to Aut2Exe via the /bin parameter.

However it sounds like Aut2Exe still thinks it's compiling x64, hence the ignored /pack parameter. A full fix would need some work by Jos in AutoIt3Wrapper to accomodate your changes I think.

comment:4 in reply to: ↑ 3 Changed 10 years ago by Jos

Replying to wraithdu:

I see. That would explain Jos's 'workaround' in AutoIt3Wrapper where he copies the desired .bin to a temp directory and feeds it to Aut2Exe via the /bin parameter.

The only reason I do this is to update the resource info in the copy of the BIN file before the aut2exe step. Doing that after the aut2exe step gave problems.

Jos

comment:5 in reply to: ↑ 3 ; follow-up: Changed 10 years ago by Valik

Replying to wraithdu:

However it sounds like Aut2Exe still thinks it's compiling x64, hence the ignored /pack parameter. A full fix would need some work by Jos in AutoIt3Wrapper to accomodate your changes I think.

AutoItWrapper will need to be updated to support the new /x86 parameter and the re-addition of the /unicode parameter. Beyond that nothing needs done to AutoItWrapper. It is up to you properly pass the correct command line arguments (or set the appropriate AutoItWrapper flags when they are suppored) to force the binary output to what you want.

comment:6 in reply to: ↑ 5 Changed 10 years ago by wraithdu

Replying to Valik:

AutoItWrapper will need to be updated to support the new /x86 parameter and the re-addition of the /unicode parameter. Beyond that nothing needs done to AutoItWrapper. It is up to you properly pass the correct command line arguments (or set the appropriate AutoItWrapper flags when they are suppored) to force the binary output to what you want.

That's what I meant, the current AutoIt3Wrapper flags won't allow for proper compilation. By default AutoIt3Wrapper builds x86 even on an x64 platform (maybe that should be changed to reflect the Aut2Exe default behavior and build x64 by default?). Now it will also need to pass the new parameters when the x86 bin is used (#AutoIt3Wrapper_UseX64=n).

Guidelines for posting comments:

  • You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
  • In-depth discussions should take place on the forum.

For more information see the full version of the ticket guidelines here.

Add Comment

Modify Ticket

Action
as closed The owner will remain Valik.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.