|
Post by tmp on Mar 8, 2016 14:04:47 GMT -6
The reason why the installer does not use the "program files" location by default is this: We have seen many, many reports over the past few years of users having difficulties that turn out to be with Windows security/permission/UAC issues when third-party programs are placed in the 'program files' folder...I have personally seen this myself with both our software and others software as well. So, the default location to install our software is not, by choice, the 'program files' folder, but elsewhere.
Pretty much; ironically, at this point "Program Files" is itself a literally 20-year old leftover from Windows 95, when it seemed like a good idea because no one took security and/or permissions seriously. With access changes introduced in later iterations of the OS (Vista onwards) trying to put stuff there is asking for more trouble than it's worth, as it will fail without admin level of access, period. edit: that said, this is largely a matter of separating your application files and the data files produced by the application -- i.e. there's technically nothing wrong with the setup placing the game in Program Files, and the game then writing its files in %appdata% for user-specific stuff and %programdata% for shared stuff, if there's any. Such approach should work without issues.
|
|
|
Post by genjeft on Mar 16, 2016 11:08:43 GMT -6
It's not about the size of the files, it's that it makes life harder for the user for no good reason. Even if you assume that everyone in the world has a single hard drive and it's always drive C, there's no practical benefit to the user in forcing the install into the root of the C: drive. In fact it could make the user's life harder, in that doing the wrong thing can trigger various measures the system has in place to protect itself against misbehaving/malicious software -- things like UAC prompts, anti-virus software, etc.
The above statement is incorrect. The installer does allow the choice to install the program where-ever you want, there absolutely is no "forcing the install into the root of the C: drive"...so indeed you can install the program to wherever you want, including the 'program files' folder if you wish.
The reason why the installer does not use the "program files" location by default is this: We have seen many, many reports over the past few years of users having difficulties that turn out to be with Windows security/permission/UAC issues when third-party programs are placed in the 'program files' folder...I have personally seen this myself with both our software and others software as well. So, the default location to install our software is not, by choice, the 'program files' folder, but elsewhere.
A lot of companies have been moving away from using Program Files as the default installation location for a while now. I have actually had problems putting mods on some of my games if they were installed in program files due to windows security and permissions. I dont install anything in program files anymore if I can avoid it as its become locked down as compared to previous operating systems. Hell, when I program my own stuff I cant put it in program files as windows wont let it execute from that location, and I am the friggen admin! Windows wont let me execute my own software that I wrote from program files and I am the admin! So yea, I avoid putting stuff in program files.
|
|
|
Post by smacktoward on Mar 22, 2016 12:32:29 GMT -6
Defaults are powerful things. When presented with a choice that's pre-filled with a default value, the vast majority of users will just accept the default value without thinking about it, so the default value for an installer should be to put things into the correct places. RTW's installer, by default, puts things in the wrong places. It's true that a sufficiently clued-in user can catch that and fix it manually (I did), but the burden of knowing where on the hard drive files are supposed to go should not be shunted off onto the user. The reason why the installer does not use the "program files" location by default is this: We have seen many, many reports over the past few years of users having difficulties that turn out to be with Windows security/permission/UAC issues when third-party programs are placed in the 'program files' folder...I have personally seen this myself with both our software and others software as well. So, the default location to install our software is not, by choice, the 'program files' folder, but elsewhere. Microsoft are very clear (and have been so for decades now) that Program Files/Program Files (x86) are the correct places to install Windows software into. See point #10 in the Windows certification requirements, for example: "Apps must install to the correct folders by default". Not should, not would be nice if, but must. If you're installing software anywhere else on a Windows machine, you are Doing It Wrong. You say that you've seen problems with UAC and other security mechanisms that come with modern Windows with your software. I don't doubt it, because your software is acting like it's still living in the days when every user was an admin and every process had complete control over the machine. Those days are long over, so unless you're willing to update your knowledge of the platform you're going to have these kinds of problems. I mentioned one example in my earlier posting; RtW saves all its user data (saved games, etc.) in the same directory the executable is installed into. Doing it that way assumes that the user will always have write permission to that directory, which isn't necessarily the case in modern Windows; and trying to write files into places the user does not have access to will require privilege elevation, which can mean the user gets a big old mean-looking UAC prompt. That sounds ugly, but the problem there isn't UAC or the directory into which you chose to install the executable. The problem there is that Windows is trying to tell you, the developer of the application, that you are doing something wrong -- namely, writing user data in the wrong place. All you have to do to avoid it is do what the Windows developer resources tell you to do, which is write the user data into the user's home directory instead. The user always has write permission over that directory, so there's no security issues or privilege elevation requirements. (And you even get a bonus for free: now when your game is installed on a multi-user machine, each user can have their own save files.) I'm not saying all this to be mean or beat up on your software or anything; I love RtW and play it constantly. I'm saying it because I love RtW and want to see your games find the audience they deserve, but if you continue fighting the platform your software runs on you're only going to paint yourself further into a corner. Investing a little time into learning how the platform you work on has changed could help get you get your ideas out of that corner and in front of the market they deserve.
|
|
|
Post by williammiller on Mar 22, 2016 14:43:51 GMT -6
Smacktoward,
While I do appreciate the time and obvious thought you put into your above post unfortunately I don't have the time to give a detailed reply, so I must keep this brief:
I fully understand about Microsoft and the history of the 'program files' location, and all the related technical items. I do have to respectfully disagree however about that location always being the best one in which to place software. A number of other (sometimes major) software developers tend to agree with this as well - as only one example 'Steam' now allows users to install both Steam and their Steam games into other folders or drives after many users on that platform (among others) have reported having various issues when using the 'Programs Files' location for their games. I do however agree with you that the data storage portion of a game is best located in the current user's default folder, and for our next game that would be my preference.
Thank you again for your observations and comments!
|
|
|
Post by jwsmith26 on Mar 28, 2016 11:24:55 GMT -6
This discussion seems like a suitable place to ask this question since it involves game save locations.
I installed the game in this location: C:\Program Files (x86)\NWS\Rule the Waves
All of the saved games were initially saved in this location: C:\Program Files (x86)\NWS\Rule the Waves\Save
I was attempting to zip up a saved game to add to a bug report and naturally looked in the above Save location. The saved game that I was looking at on screen was not in the ...\Save\Game2 directory. I looked in the other 4 save game directories and found saved game files in Game1 and Game5 but just tempfile.txt in the other directories, including the Game2 directory.
The missing games loaded fine when I ran RtW. So where were those missing saved game files?
I did a system wide search and located them in this directory: C:\Users\jwsmi\AppData\Local\VirtualStore\Program Files (x86)\NWS\Rule the Waves\Save
BTW, I am running Windows 10 on a Surface Book if that makes a difference. Another thing that might have some relevance here is that I had created additional directories in the C:\Program Files (x86)\NWS\Rule the Waves directory to store old saves. I simply copied the old saved games into this directory and gave them a different directory name so RtW (presumably) does not see them.
My question is - Why are some games stored in one location and others stored in a different directory?
|
|
|
Post by marcorossolini on Mar 28, 2016 16:05:26 GMT -6
Frankly, I think it remains that a game being installed into slightly the wrong place is the least of RTW's worries. Such a vehement discussion over such a small thing is quite absurd.
|
|
|
Post by tmp on Mar 28, 2016 20:48:31 GMT -6
BTW, I am running Windows 10 on a Surface Book if that makes a difference. Another thing that might have some relevance here is that I had created additional directories in the C:\Program Files (x86)\NWS\Rule the Waves directory to store old saves. I simply copied the old saved games into this directory and gave them a different directory name so RtW (presumably) does not see them. My question is - Why are some games stored in one location and others stored in a different directory? Writing to the VirtualStore folder is automatic work-around in newer versions of Windows (Vista onwards) for applications which try to write data to Program Files without having elevated access rights which would allow them to do so. Windows is doing it to prevent such programs from plain crashing due to what would be otherwise write failure. Bit more details here: stackoverflow.com/questions/3219255/why-do-files-get-placed-in-c-users-usernameappdata-local-virtualstore-progra/3219276#3219276My guess would be, when you created/played Game1 and Game5 you'd launched the game with admin rights, while in other cases the game was launched with just basic access, which forced it to (unknowingly) write to the other directory, instead.
|
|
|
Post by jwsmith26 on Mar 28, 2016 22:53:36 GMT -6
My guess would be, when you created/played Game1 and Game5 you'd launched the game with admin rights, while in other cases the game was launched with just basic access, which forced it to (unknowingly) write to the other directory, instead. Thanks, tmp. I believe you are correct. I recall deleting an RtW desktop shortcut, which was probably set up with admin rights. The one that I'm using now does not start the game with admin rights. I'm between games so I might change it back, though it doesn't seem to matter to the game.
|
|
|
Post by chaosblade on Mar 29, 2016 11:37:05 GMT -6
Frankly, I think it remains that a game being installed into slightly the wrong place is the least of RTW's worries. Such a vehement discussion over such a small thing is quite absurd. I want a Like button just to agree with this post. Anyway, yeah, it could use more polish, pretty up the ship designer and give us more Superstructure options, both in the ship and picture designer and better sound effects too, the sounds remind me when I started playing, in an XT 8086! it does make me feel nostalgic, but... it could do better. Maybe add music, maybe, specially when things start getting epic. maybe.
|
|