On Windows, the SpecialFolderPath function can use Constant Special Item ID List (CSIDL) values, but since Windows Vista, developer were supposed to switch to using the Microsoft Known Folder ID system instead (I just learned this, so there's that!) (see https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid)

Under CSIDL, specialFolderPath("38") is the equivalent of CSIDL_PROGRAM_FILES or C:\Program Files\ on older systems or C:\Program Files (x86)\ on Windows 8 or 10 (for 32 bit apps)

Under KNOWNFOLDERID, this is FOLDERID_ProgramFiles and there is a seconds KNOWNFOLDERID, FOLDERID_ProgramFilesX64 that on 64 bit Window 8 and 10 gets you the 64 bit app installation folder, typically C:\Program Files\


Under LiveCode 9.x.x (up to 9.6.0dp3) I can see no way to obtain the 64bit application installation folder using SpecialFolderPath? Does anyone know if this is correct or am I missing something?

And does anyone know if LC plans to update the specialFolderPath function on Windows to use KNOWNFOLDERID? Or if it currently uses KNOWNFOLDERID (for all I know).


My use case is that I need to check both the 32 bit app installation folder and the 64 bit app installation folder to see if a particular app is installed (either the 32 or 64 bit version could be present) and I would rather NOT hard code the paths since we do run into non-standard installations among our customer base.



_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to