[SOLVED] PCLauncher.ahk issue

Status
Not open for further replies.

soup4you2

New member
RL Member
Greetings.

I was trying to configure Steam games though the PCLauncher module. However i've run into some snags. Most of the documentation i see online has an option to point it to my steam executable. I'm not seeing this field.

I decided to poke into the module and saw this:

Code:
{	Log("PCLauncher - Preparing to launch a Steam game.")
	RegRead, steamPath, HKLM, Software\Valve\Steam, InstallPath
	Log("PCLauncher - Steam install path: " . steamPath)
	steamExe := "Steam.exe"
	CheckFile(steamPath . "\" . steamExe)
	steamPID := Process("Exist", steamExe)

Problem is, that registry key does not exist on any of my systems.. even with a clean install of steam. It may seem nice to have the module try and automagically find the executable, but is there a way i can get a download link or diff to the older module where i can just point it to steam.exe?
 

djvj

Administrator
Staff member
Developer
That wouldn't make any sense, steam installs that info into the reg unless something recently changed or I need to look in another place on 64-bit machines. With the HL currently in beta, I'm relying on that being there because some stuff is changing with steam. Please try looking here and let me know if it exists here:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Valve\Steam
 

brolly

Administrator
Developer
djvj, if there's a 64-bit version of Steam it will be written in the 64-bit area of the registry which you cannot access using the normal AHK RegRead methods, you might need to use the new methods I used for Java detection.

On 32-bit systems you'd check:
Software\Valve\Steam
On 64-bit systems you'd check:
Software\Valve\Steam (using RegRead64)
Software\Valve\Steam or Software\Wow6432Node\Valve\Steam (using RegRead, both should return the same value)

I have no clue if that's the case as I don't use Steam, but if there is a 64-bit version of Steam then it will probably be the case.
 

djvj

Administrator
Staff member
Developer
Thanks brolly, yea that's what I was thinking too, and since soup found the key in wow6432node, I'll update the method to get the steam path.

soup, for now there isn't much you can do accept manually edit your module to use the actual steam path or update the regread to the path your key is in. The fix will be in the current HL beta and will only be live when its released.

brolly, in order to keep the same conditionals, what method are you using to determine to use regread or regread64? I was thinking of using sysType which contains objCSItem.SystemType.
 
Last edited:

brolly

Administrator
Developer
This is what you suggested me before and makes sense:
winVer := (InStr(ProgramFiles, "(x86)") ? ("64") : ("32"))

I think you also use this in another ahk file? If you think that's a better way then we should change it in all places.

Then if winVer = 32 read from Software\Valve\Steam, if winVer = 64 first read from Software\Valve\Steam using regread64 and if nothing is returned read from Software\Wow6432Node\Valve\Steam using the regular regread.
Or actually use our new RegRead function where you can feed it with "32" or "64".
 

djvj

Administrator
Staff member
Developer
Lol, yea I remember suggesting that now, totally forgot about that method. I think either method works just as well. I only thought of sysType because it's already in HL during the initial log.

I think I'll prioritize 64 over 32 on x64 systems and resort to 32 if nothing found like you suggested.

soup, try running this and see if it shows your path in the msgbox:
http://pastebin.com/ZvBhLNY5
 
Last edited:

brolly

Administrator
Developer
Do I have access to sysType in the Java.ahk file? I could simply use that variable if that's the case.
 

soup4you2

New member
RL Member
Lol, yea I remember suggesting that now, totally forgot about that method. I think either method works just as well. I only thought of sysType because it's already in HL during the initial log.

I think I'll prioritize 64 over 32 on x64 systems and resort to 32 if nothing found like you suggested.

soup, try running this and see if it shows your path in the msgbox:
http://pastebin.com/ZvBhLNY5

Now sure if i will be able to get to it today, as i'm doing a big upgrade to my cab, but i'll give it a whirl tomorrow.
 

djvj

Administrator
Staff member
Developer
Thanks soup. I already implemented that method in the next HL update, so please be patient for its release.

brolly, I updated HL with the sysType var now passed.
 
Status
Not open for further replies.
Top