Modify

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#991 closed Bug (No Bug)

64 bit Rgistry Bug with New Scite and Autoit Mismatch

Reported by: anonymous Owned by: Jos
Milestone: Component: SciTE4AutoIt
Version: 3.3.0.0 Severity: None
Keywords: Cc:

Description

This happens in the May 21 build of Scite When trying to access 32 bit apps

This Registry information works when running inside of Scite but not once compiled by autoit

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

This registry information works when compiled with Autoit but not running inside of Scite

HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

Attachments (1)

keys.zip (751 bytes) - added by anonymous 10 years ago.
reg keys to run script against so external apps are not needed

Download all attachments as: .zip

Change History (9)

comment:1 Changed 10 years ago by Valik

  • Resolution set to No Bug
  • Status changed from new to closed

You need to look at WikiStart and probably go visit the forum. It's a long way from clear as to what you are talking about.

Changed 10 years ago by anonymous

reg keys to run script against so external apps are not needed

comment:2 Changed 10 years ago by sbrown@…

Enter the attached reg keys to your registry then run the following script in Scite and then compile it and run it. My testing confirms what this poster is saying
Test2 fails in Scite, test3 fails once compiled
This may be an Autoit bug either way Scite and Autoit need to be in sync. Personally I do not like the HKLM64 method as it is a ghost key that does not really exist.

$var = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\CCleaner","DisplayName")
MsgBox(64,"Test",$var)

$var2 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\CCleaner","DisplayName")
MsgBox(64,"Test2",$var2)

;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver

$var3 = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver","DisplayName")
MsgBox(64,"Test3",$var3)

$var4 = RegRead("HKEY_LOCAL_MACHINE64\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinRAR archiver","DisplayName")
MsgBox(64,"Test4",$var4)

;If you install the 64 bit version of winrar www.rarsoft.com and the 32 bit version of ccleaner www.ccleaner.com on a 64 bit machine

;Test2 fails in Scite test3 fails once compiled

comment:3 Changed 10 years ago by Valik

  • Resolution No Bug deleted
  • Status changed from closed to reopened

Creating a new ticket to report the exact same reported here is very rude. I have deleted the new ticket.

To anybody who thinks they are reproducing this issue, do a very simple test:

MsgBox(4096, "", "Compiled: " & @Compiled & @CRLF & "x64: " & @AutoItX64)

Run that script from SciTE and tell us the results. Run that script compiled and tell us the results.

comment:4 Changed 10 years ago by anonymous

Sorry I could not reopen it. I did not mean to be rude I was not sure I had the right dept.

From Scite
Compiled: 0
x64: 1
From autoit
Compiled: 1
x64: 0

comment:5 Changed 10 years ago by Valik

  • Resolution set to No Bug
  • Status changed from reopened to closed

Exactly as I expected. When you run through SciTE it is using the 64-bit version. When you compile it's using the 64-bit version because you must explicitly choose to compile using the 64-bit version.

Now, as for the registry keys. If you look for a 64-bit key with a 32-bit program you must explicitly specify the 64-bit path. The same holds true when trying to access a 32-bit key from a 64-bit program. Windows employs registry redirection which you need to read up on and understand.

As expected, this is not a bug.

comment:6 Changed 10 years ago by anonymous

I don't see a way to specify that Scite uses the 32 bit version of autoit to run my au3 files. I am writing a program to be used universally on 32 bit and 64 bit OS type

comment:7 Changed 10 years ago by Jos

When you are using the full SciTE4AutoIt3 packages, you can use the directive to set it, but I expect that AutoIt3Wrapper will automatically detect its a x64 environment en defaults to aut2exe_x64.exe.
Show the total SciTE output pnae information to be able to determine what you are exactly doing.

Jos

comment:8 Changed 10 years ago by anonymous

I found out you can fix this bt reinstalling Autoit and do not select "Run 64X components when possible.

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 Jos.
Author


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

 
Note: See TracTickets for help on using tickets.