IonicWind Software

IWBasic => General Questions => Topic started by: carpman2007 on February 16, 2007, 01:45:14 PM

Title: Vista compatibility
Post by: carpman2007 on February 16, 2007, 01:45:14 PM
Hey everyone,

Anybody here run into Vista-related compatibility issues with apps written in Emergence Basic?

I'm currently working on a game.  I've tested it out under Windows 98 and XP, and it works fine, however my friend tested it with Vista (Enterprise edition, I think), and it was extremely slow.  Plus, it stopped working when UAC intervened.

I'm not complaining, necessarily.  I think Emergence Basic is very good.  But I don't have Vista yet, and I was just wondering what other people's experiences have been like.
Title: Re: Vista compatibility
Post by: Shannara on February 16, 2007, 04:01:43 PM
Ebasic works the last I heard ;) The problem is vista. In order to get the most out of vista, turn off UAC, run in an administrator account, and make sure the Ebasic executable is in XP SP2 compatibility mode, and ran as administrator.

I do that on every app and game I install, and works out nicely :)
Title: Re: Vista compatibility
Post by: Mike Stefanik on February 16, 2007, 04:25:17 PM
Quote from: Shannara on February 16, 2007, 04:01:43 PM
Ebasic works the last I heard ;) The problem is vista. In order to get the most out of vista, turn off UAC, run in an administrator account, and make sure the Ebasic executable is in XP SP2 compatibility mode, and ran as administrator.

I do that on every app and game I install, and works out nicely :)

There isn't any problem with running EBasic or Aurora under a normal user account. Please, don't just advise people to disable UAC. The whole idea is to let you know when applications need to run with elevated privileges so you can make informed decisions about what's going on with the system. Particularly as someone who writes software for Windows, you need to get used to the idea of developing software in a least-privilege environment. Microsoft was fairly accomodating with Vista in allowing UAC to be disabled and virtualization support for legacy applications written for earlier versions of Windows. I can pretty much guarantee you that Vienna is going to be a lot more strict in terms of its security model.

While I understand that just turning off the security features in Vista is the path of least resistance, instead, why not take the opportunity to learn how security works in Vista and how to write applications so that they follow the Windows guidelines? For 99% of the applications out there, there's absolutely no need for them to run under elevated privilege if they're written correctly (the exceptions generally have to do with things like remote process debugging or CBT applications which are designed to control other programs). The problems that people are generally experiencing are largely due to the program not being written correctly to start with, with the programmer making the assumption that the program has the run of the system and can scribble anywhere it likes, hook other processes, etc.

Telling people to login with an Administrators account and run with UAC disabled is like telling them they should normally login to a Linux or UNIX based system as root. It's just a bad idea, I'm afraid.
Title: Re: Vista compatibility
Post by: Doc on February 16, 2007, 06:07:32 PM
Quote...instead, why not take the opportunity to learn how security works in Vista and how to write applications so that they follow the Windows guidelines?

Although I made my personal decisions about Longhorn/Vista long ago, I figured that others around here will likely be interested in some quick links:

MSDN - Vista Development Center
http://msdn2.microsoft.com/en-us/windowsvista/default.aspx

Vista UAC - Best Practices and Guidelines
http://msdn2.microsoft.com/en-us/library/aa480150.aspx

-Doc-
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on February 16, 2007, 06:51:21 PM
Just follow the guidelines and your programs will work fine, the same goes for any programming language.  Store your applications data in the correct place and you won't get bit by UAC

...................

That's my biggest pet peeve with Vista.  For years we knew to leave the windows and system(32) directories alone and use the registry to store persistance data, that is what Microsoft told us to do afterall.  We were free to create our own directory structure to suit our personal tastes.  And to store data in something that made sense to us.

That freedom is now gone.  For example I have three partitions and I like to keep my music programs, and their data, on the D drive.  Not in my "documents and settings" directory.  UAC would complain about a few of the programs I use because they don't store their data (ini files) under a specific users directory, I am the only user.  To be forced to install everything in "Program Files" is just a pain, since that directory exists on the C drive, where space is limited.

Microsoft really dropped the ball on this one.  You can have security without restrictions.  Microsofts entire model is based on the principle of a shared user environment when in fact 99% of home users don't operate their computers in such an environment.  My computers may be old, but I do have four of them, one for each of the kids and one for Mom.  None of them are shared and none of them need more than 1 user account.

What is needed is a single user version of Windows, much like Windows 9x was, with better security.  Vista isn't it.

Paul.
Title: Re: Vista compatibility
Post by: Doc on February 16, 2007, 07:10:28 PM
QuoteWhat is needed is a single user version of Windows, much like Windows 9x was, with better security.

Heh... well there is/are, sorta.
They just aren't products from Microsoft.  ;)

-Doc-
Title: Re: Vista compatibility
Post by: Mike Stefanik on February 16, 2007, 09:24:31 PM
Quote from: Paul Turley on February 16, 2007, 06:51:21 PM
That's my biggest pet peeve with Vista.  For years we knew to leave the windows and system(32) directories alone and use the registry to store persistance data, that is what Microsoft told us to do afterall.  We were free to create our own directory structure to suit our personal tastes.  And to store data in something that made sense to us.

That freedom is now gone.  For example I have three partitions and I like to keep my music programs, and their data, on the D drive.  Not in my "documents and settings" directory.  UAC would complain about a few of the programs I use because they don't store their data (ini files) under a specific users directory, I am the only user.  To be forced to install everything in "Program Files" is just a pain, since that directory exists on the C drive, where space is limited.

That's not the case. You're free to install software and data files outside of C:\Windows and C:\Program Files (including on other drives). Legacy applications under Vista are running into problems in three general areas:

1. They're attempting to create files somewhere under C:\Program Files. Keep in mind I'm not talking about installation here; installers run with elevated privileges. I'm talking about programs that try to store configuration or data files in their own directory where there's installed somewhere down under C:\Program Files. That's not the appropriate place to create data files, and it never has been. There are specific folders for user-specific and shared application data; that's what SHGetSpecialFolderPath and friends are for. And even if the program does the wrong thing, Windows virtualizes access to C:\Program Files to try and minimize the impact.

2. They're attempting to write somewhere in the registry other than HKEY_CURRENT_USER. Again, this is aside from installation where the installer has the privilege to be able to create keys under HKEY_CLASSES_ROOT and HKEY_LOCAL_MACHINE. And as with the issue with the Program Files folder, applications should not be trying to store configuration data outside of the current user's hive, and this has always been the case, it's just that it wasn't enforced (or people just ran with administrative privileges to bypass the restriction).

3. The program is attempting to do something "clever", like inject code into another process, hook the message queue for a window that the process didn't create, attempt to "spoof" keypresses to other applications. In some cases, those things can be done if you create a manifest that tells the system that you need to run with elevated privileges; in other cases, it's simply not allowed anymore. Yes, there's some loss of freedom to do (relatively obscure) things; but code injection and system-wide hooks are gaping security holes just waiting to be exploited. Bluntly, the good of the many outweighs the good of the few.

Vista is my primary operating system, and has been since November. At this point, I see UAC elevation prompts only in three principal scenarios. When I have to register a COM object, when I'm using FAR to build HTML Help and when I use InstallShield to create installer packages. That's really it. And it's not a continuous streeam of prompts; it's one dialog, I click "Allow" and that's it (until I'm done with the program). It really isn't this enormous burden that some people are making it out to be.
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on February 16, 2007, 10:06:20 PM
Quote
1. They're attempting to create files somewhere under C:\Program Files. Keep in mind I'm not talking about installation here; installers run with elevated privileges. I'm talking about programs that try to store configuration or data files in their own directory where there's installed somewhere down under C:\Program Files. That's not the appropriate place to create data files, and it never has been. There are specific folders for user-specific and shared application data; that's what SHGetSpecialFolderPath and friends are for. And even if the program does the wrong thing, Windows virtualizes access to C:\Program Files to try and minimize the impact.

I am not talking about installers either Mike. #2 and #3 don't apply to what I am talking about.

In a single user environment Microsofts model is just retarded and backwards.  I have used Vista and attempted to install a program to another drive.  I couldn't install it without answering a couple of dialogs and Vista complains every single time the program is closed because it writes its 'state' to the same diretory it was installed to.  And it was not in 'Program Files'.  It was installed to d:\programname and is a very popular sequencing package used by professional musicians.  I won't mention its name here since I respect the company that made the software and don't want bad 'Vista' related press for them.  Needless to say I downgraded the PC back to XP so a musician friend of mine could continue without interruption.

This was last week, by the way, with a new PC bought from Circuit City which came with Vista preinstalled.  The musician in question asked for my help getting his software and data moved over from his old PC. That was just one of dozens of software packages we tried to move over.  One wouldn't work at all and nothing we did with 'compatibily' modes helped.  It was a program that streams live music to a dedicated drive, and it probably use low level kernel I/O to do it, something Vista apparently didn't like.

The final straw was a multichannel audio card (16 channel input) that just refused to work properly with Vista installed.  Again a name brand popular piece of hardware used by professional musicians.  Could have been a driver issue, or just the shear amount of crap running in the background on a default Vista install, didn't matter to him as music is his job and he didn't have the time to screw with it.

So stop trying to convince me that Vista is a good thing, because it isn't, it is a back assward OS from a company with very little interest in the feedback and needs of the average consumer. It's just a money game to them with no regard to how the software will actually perform in the long run. 

Quote
Vista is my primary operating system, and has been since November.

Three months of limited focus use does not tell me anything.  You're a developer and your primary focus is writing software for a small vertical target market.  Vista might work for you but don't assume that you know how it is going to work for everyone.  I am glad you have had success with it, however my experience has been quite different than yours having spent countless hours trying to get programs to work with it. 

Paul.
Title: Re: Vista compatibility
Post by: GWS on February 17, 2007, 02:03:48 AM
My new machine came with Vista installed .. it lasted two days, and I dumped it and 'downgraded' back to XP.

My first intimation that all was not well was when I plugged a memory stick in for the first time.  Vista noticed it and started to respond and then came up with a 'fatal' black screen.  Even Ctrl-Alt-Del wouldn't work.  I had to switch off.

I couldn't find any good things about it.  A few pretty pictures, and some silly 3D see-through windows.  A bit like  Tony Blair's policies - all show and no substance - and they dare to charge over ÂÃ,£200 for that? ..

XP's working fine .. but isn't it strange how many users just switch as much of Windows back to the features of earlier versions in order to feel at all happy with their machines.

As Paul says: 'It's just a money game to them'.

Before long access to drivers for sound and graphics will start to dry up - and you'll be 'forced' to adopt the rubbish.  Microsoft seem to be hell bent on ignoring what their users want and just go their own sweet way ..

I'm going to give Linux another go I think ..

all the best, :)

Graham
Title: Re: Vista compatibility
Post by: Dennisc on February 17, 2007, 03:10:04 AM
I haven't seen Vista and I haven't used Vista but from what I am hearing, on this and other forums as well as from really heavy PC software developers and the like in my area of expertise, I am becoming afraid, really afraid for the future......  :(   :'(

I will heed Graham's suggestion, roll on Unix/Linux. In my line of work and for the software I write, I don't really require Windows any longer. If I can have office functions and develop under C, Aurora, and my favourite EBasic, then I am happy.

After 40 years in the IT business as business analyst, systems analyst, and programmer, will I be condemned as a heretic and be burnt at the stake if I say I like XP and would rather migrate to Linux than Vista?  ;)  ;)

Yours in quaking fear
Dennis :) :)

Title: Re: Vista compatibility
Post by: Brice Manuel on February 17, 2007, 05:15:14 AM
I will never understand why the MS Fanboys have such a problem dealing with legitimate problems and always try and find one excuse after another to "rationalize" the problems.  No matter what bumbling move MS makes next, you always have fanboys singing their praises and saying how great MS's latest goof is.  ::)

QuoteThat's not the appropriate place to create data files, and it never has been.
Wrong!  Your program's directory has always been the preferred place.  Some of the biggest "no-nos" for programmers is writing data to the registry or writing data/saving files outside of your program's directory.  These are both things you should not be messing with on your end-user's systems.  This is a standard that all respectable and honest programmers adhere to.

The only people consistently writing data or saving files outside of your program's directory are those writing spyware, trojans, viruses or other forms of malware.  Attempts like this to hide or obscure data or files can get you blacklisted from several major download sites as this is an unacceptable practice in the industry and has been for many, many years.

QuoteThere are specific folders for user-specific and shared application data
Wrong!  Who would write data or save files somewhere that your end user won't be able to find it?  More importantly who would save data or write files outside of the program's directory without asking the end user first?  Who would try and hijack their end user's computer and not give them a choice?  Who would be such an arrogant control freak?

I choose to be honest with my end users and be respectful of them and their computers.  I use a file dialog and let the user choose where they want to save their data.  Afterall, it is their computer.  ::)

QuoteI couldn't install it without answering a couple of dialogs and Vista complains every single time the program is closed because it writes its 'state' to the same diretory it was installed to.
Very similar situation.  I have a buddy who runs a music studio here in Baltimore and I have helped him out with his computers for about 10 years now.  For experience perspective, all this guy has ever done in life is Music, he is older than me, runs the studio to fund his own music projects and back in the day did two albums on the Atlantic label.  This isn't an inexperienced kid.  He knows his stuff!

He came and picked me up the other day because he was having problems after upgrading to Vista.  Sound Cards and Breakout Boards not working properly (both biggest brand names for pro gear).  MultiTrack audio recording software (the heart of his studio) saves its settings to its directory everytime it is closed.  High-end software, and the biggest name second only to Pro Tools.  Video Editing software he uses (again top of the line for pro gear) not working properly, he was trying to finish production work on a concert DVD due out this spring.  Due to the nature of his work, removable hard drives are a must.  When plugging in a drive we would get an issue very similar to what Graham described with the USB sticks.

Reinstalled XP and everything is working perfectly.

Shannara's advice is probably the best, disable UAC completely.  UAC itself has numerous reported and confirmed bugs in it, plus some of the MS software that ships with Vista sets off UAC warning when you try and run the software (I love the irony).  I am hoping that some of the info that has been posted on the tech blogs at MS may come true, as they seem to be hinting that UAC could be gone, or at least use the default settings that XP did as soon as SP1.  It would be nice if this would come true.

For the average home users, even where the "family" shares one PC, they still all use the default account.  Setting up "accounts" for each user is beyond the skill level of the average home user.  This feature never should have made it to the home versions, it is only needed for business systems.
Title: Re: Vista compatibility
Post by: Barney on February 17, 2007, 07:55:21 AM
And I thought programmers (for lack of a broader term) were people who relish getting into something new and discovering how to deal with new things and ideas. No disrespect to anyone's knowledge and abilities, but it looks to me like most of you guys are showing  the first signs of ending your careers in this field or at least the first signs of getting old.

What worries me most is that the guy who we depend upon in the near future is giving me the impression (I may be wrong) that he does not want to work with Vista. I wonder where that leaves people who like Aurora and EBasic but would like to explore the vistas (pun intended) of Vista. As I see it now it looks like we'll have to move on and use some other programming tool as in a few years these two great systems just won't cut it. Pity...

I sincerely hope it will not come to that.

Barney
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on February 17, 2007, 08:23:00 AM
Barney,
Both languages already work fine with Vista, I have tested them afterall.  As with all MS releases I usually wait until at least the second service pack before upgrading myself.  Vista in its current form is just plain too unusable and unstable for a commercial offering.  And this is after years of delays in the first place.  Compare the release of XP to Vista.  I did actually use XP from the first day of its release because it really was a big improvement over 9x and ME.  Can the same be said for Vista over XP?

The consumers will determine what Microsoft does for Vista SP1. 

Quote
but it looks to me like most of you guys are showing  the first signs of ending your careers in this field or at least the first signs of getting old.

Just because I don't personally like Vista I don't see any need for insults Barney >:(.  I don't like Chrystler products either, good thing there is a choice.  Just as there is a choice in the computing world.  If I were to stop writing software for Windows and move on to better systems, like Mac or Linux, how does that end my career?  In fact it would open up more possibilites and a whole new inrush of users.  Not that I plan on dropping Windows support anytime soon.

To quote Chris Pirillo (Tech TV fame) "it’s about something I intend on using as my primary operating system for the nextâ€Ã,¦ seven (?) years."  Which was a response to an email he got after posting 100's of Vista related bugs on his blog.  The guy said he was being a nitpicker.

Think about it.  If we don't object to the current problems in Windows then it is only going to get worse.  It is people like us, the developers, that are in the best position to point out these problems to Microsoft.  Otherwise the entire world is going to be stuck with Vista in its current form for at least seven years.  And that is the real pity.  Although I should be able to make a ton of money helping local consumers deal with it.

Paul.
Title: Re: Vista compatibility
Post by: Brice Manuel on February 17, 2007, 08:39:35 AM
Quote from: Barney on February 17, 2007, 07:55:21 AMI wonder where that leaves people who like Aurora and EBasic but would like to explore the vistas (pun intended) of Vista.
I am a game developer.  For me it doesn't matter what language I would use, because Vista isn't very friendly to indie game developers (http://www.gamasutra.com/php-bin/news_index.php?story=12314) unless we can afford to pay for the ESRB ratings.  Getting an ESRB rating is extremely difficult and very expensive for an indie developer.  This is not cost effective for indie game developers writing budget game titles or free titles.  I couldn't officially support Vista even if I wanted to.
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on February 17, 2007, 08:56:21 AM
In the same vein I write programming languages.  The OS really doesn't matter as I always follow, and have followed, "least-minimum" specifications.  Which is why you can create an executable in Emergence/Aurora and have it run on 7 different operating systems without modifications.  98, 98SE, ME, NT4.0, 2000, XP and Vista.  Eight if you count 95 OSR2 and don't use non existant kernal functions or rely on the existance of IE.

As a language designer my job is to ensure the compiler will run and create code that works on all of the OS's without creating dependancies that are tied to any particular feature of a single OS.  As an end user developer it is up to you to explore those single OS dependancies and know that the compiler you chose won't get in your way.

Paul.
Title: Re: Vista compatibility
Post by: carpman2007 on February 17, 2007, 09:47:55 AM
Okay, let's see...

I can change my program so that it writes user preferences to HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE; that's not a problem.

I can recommend to my users in the game's help file that they run the program in XP SP2 compatibility mode; that's also not a problem.

However, I use the EBasic function GETSTARTPATH to write the contents of a high-score file into the folder where the application is stored; most likely, it will be in C:\Program Files\MyGame.  Will Vista not like this?  Is this not a recommended practice in general?
Title: Re: Vista compatibility
Post by: Brice Manuel on February 17, 2007, 10:04:13 AM
Quote from: carpman2007 on February 17, 2007, 09:47:55 AM
Will Vista not like this?  Is this not a recommended practice in general?
Vista won't like it depending on its settings.  Don't quote me, but I believe there are some settings you can put in your mainfest file that will allow your exe to run with admin priviliges.  But this is not the recommended way to do it.

*edit*  I have not tried this and cannot confirm it works as I don't have Vista, but this is what I have been told to put in the mainifest file.  Test and use at your own risk.  Again, I have no idea if it actually works.


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>


QuoteEight if you count 95 OSR2 and don't use non existant kernal functions or rely on the existance of IE.
Make that nine.  Been a long time ago, but I could swear I had a simple IBasic standard program running on 3.1 with the 32s installed ;D. 

To make sure there is no confusion.  I wasn't knocking EB in my previous post, I was knocking Vista.  The issues with the new Game Explorer apply to any programming language.  This is why I say I will be "unofficially" supporting Vista.  AFAIK, anything I write should work fine on Vista, other than UAC conflicts which my target audience would likely have disabled anyway.
Title: Re: Vista compatibility
Post by: Parker on February 17, 2007, 10:17:44 AM
Most users don't want to know where a program is storing its settings. That's why Local Settings (where you're supposed to save settings to) is a hidden folder. Those who do want to explore that can enable viewing hidden folders. The problem is that they hadn't enforced that for so many years that now almost every program written by an independent developer and some by big companies won't work properly because they didn't do what they were supposed to. But on the other hand, it wasn't made very clear that people were only supposed to put data in Local Settings. They certainly could have clarified that a little better.

Linux does this too: ~/.myprogram is myprogram's settings file (or folder). The difference is that Linux has always been restrictive like that - you can't write to /usr/bin (or many other directories) unless you're running as root, so program's can't save their settings there. And when I have to type "sudo" in front of everything and give it my password just to copy a file to a directory like that, it does get annoying, especially after using Windows as an administrator being able to do whatever I want wherever I want, but I understand that it's that security model that prevents malicious programs from running and messing with system files.

I don't get viruses on my computer generally, but that's because I know what not to do, what not to download and run, etc. A lot of average computer users don't know that something is bad unless the website says in bold letters "DO NOT OPEN THIS!", which most malicious sites won't say. So although I haven't used Vista, I think it's great that they're enforcing this. I would use a limited account on XP, but there's really no sudo type program here and I don't want to keep switching user accounts whenever I need to do anything.

Obviously there will be a lot of complaining, but developers will write Vista-compliant programs so that their users can use the programs. As new versions of old programs are released, the problems will be less and less, and eventually it will just be the accepted way to write a program.

As to the installing programs on other drives issue, I still wish that Microsoft would use a mount point based file system like Linux instead of drive letters, so you could mount /programs and /users to separate drives. Or at least they should let you change where the Program Files directory is.

Everyone has their own opinions though. If you want to use Vista, that's great. If not, nobody's making you. There's other Windows' still supported, along with numerous Linux distros and Mac OS X (and some others too).
Title: Re: Vista compatibility
Post by: Brice Manuel on February 17, 2007, 10:27:33 AM
QuoteMost users don't want to know where a program is storing its settings.
That really depends on what type of software you write.  For us game developers, having our EUs be able to save the game and then find, trade, share the saved game files is a must.  Also, then need to be able to find the files to edit/create levels, customize graphics and share them.  Add in the PBEM capabilities of a couple of my turn-based games, and there are even more files they need to easily access.
Title: Re: Vista compatibility
Post by: Mike Stefanik on February 17, 2007, 10:45:50 AM
Quote from: Brice Manuel on February 17, 2007, 05:15:14 AM
The only people consistently writing data or saving files outside of your program's directory are those writing spyware, trojans, viruses or other forms of malware.  Attempts like this to hide or obscure data or files can get you blacklisted from several major download sites as this is an unacceptable practice in the industry and has been for many, many years.

Say what? Have you even read the Windows Application Specification guidelines from Microsoft? My guess is no. Here's a hint: there's a reason that functions like SHGetSpecialFolderPath exist and there's CSIDLs to standard file locations for programs, documents, per-user data files, shared data files, and so on. You are not supposed to just dump user-created or modified data into the same folder or sub-folder of your executable.

Everything that I've written has been in an effort to try and help people understand why things work the way they do and the rationale behind it, but all that happens is I get labeled a "fanboy" and even Paul making backhanded comments about me being paid by Microsoft, slinging insults and jumping down my throat. I've gone out of my way to try and be polite, and frankly, this is not something that I need. So hey, do what you want. At this point, with all of this rampant hostility and FUD coming from folks here, I'm done.
Title: Re: Vista compatibility
Post by: Brice Manuel on February 17, 2007, 11:06:30 AM
Quote from: Mike Stefanik on February 17, 2007, 10:45:50 AM
Say what? Have you even read the Windows Application Specification guidelines from Microsoft? My guess is no. Here's a hint:
Here is a hint:  Standards are set by the industry, not Microsoft. 

When I moved to Windows 3.1 and until Vista appeared, the industry standard for us game developers to save game data, user editable levels, media, etc has been the directory of our game, or sub directories of our game directory.  That is what my EUs expect and is what I will give them, via the file dialog.  MS has no right to tell them where to save their data, nor do I. 

Microsoft habitually goes against industry standards in most everything they do.  No apologies from me for refusing to follow their arrogant design principles.  Some of us believe in ethics in programming.  Trust me, I am NOT wrong for giving my EUs the choice of where to save their own data on their own systems.

Bill Gates once referred to supporters of Open Source software as "some new modern-day sort of communists".  Please, don't choke on the irony.
 
Title: Re: Vista compatibility
Post by: Kale on February 17, 2007, 11:13:49 AM
Quote from: Brice Manuel on February 17, 2007, 11:06:30 AM
Standards are set by the industry, not Microsoft.

Actually that's not right anymore, Microsoft is the industry! If you write programs for PCs then follow microsoft's rules. If not your app wont run. A sorry state of affairs but true.
Title: Re: Vista compatibility
Post by: Brice Manuel on February 17, 2007, 11:25:49 AM
Quote from: Gary Willoughby on February 17, 2007, 11:13:49 AM
Actually that's not right anymore, Microsoft is the industry! If you write programs for PCs then follow microsoft's rules. If not your app wont run. A sorry state of affairs but true.
They would like you to think that, but its not true.

Heck, even IE 7 still isn't standards compliant.  Having to redo site design just so it will display properly in IE's knackering of simple HTML gets more annoying every year.
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on February 17, 2007, 02:53:02 PM
Quote from: Parker
Linux does this too: ~/.myprogram is myprogram's settings file (or folder). The difference is that Linux has always been restrictive like that - you can't write to /usr/bin (or many other directories) unless you're running as root, so program's can't save their settings there.

Yes but Linux is less restrictive in being able to install what you want, where you want it.  You don't have to store executables in /usr/bin and you are free to create and run executables from any directoy or device you wish as long as the executable has your group or users permission bits set.  If you want to install an app under a user accoung on /hdd/myfiles you can.  If you want to save per user data in a directory off of their home directory it is bloody simple to do and has been a standard since long before Microsoft decided that UAC was a good thing.  Linux is secure without all of the complications.

Quote from: Mike Stefanik on February 17, 2007, 10:45:50 AM
Everything that I've written has been in an effort to try and help people understand why things work the way they do and the rationale behind it, but all that happens is I get labeled a "fanboy" and even Paul making backhanded comments about me being paid by Microsoft, slinging insults and jumping down my throat. I've gone out of my way to try and be polite, and frankly, this is not something that I need. So hey, do what you want. At this point, with all of this rampant hostility and FUD coming from folks here, I'm done.

You are a fanboy, admit it. ;)   I get tired of people trying to convince me why I should be using something I don't like. Just because it works for you doesn't mean it will work for everyone, and you have to be pretty damn arrogant to assume that you know all there is to know about Vista.  I certainly don't, but from what I have experienced so far I don't have the need to subject myself to the MS crap train at the moment.  Maybe when they have had a few service paks out for it I might change my mind. But for the moment myself and many of my friends view it as needless crap.

The same thing goes for .Net and the arguments you have used to try and convince me it is a good thing.  That is your opinion, and you are entitled to it, but I have no need or want to develop .Net applications.  Not because I am old, as barney would suggest, or that my "career" is over, but because I choose to write software that doesn't need multiple dependancies and is closer to the hardware.  I get more enjoyment out of writing assembler routines than out of any high level language.  For me that is the challenge that keeps me going.  Hell I find it easier to add numbers in hexidecimal now than in base 10.

Anyway back to the original posters question...


Quote from: carpman2007 on February 17, 2007, 09:47:55 AM
Okay, let's see...

....
However, I use the EBasic function GETSTARTPATH to write the contents of a high-score file into the folder where the application is stored; most likely, it will be in C:\Program Files\MyGame.  Will Vista not like this?  Is this not a recommended practice in general?

Vista will use virtualization to store the file in:

C:\Users\<User_name>\AppData\Local\VirtualStore\Program Files\<Application_name>

So while the program will run OK it will only store the high score data for the logged in user.  Any other users that log into Vista won't have access to that file and the high score data will be non existant.

This explains it better:

http://support.microsoft.com/kb/927387

Paul.
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on February 17, 2007, 03:37:22 PM
And here is a thread with an Emergence example that shows how to get the correct shared documents folder:

http://www.ionicwind.com/forums/index.php/topic,1391.0.html

Title: Re: Vista compatibility
Post by: Brice Manuel on February 18, 2007, 02:35:04 AM
Quote from: Mike Stefanik on February 17, 2007, 10:45:50 AMEverything that I've written has been in an effort to try and help people understand why things work the way they do and the rationale behind it, but all that happens is I get labeled a "fanboy"...
You didn't get labeled "fanboy" for helping people or for explaining things.  Everybody appreciates that, myself included. 

"Fanboy" comes in when you continually ignore and refuse to address legitimate issues or put down industry leaders who are pointing out issues or potential issues with Vista.  "Fanboy" comes in when you try and promote hyperbole or opinions as "fact".

I am still waiting for you to give me a legitimate reason as to why I am wrong for giving my EUs a choice of where to save their data on their own systems?  ('cause MS says so" isn't a legitimate reason.  We are not on the playground in grade school.  Answers like that don't cut it in the adult world.  I need real answers as to why I am wrong to provide a file dialog to my users and allow them to choose where to save their own data on their own systems.  How am I wrong in giving my EUs a "choice"?)

I am still waiting for you to comment on how indie game developers' games are being restricted on Vista due to the issues with Game Explorer and the requirements of ESRB ratings.  (The article I linked to is by one of the industry leaders and a man who worked for MS and was involved in DX coming to be.  His background, knowledge and experience is irrefutable.)

You have put down and made fun of the guys who do the Security Now podcast when they pointed out some security concerns with Vista.  I am still waiting for you to produce facts that prove them wrong, or provide documentation of your background and experience in the security industry that will trump that of Steve Gibson and Leo Laporte. 

Since you asked, I have read Windows Application Specification guidelines very thoroughly several weeks ago.  The guidelines on how we are no longer supposed to give our EUs a choice on how they use their system and how we are supposed to "hijack" the system and make decisions for them, brings to mind this old picture I have attached.






Title: Re: Vista compatibility
Post by: Rock Ridge Farm (Larry) on February 18, 2007, 05:37:53 AM
So far - in my  opinion the structure of the multitude of versions of Vista is going to turn off
the average user's upgrade experience.  I got a free vista upgrade with the last computer
I bought (64 bit dual core media center). I have now reloaded the original XP version.
From a developer standpoint I think vista may be an issue. Unless you go with the top
of the line version you may find things missing from the OS. If you develop on the top version
your code may not run on lesser versions.
Title: Re: Vista compatibility
Post by: carpman2007 on February 18, 2007, 08:06:06 AM
Quote from: Paul Turley on February 17, 2007, 02:53:02 PM
Vista will use virtualization to store the file in:

C:\Users\<User_name>\AppData\Local\VirtualStore\Program Files\<Application_name>

So while the program will run OK it will only store the high score data for the logged in user.  Any other users that log into Vista won't have access to that file and the high score data will be non existant.

This explains it better:

http://support.microsoft.com/kb/927387

Paul.

Thank you, Paul, for answering my question, and thanks to everyone else for their input as well.

(Funny how a new release of an OS stirs up such emotions!)
Title: Re: Vista compatibility
Post by: mrainey on February 18, 2007, 08:45:13 AM
Quote(Funny how a new release of an OS stirs up such emotions!)


Funny is one word for it.  I don't make a living from writing Windows software, so find it pretty hard to get emotionally involved with Vista requirements.
Title: Re: Vista compatibility
Post by: Shannara on February 18, 2007, 10:15:04 AM
One thing to be weary of. The newest vista patches (there were a total of four for me, despite the news), crashes your install until you reinstall vista. I continuously got the blue screen of death every time I played any game on the system. I had to reinstall yesterday, and did not touch the newest patches. Everything is running nicely now. Microsoft did this once before with an XP patch, which they chose to fix the following month.

So yeah, have fun with Vista, just dont install the patches until weeks later so you'll know if it fixed or broke something.
Title: Re: Vista compatibility
Post by: seberbach on February 18, 2007, 08:17:46 PM
<Setting up "accounts" for each user is beyond the skill level of the average home user.  This feature never should have made it to the home versions, it is only needed for business systems.>

That quote may be true, but at my house there is an xp computer being used for I-tunes.  Each kid has insisted on having their own I-pod, and the Digital Rights Management insists on each I-pod/associated I-tunes having one account ALLOWED to tranfer music. No copying somebody else's music!  NA.NA.NA!

So I had to create seperate accounts just to keep the I-tunes happy.

(I did see a freeware ITunes 'clone' (minus DRM and Itunes store of course) from U.K. workaround, though.  Need to download it soon, when I find the URL)

I hate to think what will happen when the music distributers' DRM software and Vista gang up together!

Perhaps they will "be hoisted with their own petard".
Title: Re: Vista compatibility
Post by: Steven Picard on February 19, 2007, 11:20:31 AM
Microsoft does set out many guidelines which developers are supposed to follow.  Apple has them as well.  Part of their reason is to insure that the software will behave as expected and also so it'll work on future versions of Window's.  Most developers don't read these guidelines and when they're finally enforced there's a backlash against Microsoft.   I am not agreeing with the guidelines since I do find them a little too restrictive but that is a fact.

I think some of us have come down a little too hard on Mike S.  In every debate both sides should be heard.  He is one side while people like Bruce are the other.  I have tried Vista and found it "pretty" but annoying.  I know what I want to do and it keeps treating me like an idiot.  Unfortunately, Microsoft felt a need to do that because most users are when it comes to computers.  I remember when Win XP came most people did not want to upgrade and there was a big backlash until SP1 came which added greater compatibility.  I think SP1 for Vista will help fix things but I don't think greater compatibility will be one of them.
Title: Re: Vista compatibility
Post by: Brice Manuel on February 19, 2007, 12:34:25 PM
QuoteMost developers don't read these guidelines and when they're finally enforced there's a backlash against Microsoft.
It is worth noting that even if you 100% follow the guidelines, your game will still not be "officially" compatible with Vista unless you shell out thousands of dollars for each game to get an ESRB rating so it can get listed in the Game Explorer.
Title: Re: Vista compatibility
Post by: mrainey on February 19, 2007, 12:54:39 PM
Reminds me of the manufacturing world, where a company can have airtight control over procedures and documentation, all in accordance with textbook practices, and still not be able to qualify for lots of contracts until it pays thousands of dollars to be audited and deemed "ISO 9000 Certified".  It's just considered to be a part of the cost of doing business in the 21st century.
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on February 19, 2007, 01:12:40 PM
Quote from: Steven Picard on February 19, 2007, 11:20:31 AM
I think some of us have come down a little too hard on Mike S.  In every debate both sides should be heard.  He is one side while people like Bruce are the other.  I have tried Vista and found it "pretty" but annoying.  I know what I want to do and it keeps treating me like an idiot.  Unfortunately, Microsoft felt a need to do that because most users are when it comes to computers.  I remember when Win XP came most people did not want to upgrade and there was a big backlash until SP1 came which added greater compatibility.  I think SP1 for Vista will help fix things but I don't think greater compatibility will be one of them.

Yeah I probably am guilty of being too hard on him. 

XP wasn't that much of a change from Windows 2000.  In fact the version was 5.1 over the 5.0 Windows 2000 version.  Compatibility was much better than say switching from 98 to NT/2000 and the interface was close enough that users felt comfortable with it, especially when you switch themes off.  And XP did have a lot to offer Windows 9x users in terms of stability and true 32 bit multitasking.  The only downfall was DOS games which most of us worked around by keeping a 98 boot disk handy and just running them from a true MSDOS environment.  Wasn't a real big deal.  NT had been around for a long time before XP so business users adapted relatively easily.

Vista is the first real drastic change by Microsoft since switching from 3.1 to 95.  My personal take on it is that the OS is becoming a bit too invasive and "in your face" when the textbook definition of an operating system is:

Quote
An operating system (OS) is a computer program that manages the hardware and software resources of a computer. At the foundation of all system software, an operating system performs basic tasks such as controlling and allocating memory, prioritizing system requests, controlling input and output devices, facilitating networking, and managing files. It also may provide a graphical user interface for higher level functions. It forms a platform for other software.

What Microsoft is doing is changing the basic defintion of what an OS is supposed to be.  Turning it from something that is expected to perform its tasks in the background, without affecting productivity, into something else.  Not just an OS but an all-encompassing software "package" to control every aspect of your computing use.  That, in a nutshell, is probably my biggest objection to the direction Microsoft has chosen.  I don't want an OS to get in my way of daily productivity, I want it to just run programs ;)

Paul.
Title: Re: Vista compatibility
Post by: Steven Picard on February 19, 2007, 04:29:42 PM
"Steve Ballmer is trying to find something to blame Vista's slow sales on besides Microsoft. His scapegoat for Vista looks to be pirates. Not the scourge of the seven seas, but the scourge of software developers."
http://gizmodo.com/gadgets/pcs/how-to-piss-off-balmer-and-steal-vista-237915.php
Title: Re: Vista compatibility
Post by: Junner2003 on February 20, 2007, 03:16:17 AM
Hmmm, interesting.

Since 1 month I upgraded all of my computers (4 desktops and 2 notebooks from different manufacturers) to VISTA - had no trouble since then!
EBasic is running just fine, a few smaller problems such as Window size turns out a bit different on XP than on Vista through the different graphical elements I guess ...

I,ve spent a couple of weeks to read about the new old ENVIRONMENT in VISTA.
The UAC (User Account Control) does not really make trouble!

One thing game programmers might wanna pay attention to: It seams like in VISTA is a complete new version of DirectX. I recognized that when I installed NERO BURNING ROM 7 for VISTA. During the installation I had to install DirectX 9C (not sure - it was too fast for my eye when this message peopped up - my hand is trained just to click next on any message at the screen ... :))

Programmers tend to stick with what they have on their computers - I am no different in any way! :-)
But finally everybody has to answer himself a question: For whom are you writing your programs? For yourself? Well, then VISTA is not important and you can just go on with what ever you have on your system! Or are you writing for other people? Then better get to know the latest Microsoft OS as much as you have to in order to write stabile and save applications ...
Title: Re: Vista compatibility
Post by: Bruce Peaslee on February 20, 2007, 02:02:43 PM
Quote from: Steven Picard on February 19, 2007, 11:20:31 AM
He is one side while people like Bruce are the other.

What side am I on again?  ;) 
Title: Re: Vista compatibility
Post by: Rock Ridge Farm (Larry) on February 20, 2007, 03:24:25 PM
Pick one - I will pick the other then we balance. :)
Title: Re: Vista compatibility
Post by: LarryMc on February 20, 2007, 03:49:50 PM
I feel ya'lls pain.... I feel very strongly both ways ;)
Title: Re: Vista compatibility
Post by: Rock Ridge Farm (Larry) on February 20, 2007, 04:42:20 PM
Left, Right, Middle - we got it covered.
Title: Re: Vista compatibility Problem
Post by: chris_s on April 04, 2007, 11:24:08 PM
I have a laptop running under Vista. I've been trying the sample programs and I've had a problem with a few of them. The dictionary_text module is an example. When I try to run it, I don't get any output and the CPU goes to 50% and stays there. I have to go to the Task Manager and cancel it. When I run it in debug mode, the last line before the loop is the load of Oleaut32.dll. Once I cancel the task, EBasic tells me that it exited with code 1. A number of other programs have exhibited the same behaviour.

Chris
Title: Re: Vista compatibility
Post by: Ionic Wind Support Team on April 05, 2007, 12:06:45 AM
ODBC drivers have problems under Vista.  You probably need Office 2007 to make it work.