NO

Author Topic: Version 8.00 RC1 installation issue on Windows XP  (Read 28995 times)

czerny

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #15 on: April 07, 2014, 09:08:23 AM »
So, with this in mind, should I re-enable support for XP ?!
Sure! I haven't understood why the support for win2k was canceld with the last release.
If some new features need special os-support, that should be documented and than it is ok!
But the tool himself (ide, compiler, linker etc) should be useable by all of us, independent of os (>=w2k)!

It should be the decision of the software developer, which OS he/she supports. But it is not obvious how to use the MS-compiler in order to produce w2k-compatible (or xp-compatible) software and so most free software is not downwards compatible although it easily could be. It is annoying that the free software providers are pushing MSs business interests more than MS himself. And Pelles C should not do the same.

C is a programming language which doesn't boss the programmer around and so shouldn't a C programmers tool.

czerny

Offline jj2007

  • Member
  • *
  • Posts: 536
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #16 on: April 07, 2014, 01:34:31 PM »
should I re-enable support for XP ?!

If it's not a lot of work, yes. My notebook is too old to install Win7 or Win8.
But then, Pelles C #7 is complete enough to continue coding with it in XP, therefore I wouldn't start crying if you decide to drop XP support.

CommonTater

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #17 on: April 07, 2014, 02:26:33 PM »
C is a programming language which doesn't boss the programmer around and so shouldn't a C programmers tool.

Still running windows 2000, ain't ya? 
 
We had this conversation a long time ago.  There will come a day when you wil be left behind and I'm sorry to say it's going to be your own silly fault. 
 
A lot has happened since W2k ... USB, SATA, IPUs, 5.1 audio, HD Video, terabyte hard disks, 100mips lan, gigabit lan, touchscreen, tablets, ipods...  In this case it's OpenMP which microsoft supports only since Windows 7. 
 
Trying to use OpenMP on either W2K or XP is going to cause you no end of grief because the OS cannot support it.
 
 
 
My suggestion to Pelle would be to re-enable W2K and XP support but to put a stern warning at install time about OpenMP --and a bunch of other stuff-- not working on those systems. 
 
 
« Last Edit: April 07, 2014, 02:35:42 PM by CommonTater »

Manos

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #18 on: April 07, 2014, 02:40:21 PM »
I agree with CommonTater.

Manos.

czerny

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #19 on: April 07, 2014, 05:55:43 PM »
Still running windows 2000, ain't ya? 
 
We had this conversation a long time ago.  There will come a day when you wil be left behind and I'm sorry to say it's going to be your own silly fault. 
Why not? I use a couple of different OSs in different situations. One of my customers is using a 486 with MS-DOS as operating system (controlling a measurement instrument). I use a scythe to mow my land and I use my head to calculate 652. Why not?

I only would like to use the right tool in a special situation.

In the old days turbo pascal uses processor switches to produce code for different processors.
Pelles C could use an OS switch like -os5 or -os5.2 or -os7 to set the minimum requirement for the actual project. So nobody has to deal with stern warnings.

czerny

Offline Vortex

  • Member
  • *
  • Posts: 865
    • http://www.vortex.masmcode.com
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #20 on: April 07, 2014, 08:44:35 PM »
Hi czerny,

CommonTater is right, it's not easy to combine new technologies with the old ones. You will often encounter serious incompatibility problems.

Windows XP has a large user base and there are a lot of companies using XP installations.
Code it... That's all...

czerny

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #21 on: April 07, 2014, 09:07:33 PM »
Windows XP has a large user base and there are a lot of companies using XP installations.
At this time! One year later ...
Its a matter of philosophy how to handle such cases. We all will be more and more driven by the market and lesser and lesser masters of our own decisions.

But this here is Pelles decision!

czerny

Offline Vortex

  • Member
  • *
  • Posts: 865
    • http://www.vortex.masmcode.com
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #22 on: April 07, 2014, 09:30:06 PM »
Its a matter of philosophy how to handle such cases. We all will be more and more driven by the market and lesser and lesser masters of our own decisions.

Very nicely said. Sad but true, this is a world of masters and slaves.
Code it... That's all...

CommonTater

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #23 on: April 07, 2014, 09:32:50 PM »
Windows XP has a large user base and there are a lot of companies using XP installations.
At this time! One year later ...
Its a matter of philosophy how to handle such cases. We all will be more and more driven by the market and lesser and lesser masters of our own decisions.

There are still tens of thousands of people using Windows 2000 ... in fact I still run into the occasional win98 box. But I think you misunderstand the problem here...
 
As I said before, the general CRT (C Run Time) library is not the problem. It can be statically linked which means that functions you use are copied right into your program. You can thus use a strictly C program from Pelles C 8.00 on a Windows 2000 system without worries. 
 
The thing you have to be careful with is the Windows API... if you used functions that were included with Vista in your code, it's not going to run on an XP or Windows 2000 machine. You will get runtime errors telling you the functions don't exist. (Because, on that system, they don't).
 
This is why you will occasionally run into one of my libraries or addins that won't let you put it on a Win2000 machine... because, in order to get the desired functionality I had to use API calls that won't exist on your machine.
 
Of course the same problem exists with *every* piece of software currently out there. If they've used API calls that were first added for XP, Vista, 7 or 8, it's not going to run on your machine. 
 
I agree this amounts to pressure to keep up... and to be honest I think that is a good thing. As I said before a lot of really good stuff has been invented and incorporated since Win2k.
 
Letting yourself fall behind by a couple of years is not likely to be a problem. Most programmers still write from the XP API, being fully aware that many of the newer functions are not present on those machines.  However; slipping into a 15 year anachronism, in computer time, amounts to being positively medieval ... a true antique.  Not only are you not going to be able to update your software, there are many things you simply cannot do... like flashdrives, external hard disks and a whole lot more.
 
Including OpenMP in PellesC is something of a departure. The complication is that it requires both hardware and OS support.  So for you the simple answer comes down to one compiler flag you cannot use.  You wanted compiler flags, there you have it...
 
 
Quote
But this here is Pelles decision!

Yes it is.  I would have chosen otherwise but I'm not the boss.  Implementing something like OpenMP shold be a function for an extra library, not part of the core compiler. But it is there and it's not a bad thing... so I don't see any problem using it.
 
As I said above... I see no problem for Pelle to Re-Enable XP and Win2000 support so long as he is careful to warn his users not to enable certain features on older systems.
 
Better still... POIDE could check the OS version and disable those flags from it's projects as a form of idiot proofing.
 
 
 
« Last Edit: April 07, 2014, 09:37:53 PM by CommonTater »

Offline jj2007

  • Member
  • *
  • Posts: 536
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #24 on: April 07, 2014, 09:39:07 PM »
I was able to install RC1 on a Windows 7 PE environment and they copy the Pelles C folder to my XP system. Except poinst.exe, the IDE and tools are running on Windows XP.

I don't think there are any huge technical reasons for removing it.

Apparently, only the installer uses non-XP code. If that can be fixed easily, it would be a GoodThingTM simply because there are forum members (not me) who earn a living with coding for older platforms. In some years, no other compiler will be able to support this market niche.

CommonTater

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #25 on: April 07, 2014, 09:43:54 PM »
I was able to install RC1 on a Windows 7 PE environment and they copy the Pelles C folder to my XP system. Except poinst.exe, the IDE and tools are running on Windows XP.

I don't think there are any huge technical reasons for removing it.

Apparently, only the installer uses non-XP code. If that can be fixed easily, it would be a GoodThingTM simply because there are forum members (not me) who earn a living with coding for older platforms. In some years, no other compiler will be able to support this market niche.

 
Far more likely the installer is blocking the installation because the toolchain is using non-XP code.
 
If I had a monster package that had one function call to an API that does not exist in XP, I would block the installation rather than risk messing up a customer's data.
 
It's totally about precaution.
 

czerny

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #26 on: April 07, 2014, 10:13:04 PM »
Very nicely said. Sad but true, this is a world of masters and slaves.
http://en.wikipedia.org/wiki/Spartacus

czerny

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #27 on: April 07, 2014, 10:19:38 PM »
The thing you have to be careful with is the Windows API... if you used functions that were included with Vista in your code, it's not going to run on an XP or Windows 2000 machine. You will get runtime errors telling you the functions don't exist. (Because, on that system, they don't).
We know that! But an -os5 switch could help to avoid such problems buy giving a warning or an error during the build process.

CommonTater

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #28 on: April 07, 2014, 10:56:53 PM »
The thing you have to be careful with is the Windows API... if you used functions that were included with Vista in your code, it's not going to run on an XP or Windows 2000 machine. You will get runtime errors telling you the functions don't exist. (Because, on that system, they don't).
We know that! But an -os5 switch could help to avoid such problems buy giving a warning or an error during the build process.

You don't seriously expect Pelle to issue compiler warnings for Windows API functions... Seriously... just check the functions before you use them. 4 of 5 times when I use a Windows API function I have to look it up in the Windows SDK help anyway, and the information is right there at the bottom of every page.
 

CommonTater

  • Guest
Re: Version 8.00 RC1 installation issue on Windows XP
« Reply #29 on: April 07, 2014, 11:06:44 PM »
_WIN32_WINNT  ;)

Not a big help ... lets say you're on a windows 7 machine and you write some code that works outright perfectly ... now you give a copy to an XP user and he's getting system errors galore... because API calls that do exist on your system do not exist on his.
 
Best bet... decide on a "minimum OS version", write for that being minful of the functions you use and check the Windows Version when your program (or installer) starts up.  If it doesn't meet the requirement, exit to the OS with a warning.
 
Code: [Select]
 
#ifndef _WIN64
// check version -- Win2k or newer required
VOID CheckWindowsVersion(void)
{
  OSVERSIONINFOEX os = {0}; // version information
  DWORDLONG cm = 0; // conditioning value 
  // precondition struct
  os.dwOSVersionInfoSize = sizeof(os);
  os.dwMajorVersion = 5;
  os.dwMinorVersion = 0;
  os.wServicePackMajor = 0;
 
  // condition the results   
  VER_SET_CONDITION(cm,VER_MAJORVERSION,VER_GREATER_EQUAL);
  VER_SET_CONDITION(cm,VER_MINORVERSION,VER_GREATER_EQUAL);
  VER_SET_CONDITION(cm,VER_SERVICEPACKMAJOR,VER_GREATER_EQUAL);
 
  // exit on older versions
  if (!VerifyVersionInfo(&os,VER_MAJORVERSION | VER_MINORVERSION |
           VER_SERVICEPACKMAJOR,cm))
    {
      wprintf(L"Windows 2000 or newer required for this program\n\n");
      exit(0);
    }
}
#endif

http://msdn.microsoft.com/en-us/library/windows/desktop/ms725492(v=vs.85).aspx
 
 
« Last Edit: April 07, 2014, 11:08:46 PM by CommonTater »