Where to put portable programs in Windows

4

In Windows, what is a good location for portable binaries?

Some programs don't have an installer, but must simply be put somewhere. I've always wondered what would be a good location for such files in the standard Windows directory structure. I've seen people use (subdirectories of) C:\Localdata, but I can't find any mention of this being a standard (official nor unofficial).

Of course these programs can be put anywhere, but I wonder if there's a conventional location.

Rinke

Posted 2017-10-02T22:09:30.530

Reputation: 195

1They are portable they can go in any directory the user has access to – Ramhound – 2017-10-03T00:11:36.160

@Ramhound Yes, of course they can go anywhere, but my question is where they should go. – Rinke – 2017-10-04T12:26:28.220

1There is no correct answer to that question. – Ramhound – 2017-10-04T14:06:37.953

@Ramhound Why not? Is there no convention for this? I expect there is an idea behind the directory structure in Windows. Maybe not as rigorous as in Linux/Unix but the benefit of a conventional place for locally installed programs seems pretty obvious, right? – Rinke – 2017-10-04T14:30:28.383

Well the convention is to install applications to the Program Files directory in Windows. Application data likewise is sent to one of the folders within AppData. The problem with portable applications, is they break the traditional Windows convention already, so where you put a portable application is entirely left up to the user at that point. – Ramhound – 2017-10-04T15:36:50.070

@Ramhound Thanks. That would be a great answer. Would you like to create one? I would like to accept one. I'm also interested what the "traditional Windows convention" is. Maybe you could elaborate on that or include a link, to deepen my understanding of this topic (and the understanding of future readers of course). – Rinke – 2017-10-05T08:10:22.490

Answers

1

C:\Users\<username>\AppData\Local\Programs\ seems to be the proper location.

It's not entirely clear to me what the location would be if the app is to be available to all local users. I'm guessing C:\ProgramData, but I don't know if this directory is "roaming" or local.

Rinke

Posted 2017-10-02T22:09:30.530

Reputation: 195

2For all users add your program in a subdirectory to c:\ProgramData. Add a similar directory to c:\ProgramData\Microsoft\Windows\Start Menu\Programs and add links to the programs you want to see when you look for programs using the Start Menu Search. – trindflo – 2019-05-08T18:30:51.130

I went with C:\Portable for portables, which makes a perfect sibling to C:\Program Files and C:\Program Files (x86). (Should I want to separate 32-bit and 64-bit portables, I could create C:\Portable\Program Files and C:\Portable\Program Files (x86) but ... nah.)

N.B. I'm NOT saying this is a convention. It's just my personal preference (which is so good, it will probably become convention any day after I'm dropping this one right here ) – Henrik – 2019-11-15T18:33:36.537

6

There is no "official" place to put them. You can put them wherever you like. The only thing to be concerned with is access. Make sure you, and any other accounts that will access the portable apps, have the proper permissions to access and execute the apps.

Personally, I put them into a folder on the root of the hard drive, in something like "utils" as then I know where to find them if necessary. For apps I use across multiple machines, I may install them into Dropbox/Google Drive/OneDrive as to have access to them across all my machines.

Keltari

Posted 2017-10-02T22:09:30.530

Reputation: 57 019

3Also may want to add this locatoin to your PATH so you can run from anywhere – Hefewe1zen – 2017-10-03T01:26:11.933

1But is there a convention about where to put them, like there is in Unix? – Rinke – 2017-10-03T09:23:23.373