Opened 16 years ago
Closed 15 years ago
#1657 closed Bug (Works For Me)
AutoIt3Wrapper on XP 64 bit error
| Reported by: | 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 by , 16 years ago
comment:2 by , 16 years ago
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 by , 16 years ago
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.
follow-up: 6 comment:5 by , 16 years ago
I forgot to mention that I'm running Windows in VirtualBox under Ubuntu. I also have 32 bit XP running standalone.
comment:6 by , 16 years ago
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 by , 16 years ago
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
follow-up: 9 comment:8 by , 16 years ago
$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 by , 16 years ago
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 by , 16 years ago
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 by , 16 years ago
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 by , 16 years ago
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 by , 16 years ago
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:15 by , 16 years ago
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 by , 15 years ago
| Resolution: | → Works For Me |
|---|---|
| Status: | new → closed |

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