Plug-ins, Hosts, Apps,
Hardware, Soundware
Developers
(Brands)
Videos Groups
Whats's in?
Banks & Patches
Download & Upload
Music Search
KVR
   
KVR Forum » DSP and Plug-in Development
Thread Read
current thoughts on install paths on Windows.
Goto page Previous  1, 2, 3
aciddose
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Thu May 10, 2012 5:36 pm reply with quote
koalaboy wrote:
aciddose wrote:
yes the idea that this is a recent invention is laughable and shows just exactly how stupid most windows users are.

the home directory and application data directories have existed for decades. uh, well, nearly four of them now actually.

FOURTY YEARS.

then some amatures randomly implemented a bunch of crap, and 25 years later microsoft finally implemented the standards instead for the first time with their mass market products.

that was already twelve years ago.


So forty years ago, you couldn't easily move your applications and personal data onto a different disk ?
Twelve years ago, you were forced (by a standard) to use a hidden 'ProgramData' directory ?


no. twelve years ago you could move this directory to anywhere you want by applying two minutes of research effort using a tool like google search.

not sure about at&t unix but i'd be comfortable to assume it's likely that you could have changed it, even if it required a recompile.
^ Joined: 07 Dec 2004  Member: #50793  
matt42
KVRian
- profile
- pm
PostPosted: Fri May 11, 2012 1:58 pm reply with quote
Deleted
^ Joined: 09 Jan 2006  Member: #93807  
aciddose
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Fri May 11, 2012 2:04 pm reply with quote
i should have also mentioned it doesn't have to be hidden. that's a filesystem flag that you can change as you wish. there are other flags too, rarely used these days but still useful. for example the archive flag used to flag whether or not to track a file in backups.

show hidden directories, click on the directory, uncheck hidden, hide hidden directories, problem solved.

the feature in unix uses a period at the beginning of the name. so if you want to hide mydirectory, you just change the name to .mydirectory.

if you want it to show up you specify that in the browser or when you use ls or whatever. that eliminates the need for using a flag for such a common function. ms-dos and it's crappy implementation was limited to 8.3 filenames and this legacy like many others has continued all the way up to windows 8.

the purpose of hidden directories is not to make them secret. no, that's moronic.

the purpose is to solve the issue of when you have a lot of extra directories or files that you couldn't care less to see over and over again. for example you could go into your vst plugins folder and mark hidden all files that aren't dlls themselves. not a very practical application but one that would make sense assuming the list of vst dll files was useful in some way.

or in my case, applications install all this useless shit into mydocuments instead of using the proper application data directory. i don't want to see that stuff, it's useless to me and why the hell did they think it had anything to do with user documents? they're clearly bat-shit insane. so i can mark those folders as hidden and continue without being bothered by their idiocy.
^ Joined: 07 Dec 2004  Member: #50793  
Galbanum
KVRian
- profile
- pm
- www
PostPosted: Sun Jul 15, 2012 2:38 pm reply with quote
Galbanum wrote:
Thanks for the input.

...so the consensus as of May 2012, seems to be there still is no consensus? Very Happy


Seems maybe the best option is:


C://Program Files/ (obvious stuff)

C://Program Data/ (stuff that might have to be written by the app/plug, but the user needs not know about or interact with under normal circumstances)

Then we are left with user data, (user presets, sample data, large libraries etc.) I agree this folder should likely be customizeable by the installer and should be able to located on drives other than the primary system disk.

And I really can't understand why /Users/user/AppData/ should be hidden? Why hide user's data from them? It is THEIR data?? So I think we will avoid that location.

So user data will be fully customizable, and will default to:

C:\Users\user\My Documents\


Can anyone tell me why this plan sucks? Confused Foresee any problems?

Help




So it seems there is some potential issue even with this plan...

Quote:
C://Program Data/ (stuff that might have to be written by the app/plug, but the user needs not know about or interact with under normal circumstances)


It seems not all users can write to this folder. Even an account with Admin rights, can not always write to this location if UAC is on? And yet the same account can do this successfully if "run as admin" is used... even though the user already has admin rights. WTF?

/program files/ of course is no-no also.

So where should preference files and similar things be kept so that users are NOT blocked to write to them as needed?

C:\Users\User\AppData\Roaming\Company\Product\potOfGold

??

What is the point of \programdata\ if it can not be written to?

This stuff is headache inducing, and by far the largest cause of support issues for us... At least 10:1, prob more like 100:1, as compared to any actual product support issues... Rolling Eyes
----
Andrew Souter
____________________________
2CAudio | www.2CAudio.com
Galbanum | www.galbanum.com
^ Joined: 12 Sep 2008  Member: #189147  
arachnaut
KVRist
- profile
- pm
- e-mail
- www
PostPosted: Sun Jul 15, 2012 3:03 pm reply with quote
Windows File System Namespace Usage Guidelines:

http://www.microsoft.com/en-us/download/details.aspx?id=2232 2
----
Jim Hurley
http://plus.google.com/109292859448286386610/
Windows 8 Pro with Media Center (64-bit)
^ Joined: 29 Aug 2006  Member: #118223  Location: Eta Carinae
mystran
KVRAF
- profile
- pm
- e-mail
- www
PostPosted: Sun Jul 15, 2012 3:29 pm reply with quote
%appdata% yes, don't hardcode though, use CSIDL_APPDATA (with SHGetFolderPath or similar).
----
<- my plugins | my music -> @Soundcloud
^ Joined: 11 Feb 2006  Member: #97939  Location: Helsinki, Finland
Galbanum
KVRian
- profile
- pm
- www
PostPosted: Sun Jul 15, 2012 3:31 pm reply with quote
arachnaut wrote:
Windows File System Namespace Usage Guidelines:

http://www.microsoft.com/en-us/download/details.aspx?id=2232 2


Thanks. This seems to be the most thorough info of the subject I have read thus far...

however, even this seems to give conflicting information.

Quote:

Program Files vs. Per-User or Shared-Application Data
Windows Vista provides specific locations in the file system to store programs and software components, application data that is shared between all users on a computer, and application data that is specific to a user. These locations are, respectively:

C:\ProgramData:
o Storage location for application data that is to be shared between all users on that computer.

C:\Users\<username>\AppData:
o Storage location for per-user application data that is exclusive to a user and should not be shared with any other user on that computer.
o The AppData location itself has a further hierarchy below it to differentiate computer-dependent application data from computer-independent


and

Quote:
Storing Shared Application Data
All application data that must be shared among users on the computer should be stored within the C:\ProgramData folder location. To store data for your application, create a subfolder under the C:\ProgramData\ folder by using the following convention:


...so if \programdata\ is meant to store data for ALL users, why can't a host app write to it when the current user using the host app even has admin rights??
----
Andrew Souter
____________________________
2CAudio | www.2CAudio.com
Galbanum | www.galbanum.com
^ Joined: 12 Sep 2008  Member: #189147  
Galbanum
KVRian
- profile
- pm
- www
PostPosted: Sun Jul 15, 2012 3:39 pm reply with quote
mystran wrote:
%appdata% yes, don't hardcode though, use CSIDL_APPDATA (with SHGetFolderPath or similar).


Thanks. We will look into it.
----
Andrew Souter
____________________________
2CAudio | www.2CAudio.com
Galbanum | www.galbanum.com
^ Joined: 12 Sep 2008  Member: #189147  
arachnaut
KVRist
- profile
- pm
- e-mail
- www
PostPosted: Sun Jul 15, 2012 3:57 pm reply with quote
Galbanum wrote:

...so if \programdata\ is meant to store data for ALL users, why can't a host app write to it when the current user using the host app even has admin rights??


There is a difference between having the rights and using them. When the application runs as a user that has administrative rights, it can inherit those rights and use them. But a user can't write into adminitrative folders without 'becoming' the administrator.

Actually, I know very little about these details, I came from a Unix programming background and I've pretty much forgotten everything.

The application should, I believe, create the AppData folders with the owner permissions of the user, not the administrator.

But, as I said, I'm not a Windows programmer.
^ Joined: 29 Aug 2006  Member: #118223  Location: Eta Carinae
Jace-BeOS
KVRian
- profile
- pm
PostPosted: Sun Jul 15, 2012 4:09 pm reply with quote
My current thoughts: the whole system sucks in terms of organization and complexity. File system layout, registry, program access, system feature access, etc. It's a pile of bad ideas, based on shallow-copying of other products, then changed in order to be arbitrarily different and unique to its own culture (that of verbosity and "correct but useless information" and to be able to say "we didn't copy anyone, we innovated"), then changed several times again to try to barely fit the ages-old standards that have survived the test of time (though also convoluted themselves; the unix culture isn't my ideal either but it functions when a good GUI is laid on top, like Mac OS X, though I felt classic Mac OS was ideal in layout and simplicity of management).

but you're not looking for my opinion.
----
- dysamoria.com
my music @ SoundCloud
^ Joined: 07 Jan 2005  Member: #54134  Location: Corporate States of America
arachnaut
KVRist
- profile
- pm
- e-mail
- www
PostPosted: Sun Jul 15, 2012 5:21 pm reply with quote
You have to love the way Mac OS X makes gcc generate a.out as a package. That's real innovation.
----
Jim Hurley
http://plus.google.com/109292859448286386610/
Windows 8 Pro with Media Center (64-bit)
^ Joined: 29 Aug 2006  Member: #118223  Location: Eta Carinae
All times are GMT - 8 Hours

Printable version
Page 3 of 3
Goto page Previous  1, 2, 3
Display posts from previous:   
ReplyNew TopicPrevious TopicNext Topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Username: Password:  
KVR Developer Challenge 2012