Opened 14 years ago
Closed 14 years ago
#1657 closed Bug (Works For Me)
AutoIt3Wrapper on XP 64 bit error
Reported by: | sheck@… | Owned by: | Jos |
---|---|---|---|
Milestone: | Component: | SciTE4AutoIt | |
Version: | 3.3.6.1 | Severity: | None |
Keywords: | Cc: |
Description
OS: XP 64 bit SP2
Autoit V3 3.3.6.1
Scite 1.79
AutoIt3Warpper 2.0.1.24
No matter which script I try to compile I always get errors:
03:32:23 Performing the Program Resource Update steps:
!>03:32:23 Error: Failed to enumerate RT_VERSION resources, using defaults.
...>Updating Program Version information.
...>Adding 6 Icon(s).
!>03:32:24 Error: Failed to append script data to end of updated executable. Try recompiling your script.rc:2
Exit code: 0 Time: 23.289
I tried using the latest beta of Autoit3warpper, but getting the same error. However, older Scite with autoit3warpper version 2.0.0.0 works fine. I also tried different versions of Autoit, which made no difference, meaning that the problem is with autoit3warpper itself. I tried the same on XP 32 bit and everything works there, no matter which version of autoit3warpper I use. So the problem only occurs in 64 bit OS.
Attachments (0)
Change History (16)
comment:1 Changed 14 years ago by Jos
comment:2 Changed 14 years ago by Jpm
Can you replicate it with a Vista X64 or a Win7 X64?
Which kind of processor are you running with AMD/Intel X64 or Itanium?
comment:3 Changed 14 years ago by sheck@…
Hi,
I tried what you suggested and got the same results. I noticed that autoit3wrapper has been rewritten since version 2.0.0.0. I will try to figure this out, but it's hard to trace the whole thing if I didn't write the script. If I get anything, I will post it here.
comment:4 Changed 14 years ago by sheck@…
I don't have Vista or WIN 7. I'm running on Intel Core 2 Duo.
comment:5 follow-up: ↓ 6 Changed 14 years ago by anonymous
I forgot to mention that I'm running Windows in VirtualBox under Ubuntu. I also have 32 bit XP running standalone.
comment:6 in reply to: ↑ 5 Changed 14 years ago by Jpm
Replying to anonymous:
I forgot to mention that I'm running Windows in VirtualBox under Ubuntu. I also have 32 bit XP running standalone.
If you are running in a VirtualBox I can imagine you can use a Win7 or Vista evaluation version. Perhaps we can see if the problem is still there.
comment:7 Changed 14 years ago by Jos
Could you try the current version in the Beta directory and let me know if you get more info about the _WinAPI_LoadLibraryEx() which is probably failing for you.
Jos
comment:8 follow-up: ↓ 9 Changed 14 years ago by sheck
$hModule returns 0x00000000
@error returns 0 and @extended returns 0
I think that's what you were asking for. Let me know if you need anything else.
comment:9 in reply to: ↑ 8 Changed 14 years ago by Jos
Replying to sheck:
$hModule returns 0x00000000
@error returns 0 and @extended returns 0
I think that's what you were asking for. Let me know if you need anything else.
I added the following lines to the script which I assume will display the info when it's failing:
If @error Then Local $terror = @error Local $textended = @extended Write_RC_Console_Msg("WinAPI_GetLastError:" & _WinAPI_GetLastError(), "", "!") Write_RC_Console_Msg("WinAPI_GetLastErrorMessage:" & _WinAPI_GetLastErrorMessage(), "", "!") Write_RC_Console_Msg("Error: Failed _WinAPI_LoadLibraryEx error:" & $terror & " extended:" & $textended, "", "!") EndIf
comment:10 Changed 14 years ago by sheck
this part requires @error to be non-zero, otherwise it will be skipped. And since @error returns 0, that part is skipped. I will remove If statement and run the script. I'll post the results.
comment:11 Changed 14 years ago by Jos
mmm...I expect the error to be set as that "should" be returned by the call:
Func _WinAPI_LoadLibraryEx($sFileName, $iFlags = 0) Local $aResult = DllCall("kernel32.dll", "handle", "LoadLibraryExW", "wstr", $sFileName, "ptr", 0, "dword", $iFlags) If @error Then Return SetError(@error, @extended, 0) Return $aResult[0] EndFunc ;==>_WinAPI_LoadLibraryEx
so the DllCall doesn't return any @error and the return value of the call is returned only.
comment:12 Changed 14 years ago by anonymous
So this is what I get without the if statement:
06:35:26 Performing the Program Resource Update steps:
!>06:35:27 WinAPI_GetLastError:87
!>06:35:27 WinAPI_GetLastErrorMessage:The parameter is incorrect.
!>06:35:27 Error: Failed _WinAPI_LoadLibraryEx error:0 extended:0
!>06:35:27 Error: Failed to enumerate RT_VERSION resources, using defaults.
...>Updating Program Version information.
!>06:35:27 Error: Failed to append script data to end of updated executable. Try recompiling your script.rc:2
+>06:35:27 AutoIT3.exe ended.rc:0
Exit code: 0 Time: 51.016
comment:13 Changed 14 years ago by sheck
Seems that kernel32.dll doesn't like something. By the way, there are 2 of them on XP 64. One in C:\WINDOWS\SysWOW64 an the other one is in C:\WINDOWS\System32 Not sure if you're aware of that.
comment:14 Changed 14 years ago by sheck
any news on this problem ?
comment:15 Changed 14 years ago by Jos
I cannot simulate it as it is working fine for me on my Win7 x64 Home.
Maybe you can do some more debugging on your system?
comment:16 Changed 14 years ago by Jos
- Resolution set to Works For Me
- Status changed from new to closed
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.
This is an error from the Resource update routines in AutoIt3Wrapper.
Could you check a few things:
I have no way to replicate this error so its difficult to do any debugging.
Jos