Not a valid Win32 application on Windows XP #220

Closed
mrjrt opened this Issue Oct 19, 2015 · 11 comments

Projects

None yet

3 participants

@mrjrt
mrjrt commented Oct 19, 2015

Not sure what the issue is here, but I can only use versions up to v23. I was running an old version from 2011(!) and finally got around to updating, but when I tried the latest I get a "putty.exe is not a valid Win32 application." error. As it's probably relevant, this machine has x86 XP SP3 on it. v23 runs fine.

@mrjrt
mrjrt commented Oct 19, 2015

I note that you changed toolchain for v25...
http://stackoverflow.com/questions/11305633/xxxxxx-exe-is-not-a-valid-win32-application
...relevant?

@FauxFaux
Owner

Yes, I switched toolchain to one that doesn't target Windows XP by default. Windows XP has been out of security support for about 18 months now. I don't have any way to test it, and I have no interest in supporting it.

I don't believe PuTTYTray is useful on any of the supported variants? Are you running security software on an operating system that has no security support?

@wilkowy
wilkowy commented Dec 15, 2015

Not working here either since v25... Looks like bye bye for PuTTY... v23 works ok, but "never publically released" and "fixed some issues and broke many other things" doesn't sound good. Maybe you could just release a separate binary for XP target and inform that it is not well tested (BTW. if you do so than please disable SSE2 optimizations as well).

@FauxFaux
Owner

I'm legitimately impressed you still have a working SSE2 processor. For those playing along at home, pretty much everything released this millennium has SSE2. Original Pentium 4? SSE2. First Atoms? SSE2. You have to go back to AMD K7s.

What specs are the machine you're running XP on, out of interest?

And, are you aware that XP has been out of security support for nearly two years, and you want me to release security software for it?

@wilkowy
wilkowy commented Dec 19, 2015

Och, stop being such a sarcastic. It's Athlon XP and since it works perfectly fine, I'm not going to upgrade just because someone decided that for using a telnet you must have 5 GHz and 32 GB of RAM, with full multimedia extensions for best experience.

Two users politely reported you that your software is still used on older machines and the new versions stopped working.

Yes, I'm perfectly aware that XP reached its EoL, but it is not equal to "not in use". Are you aware that POSReady is supported until 2019?

and you want me to release security software for it?

It depends if you are software developer or bureaucrat/marketer.

@mrjrt
mrjrt commented Dec 22, 2015

IMHO PuTTY is no more a piece of security software than Thunderbird is because it supports TLS. It's a remote terminal client. Resolving the issue is as simple as setting a project option: http://stackoverflow.com/questions/11305633/xxxxxx-exe-is-not-a-valid-win32-application#answer-14754251

Not supporting XP may also have have ramifications for anyone using Wine or ReactOS, but I can't comment as I don't.

Now, I can completely understand if you're using mutually exclusive functionality you would have to cripple or remove to support XP, but if all it takes is flipping some project options, why not? My main OS is Win7, but I have a utilities directory shared between OS installs, and sometimes I need to run XP, and sometimes I need to run PuTTY from within it. Now, I can switch to another version of PuTTY if needed, but I rather like this one and would rather not if I don't have to.

@FauxFaux
Owner

I actually agree that thunderbird is a piece of security software which you shouldn't be running on XP, for what it's worth.

However, onto more pressing technical issues:

It's easy to disable SSE2 (and doesn't seem to break anything), by adding /arch:SSE (i.e. sse1) to the compiler flags.

I am unable to work out how to perform a command-line build using the XP tools, however. There's no setenv.bat or VsDevCmd.bat for the XP tools, so I'd have to switch to building from VS' GUI, instead of from command line? There must be a way to do this. Let's go poke around in Program Files.

@FauxFaux
Owner

It appears that what you have to do is:

  • Compile with /D_USING_V110_SDK71_=1
  • Link with /SUBSYSTEM:WINDOWS,5.01
  • Add %PROGRAMFILES(x86)%\Microsoft SDKs\Windows\v7.1A\.. to your include and lib paths.

Now to test this hasn't broken anything on normal computers.

@mrjrt
mrjrt commented Jan 24, 2016

Thank you for giving this a go.

@FauxFaux FauxFaux changed the title from Not a valid Win32 application to Not a valid Win32 application on Windows XP Jan 24, 2016
@FauxFaux
Owner

The new release works on a test XP virtual machine. I didn't test SSE2, but that seems harder to mess up (famous last words)!

@FauxFaux FauxFaux closed this Jan 24, 2016
@wilkowy
wilkowy commented Jan 26, 2016

It works for me too. Thank you! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment