I'm not exactly sure where the Program Files constant is stored in the AltServer code (AltServer/AnisetteDataManager.cpp maybe?), but it looks like it will always look for C:\Program Files (x86). This is problematic in at least two cases:
If a user's OS drive letter is not C.
If the user is running a 32-bit OS.
I was able to create a junction to C:\Program Files (x86) and things went smoothly from there, but most end users would not know how to do this let alone know what a junction is.
Possible solutions:
If exists %ProgramFiles(x86)% environment variable, then use that. Else use %ProgramFiles%.
If ProgramFilesPath exists under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion registry path, then use that. Else use HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.
I'm not exactly sure where the Program Files constant is stored in the AltServer code (AltServer/AnisetteDataManager.cpp maybe?), but it looks like it will always look for C:\Program Files (x86). This is problematic in at least two cases:
I was able to create a junction to C:\Program Files (x86) and things went smoothly from there, but most end users would not know how to do this let alone know what a junction is.
Possible solutions: