Author |
|
DR_LaRRY_PEpPeR
Joined: 26 Nov 2015 Posts: 7
|
Posted: Wed 02 Dec '15 6:05 Post subject: Making builds XP compatible (simple) |
|
|
Hi Steffen, all,
Newly registered here after meaning to for a long time (mostly about myself providing PHP releases that work on XP!).
First I also wanted to point out about the Apache builds here with the "latest" Visual Studio versions... I had been using 2.2 since several years ago, and last year when I finally wanted to grab the latest from here, I figured I was out of luck on XP unless I used the VC10 builds, or built Apache myself with changes as needed for PHP.
BUT! After my experience with PHP stuff, I tried the simplest thing first with the VC11 builds (then, and now VC14 recently). I was pleasantly surprised that everything seems to work fine on XP (I just have a basic setup and haven't tried anything "exotic").
So Apache (+ stuff) isn't actually using anything from newer Windows versions (the loader doesn't complain with any DLLs I tried), unlike what it suggests on the Download pages. And the latest VC++ runtime still works on XP, even if it can use newer editions' "internal features" (*shrug*).
And what does "makes more use of modern processors" mean...? Not compiled with /arch:AVX[2] right? Again, not related to XP anyway.
Anyway, the simple fix to allow XP is setting the proper version header thing on the EXEs. It just changes 1 byte I think. I used editbin with /SUBSYSTEM:Console,5.01 on the downloads.
So all that needs to be done to save that step after-the-fact is adding the linker flag /SUBSYSTEM:Console,5.01 to your build process! (I've never compiled Apache, so don't know anything about it.)
That only matters on the executables themselves, since the loader doesn't seem to check what version DLLs indicate.
Thoughts? Or are there other reasons you want to prevent XP by default? |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Fri 04 Dec '15 16:30 Post subject: |
|
|
Is there any test download? I'd like to test that on my XP VM. |
|
Back to top |
|
DR_LaRRY_PEpPeR
Joined: 26 Nov 2015 Posts: 7
|
Posted: Sun 06 Dec '15 21:40 Post subject: |
|
|
If by "that," you mean ready-to-use XP-compatible binaries, I can modify the latest build from here later and upload it for you/anyone.
But if you mean making them compatible yourself, it just takes a few seconds with editbin like I said. (Not sure if it's available [easily] outside of the Visual Studio installation...) |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7371 Location: Germany, Next to Hamburg
|
Posted: Thu 10 Dec '15 19:06 Post subject: |
|
|
I have VS installed. AFAIK I would need editbin for every file including the dll's and so files.
I wonder why you needed that. XP and 2003 (/R2)are way outdated. |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Thu 10 Dec '15 22:32 Post subject: |
|
|
VC 11-14 can be set to compile for XP, and VC14 came out a year after XP went EOL. I suppose even MS realized not everyone would march to the beat of their upgrade drum. |
|
Back to top |
|
Kanashii
Joined: 17 Jul 2006 Posts: 155 Location: Porando
|
Posted: Fri 11 Dec '15 13:35 Post subject: |
|
|
Hello again
XP is dead but has small footprint, mem, no need superhiper GPU etc so its preaty amazing for VM
So i think PHP7 + XP is a good combination |
|
Back to top |
|
glsmith Moderator
Joined: 16 Oct 2007 Posts: 2268 Location: Sun Diego, USA
|
Posted: Sun 13 Dec '15 10:21 Post subject: |
|
|
Technically speaking, Windows XP is not quite dead. XP Embeded goes EOL soon on 1/12/2016. |
|
Back to top |
|
Kanashii
Joined: 17 Jul 2006 Posts: 155 Location: Porando
|
Posted: Sun 13 Dec '15 16:34 Post subject: re; |
|
|
Yes but I don;t mind you can still use some anti-rootkin protection like "Malwarebyte anti-exploit" run as user and harden it. |
|
Back to top |
|
Kanashii
Joined: 17 Jul 2006 Posts: 155 Location: Porando
|
|
Back to top |
|