Start a new topic

RoyalTS v6 installer defaults to C:\Program Files

RoyalTS v6 installer doesn't appear to use the Windows' Known Folder API to get the Program Files path, and instead defaults to C:\Program Files (which doesn't exist on my home computer – due to upgrades going back to Windows 7, I don't have a C: drive at all). Luckily it's just a minor thing to change while installing.


(also, why is there a CAPTCHA check for logged in users‽)


Yes, it should remember the previous path. If not, please let us know.


Regards,
Stefan

OK, might be some weirdness in .NET 5. It's a minor issue anyway, and I assume update installers will pick the selected install folder anyway.

We are using .NET 5 / C# and I just checked their source code and they are using SHGetFolderPath API. The SHGetFolderLocation API you suggested is marked as deprecated:

https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderlocation


I'm honestly not sure why the installer can't resolve the correct path on your system. The environment variables are also correct on your system.

I also tested with PowerShell - both PowerShell 5 and 7 return the correct path: 

PS W:\Program Files\PowerShell\7> [System.Environment]::GetFolderPath("programfiles")
W:\Program Files

 

Here's the output: 

W:\Users\ender>set programf
ProgramFiles=W:\Program Files
ProgramFiles(x86)=W:\Program Files (x86)

 Note that you should be using the SHGetFolderLocation API, not rely on environment variables.


As for CAPTCHA, I had to solve it before I could post the message.


Hi,


we are actually using the official API to read out the "ProgramFiles" directory:

Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)


Can you open a command prompt (cmd.exe) and type:

set ProgramFiles


What output do you get?


Regarding your second question: which CAPTCHA are you referring to?


Regards,
Stefan

Login or Signup to post a comment