April 28, 2024, 10:11:47 PM

News:

IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!


Vista compatibility

Started by carpman2007, February 16, 2007, 01:45:14 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

carpman2007

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.

Shannara

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 :)
Love is staying up all night with a sick child, or a healthy adult.

Mike Stefanik

February 16, 2007, 04:25:17 PM #2 Last Edit: February 16, 2007, 04:31:28 PM by Mike Stefanik
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.
Mike Stefanik
www.catalyst.com
Catalyst Development Corporation

Doc

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-

Ionic Wind Support Team

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.
Ionic Wind Support Team

Doc

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-

Mike Stefanik

February 16, 2007, 09:24:31 PM #6 Last Edit: February 16, 2007, 09:26:16 PM by Mike Stefanik
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.
Mike Stefanik
www.catalyst.com
Catalyst Development Corporation

Ionic Wind Support Team

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.
Ionic Wind Support Team

GWS

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
Tomorrow may be too late ..

Dennisc

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 :) :)

Failure is only the opportunity to begin again more intelligently
www.denniscomninos.com

Brice Manuel

February 17, 2007, 05:15:14 AM #10 Last Edit: February 17, 2007, 06:48:06 AM by Brice Manuel
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.

Barney

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

Ionic Wind Support Team

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.
Ionic Wind Support Team

Brice Manuel

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 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.

Ionic Wind Support Team

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.
Ionic Wind Support Team

carpman2007

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?

Brice Manuel

February 17, 2007, 10:04:13 AM #16 Last Edit: February 17, 2007, 10:14:01 AM by Brice Manuel
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.

Parker

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).

Brice Manuel

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.

Mike Stefanik

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.
Mike Stefanik
www.catalyst.com
Catalyst Development Corporation

Brice Manuel

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.
 

Kale

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.

Brice Manuel

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.

Ionic Wind Support Team

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.
Ionic Wind Support Team

Ionic Wind Support Team

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

Ionic Wind Support Team