Hi, I managed to get 5.2.7-37 running on Win7 x64. The issue is simply the newer versions use a dll and API that does not exist in 7 but was introduced in 8/8.1 and later versions. This excellent answer on SO explains the specifics if you are interested: https://stackoverflow.com/a/50276714 Dependency Walker showed that PanGPA.exe only imports one single function from the API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL, SetProcessDpiAwareness(...), so it was easy enough to just roll my own dummy DLL file in Visual Studio 2013 that exports this single function, compile that for x64 and voilá, GlobalProtect is a happy camper. For the sake of it, I even implemented the function such that it actually makes use of the "legacy" Win7 API to accomplish the same result, SetProcessDPIAware() from user32.dll. I will try and distribute my dll in binary form, but you are free to just input below code into your copy of VS13 (Create a new C++ DLL project from the menu) and compile your own DLL file if you don't trust me. It's literally a one-liner. In your header, put something like this: typedef enum PROCESS_DPI_AWARENESS {
PROCESS_DPI_UNAWARE,
PROCESS_SYSTEM_DPI_AWARE,
PROCESS_PER_MONITOR_DPI_AWARE
};
extern "C" __declspec(dllexport) HRESULT SetProcessDpiAwareness(PROCESS_DPI_AWARENESS value); In your cpp file, put: HRESULT SetProcessDpiAwareness(PROCESS_DPI_AWARENESS value) {
return SetProcessDPIAware();
} When compiling, make sure you select x64 as your platform from the menu, otherwise GlobalProtect will crash with 0xc000007b (STATUS_INVALID_IMAGE_FORMAT). When done compiling, make sure your file name is API-MS-WIN-SHCORE-SCALING-L1-1-1.dll and copy the file to C:\Program Files\Palo Alto Networks\GlobalProtect. If rules in this community allow (dear mods please remove the link if this is not allowed), I uploaded my binary dll file to mega, see https://mega.nz/file/7DgmBaTJ#JUdmDbAY13E0McK6nKbYhD9vjV_IFrpLcvlZRNCg9GQ Have fun!
... View more