Discussion:
SendTo folder container for all users?
(too old to reply)
JJ
2018-06-30 17:30:11 UTC
Permalink
Raw Message
I want to have application shortcuts available on the "Send to" popup menu
and be available for all users in the system. And I don't have to add them
into the "SendTo" folder of each user profiles.

My thought is that I would put the shortcut files into the "SendTo" folder
in the all-users profile, just like the "Start Menu" folder in
"C:\ProgramData\Microsoft\Windows\Start Menu".

However, I see no "SendTo" folder in "C:\ProgramData\Microsoft\Windows". And
if I manually create that folder, and just by creating that folder alone, it
causes the "Send to" popup menu to list all subfolders within the current
user profile's folder. i.e. the direct subfolders listed in e.g.
"C:\Users\JJ". Such as Downloads, Contacts, Desktop, Favorites, Links, My
Documents, My Pictures, Searches, etc.

What the heck is happening here?
VanguardLH
2018-06-30 20:24:18 UTC
Permalink
Raw Message
Post by JJ
I want to have application shortcuts available on the "Send to" popup menu
and be available for all users in the system. And I don't have to add them
into the "SendTo" folder of each user profiles.
My thought is that I would put the shortcut files into the "SendTo" folder
in the all-users profile, just like the "Start Menu" folder in
"C:\ProgramData\Microsoft\Windows\Start Menu".
However, I see no "SendTo" folder in "C:\ProgramData\Microsoft\Windows". And
if I manually create that folder, and just by creating that folder alone, it
causes the "Send to" popup menu to list all subfolders within the current
user profile's folder. i.e. the direct subfolders listed in e.g.
"C:\Users\JJ". Such as Downloads, Contacts, Desktop, Favorites, Links, My
Documents, My Pictures, Searches, etc.
What the heck is happening here?
The SendTo context menu entry you see when right-clicking on a folder or
file is not a shortcut or link to a folder. It is a shell extension
defined in the registry for a context menu entry.

HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\SendTo

which points to the handler (or servicer) at:

HKEY_CLASSES_ROOT\CLSID\{7BA4C740-9E81-11CF-99D3-00AA004AE837}

That handler reads the objects defined in the SendTo folder which you
can see by entering shell:sendto in the Start menu's search box on in
the command prompt (Winkey+R) or in the Windows taskbar's address bar or
in File/Internet Explorer's address bar. The handler looks for
shortcuts defined in the %APPDATA%\Microsoft\Windows\SendTo folder.
Since each account can have its own SendTo folder, the handler uses the
one for the currently logged in Windows account.

Shortcuts in C:\Users\Default\AppData\Roaming\Microsoft\Windows\SendTo
are automatically added to *new* Windows accounts (aka user accounts).
That only happens when create a new account. A *copy* of the shortcut
is added to a newly created account, not a link back to the default
list. After that, for a shortcut to be global across all existing
accounts means having to add the shortcut to each
%APPDATA%\Microsoft\Windows\SendTo folder for each account (if admin,
change %APPDATA% to reflect the other account).

While there is an AppData subfolder under C:\Users\<accountname> and
also under C:\Users\Default, there is no AppData folder usable under the
C:\Users\All Users path. This is to prevent one user from changing a
program's behavior via appdata config files that would screw up another
user's setup of the same program.
JJ
2018-06-30 21:02:50 UTC
Permalink
Raw Message
Post by VanguardLH
While there is an AppData subfolder under C:\Users\<accountname> and
also under C:\Users\Default, there is no AppData folder usable under the
C:\Users\All Users path. This is to prevent one user from changing a
program's behavior via appdata config files that would screw up another
user's setup of the same program.
That's not what I'm doing. I'm actually doing this for all of users. Just
like what the "C:\ProgramData\Microsoft\Windows\Start Menu" folder does.
i.e. applications shorts for all users.
Mayayana
2018-06-30 22:26:32 UTC
Permalink
Raw Message
"JJ" <***@vfemail.net> wrote

| That's not what I'm doing. I'm actually doing this for all of users. Just
| like what the "C:\ProgramData\Microsoft\Windows\Start Menu" folder does.
| i.e. applications shorts for all users.


Makes sense to me. And that's how it was in 9x.
Despite there being App Data folders, SendTo was
in C:\Windows. But I just tried a couple of variations
in XP -- C:\Windows and All Users App Data -- and
neither has any effect. Set the folder hidden and RO,
still no effect. The only other possible trick I can
think of would be setting the flags value in

HKEY_CLASSES_ROOT\CLSID\{7BA4C740-9E81-11CF-99D3-00AA004AE837}

But that looks to me like it's really a boolean setting.
VanguardLH
2018-07-01 00:21:58 UTC
Permalink
Raw Message
Post by JJ
Post by VanguardLH
While there is an AppData subfolder under C:\Users\<accountname> and
also under C:\Users\Default, there is no AppData folder usable under the
C:\Users\All Users path. This is to prevent one user from changing a
program's behavior via appdata config files that would screw up another
user's setup of the same program.
That's not what I'm doing. I'm actually doing this for all of users. Just
like what the "C:\ProgramData\Microsoft\Windows\Start Menu" folder does.
i.e. applications shorts for all users.
I figured what YOUR trying to do. That doesn't mean you get what you
want to do in Windows 7. You can create any subfolder you want under:

C:\ProgramData\Microsoft\Windows\Start Menu\Programs

and even call it SendTo, so all Windows accounts will see that new
folder under Start -> All Programs. That's where the global folders are
put. However, the SendTo shell handler defined in the registry (when
you right-click a folder/file to get at SendTo in the context menu)
won't know anything about that folder.

If you name a global folder the same name as an account folder, they are
merged in the Start menu. That's why you have, say, a Utilities folder
in both the global and account paths, only one Utilities entry is shown
in the Start menu, and shortcuts in both the global Utilities folder and
account Utilities folder are shown together. Using Utilities as an
example global & local folder:

Global (all users) Utilities folder:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Utilities

My account's Utilities folder:
C:\Users\<myacct>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Utilities

There will be only one Utilities folder in the Start menu. If you
right-click on that Start menu folder, you can select the following
actions:

Open = open Windows Explorer to your account's folder.
Open all users = open Windows Explorer to the global (all users) folder.

Despite having two folders but with the same name, only one folder by
that shared name will appear in the Start menu's Programs listing.
Mayayana
2018-07-01 01:31:50 UTC
Permalink
Raw Message
"VanguardLH" <***@nguard.LH> wrote

| While there is an AppData subfolder under C:\Users\<accountname> and
| also under C:\Users\Default, there is no AppData folder usable under the
| C:\Users\All Users path.

It's changed to C:\ProgramData on Win7. Same
thing. New name. Microsoft like to keep you on
your toes by breaking things pointlessly.

It's certainly usable, but it's
only for global program resources and is read-only
for the normal user. That makes it of very limited
usefulness, but it can be used for things like media
files that all users may want to access in a program
but not change. Or at any rate, they won't be able
to change the original.
Those files would be deposited during install,
when running as admin. Other things that could be
stored there might be global program settings. For
instance, an installer might collect system info and
then save that in a config file in All Users App Data
for future reference.

None of that precludes having an All Users SendTo,
but as you said, it's being handled by shell32. That
functionality is internal. If the shell32 SendTo handler
only looks in current user app data there's probably
no way to alter that behavior.

I think you may have misunderstood what JJ wants
to do. As I understand it, he's not trying to put SendTo
in a Start Menu folder. He only used that as an example
of how personal and all users could be merged. His notion
that it might also work for AppData and All Users App Data
SendTo was reasonable. It just doesn't seem to work.
VanguardLH
2018-07-01 03:52:50 UTC
Permalink
Raw Message
Post by Mayayana
| While there is an AppData subfolder under C:\Users\<accountname> and
| also under C:\Users\Default, there is no AppData folder usable under the
| C:\Users\All Users path.
It's changed to C:\ProgramData on Win7. Same
thing. New name. Microsoft like to keep you on
your toes by breaking things pointlessly.
It's certainly usable, but it's
only for global program resources and is read-only
for the normal user. That makes it of very limited
usefulness, but it can be used for things like media
files that all users may want to access in a program
but not change. Or at any rate, they won't be able
to change the original.
Those files would be deposited during install,
when running as admin. Other things that could be
stored there might be global program settings. For
instance, an installer might collect system info and
then save that in a config file in All Users App Data
for future reference.
None of that precludes having an All Users SendTo,
but as you said, it's being handled by shell32. That
functionality is internal. If the shell32 SendTo handler
only looks in current user app data there's probably
no way to alter that behavior.
I think you may have misunderstood what JJ wants
to do. As I understand it, he's not trying to put SendTo
in a Start Menu folder. He only used that as an example
of how personal and all users could be merged. His notion
that it might also work for AppData and All Users App Data
SendTo was reasonable. It just doesn't seem to work.
In my 2nd reply, I mentioned how to put shortcuts into a folder under
the user account and into the same-named folder for the all users
account. In the Start menu, same-named folders get merged for the
current account and the all users account under the Programs folder in
each. I can have a Utilities named folder in both accounts but they
look to be just one folder in the Start folder. Just have to use the
same name for the folder in both locations.

I think it was back in Windows XP when having the same-named folder for
the user's account and under All Users would merge the shortcuts in each
under one folder shown in the Start menu; however, back then, there was
a divider that help differentiate which were for the current account and
which were global under the All Users account. Later Microsoft got rid
of the divider so you couldn't tell if a shortcut in the same-named
folder was in the user's account or under All Users. The only way to
tell now is to right-click on the same-named folder and use Open to have
the user's folder show in Windows Explorer or "Open all users" to have
the All User's folder show in Windows Explorer. I suppose you could
right-click on each shortcut in the same-named folder and look at its
Properties to see the path to the target for that shortcut.
Mayayana
2018-07-01 13:06:41 UTC
Permalink
Raw Message
"VanguardLH" <***@nguard.LH> wrote

| In my 2nd reply, I mentioned how to put shortcuts into a folder under
| the user account and into the same-named folder for the all users
| account. In the Start menu, same-named folders get merged for the
| current account and the all users account under the Programs folder in
| each. I can have a Utilities named folder in both accounts but they
| look to be just one folder in the Start folder. Just have to use the
| same name for the folder in both locations.
|

I think we all know that, but JJ was only using
it as an example of what he wanted to do with
SendTo.

| I think it was back in Windows XP when having the same-named folder for
| the user's account and under All Users would merge the shortcuts in each
| under one folder shown in the Start menu; however, back then, there was
| a divider that help differentiate which were for the current account and
| which were global under the All Users account. Later Microsoft got rid
| of the divider so you couldn't tell if a shortcut in the same-named
| folder was in the user's account or under All Users. The only way to
| tell now is to right-click on the same-named folder and use Open to have
| the user's folder show in Windows Explorer or "Open all users" to have
| the All User's folder show in Windows Explorer. I suppose you could
| right-click on each shortcut in the same-named folder and look at its
| Properties to see the path to the target for that shortcut.

I don't even screw around with that. If a
program puts a shortcut in my start menu I move
it to All Users. The whole design is an idiotic mess.
And since I usually have to clean up crap anyway
(links to a program's website, help, etc) that's a
good time to put all the links in one place.

So, for instance, the top level Libre Office link
with it's 8-9 sublinks gets cleaned off and I put one
link to LO Writer in Start Menu\Programs\Office.
(I don't use the rest of LO, but they refuse to
build it in pieces, so I have to install the full pile
of bloat.)
Java Jive
2018-07-01 12:16:17 UTC
Permalink
Raw Message
Post by JJ
I want to have application shortcuts available on the "Send to" popup menu
and be available for all users in the system. And I don't have to add them
into the "SendTo" folder of each user profiles.
My thought is that I would put the shortcut files into the "SendTo" folder
in the all-users profile, just like the "Start Menu" folder in
"C:\ProgramData\Microsoft\Windows\Start Menu".
However, I see no "SendTo" folder in "C:\ProgramData\Microsoft\Windows". And
if I manually create that folder, and just by creating that folder alone, it
causes the "Send to" popup menu to list all subfolders within the current
user profile's folder. i.e. the direct subfolders listed in e.g.
"C:\Users\JJ". Such as Downloads, Contacts, Desktop, Favorites, Links, My
Documents, My Pictures, Searches, etc.
What the heck is happening here?
As others have explained, Windows 7 no longer behaves exactly like
previous versions of Windows.

For one thing ...
C:\Users\<USERNAME>\SendTo
... is not actually the folder itself, it's a link for backward
compatibility to the real folder being used, which is ...
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\SendTo
... not that this makes much difference in either the principle of what
you're trying to do, or the practice of it not working, except that you
wouldn't've got the unexpected behaviour if you'd tried ...
C:\ProgramData\Microsoft\Windows\SendTo
... but you wouldn't've got the behaviour you wanted either!

I just tried creating a link in my user's SendTo to a global SendTo
folder, using mklink, but that doesn't mean that the global folder
becomes a sub-menu of the local SendTo folder, as, rather naively
without really thinking about it, I'd vaguely hoped it might, all that
does is send to the global folder a link to any file that you
<rt-click>, which, now that I've been forced to think about it, is
entirely logical.

I've not tried it myself, but you could try replacing the users SendTo
folder (the longer, real one) by a link to the All Users one, or alter
the registry settings already described by others to point to the folder
that you want, but if neither of those work, then I think you'll have
accept that you cannot do what you want.
JJ
2018-07-01 16:11:51 UTC
Permalink
Raw Message
Post by Java Jive
As others have explained, Windows 7 no longer behaves exactly like
previous versions of Windows.
For one thing ...
C:\Users\<USERNAME>\SendTo
.... is not actually the folder itself, it's a link for backward
compatibility to the real folder being used, which is ...
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\SendTo
.... not that this makes much difference in either the principle of what
you're trying to do, or the practice of it not working, except that you
wouldn't've got the unexpected behaviour if you'd tried ...
C:\ProgramData\Microsoft\Windows\SendTo
.... but you wouldn't've got the behaviour you wanted either!
I just tried creating a link in my user's SendTo to a global SendTo
folder, using mklink, but that doesn't mean that the global folder
becomes a sub-menu of the local SendTo folder, as, rather naively
without really thinking about it, I'd vaguely hoped it might, all that
does is send to the global folder a link to any file that you
<rt-click>, which, now that I've been forced to think about it, is
entirely logical.
I've not tried it myself, but you could try replacing the users SendTo
folder (the longer, real one) by a link to the All Users one, or alter
the registry settings already described by others to point to the folder
that you want, but if neither of those work, then I think you'll have
accept that you cannot do what you want.
You're right. It seems like the only way to have a global SendTo folder is
to modify the registry for each users'.

I just found out that Windows behaviour has been changed so that it accepts
a user's SendTo folder only if it's a true directory. i.e. is not a juction,
or a symlink. If the SendTo folder is a junction, the "Send to" popup menu
only shows the SendTo folder itself and the predefined storage drive
shortcuts. If the SendTo folder is a symlink, the "Send to" popup menu only
displays the predefined storage drive shortcuts.
Stan Brown
2018-07-01 22:29:12 UTC
Permalink
Raw Message
Post by Java Jive
As others have explained, Windows 7 no longer behaves exactly like
previous versions of Windows.
For one thing ...
C:\Users\<USERNAME>\SendTo
... is not actually the folder itself, it's a link for backward
compatibility to the real folder being used, which is ...
C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\SendTo
The second one is on my computer, but when I try to open C:\Users
\Owner\SendTo by typing that I get "Access denied".

There's no SendTo in C:\Users\Owner. I can make it visible by un-
checking "Hide protected operating system files" in Tools » Folder
Options, but when I click on it I again get "Access Denied". If
that's just a link to the real one, which I can access just fine, I
don't understand that.
--
Stan Brown, Oak Road Systems, Tompkins County, New York, USA
http://BrownMath.com/
http://OakRoadSystems.com/
Shikata ga nai...
JJ
2018-07-02 02:23:34 UTC
Permalink
Raw Message
Post by Stan Brown
There's no SendTo in C:\Users\Owner. I can make it visible by un-
checking "Hide protected operating system files" in Tools » Folder
Options, but when I click on it I again get "Access Denied". If
that's just a link to the real one, which I can access just fine, I
don't understand that.
"C:\Users\<username>\SendTo" is a junction (a type of link; not same as
symbolic link) which points to
"C:\Users\<username>\AppData\Roaming\Microsoft\Windows\SendTo".

That link is set up by Windows so that all users are not allowed to read the
directory contents (via NTFS security attributes). It's the same as
"C:\Documents and Settings" juction.
Char Jackson
2018-07-02 19:53:54 UTC
Permalink
Raw Message
Post by JJ
I want to have application shortcuts available on the "Send to" popup menu
and be available for all users in the system. And I don't have to add them
into the "SendTo" folder of each user profiles.
It seems like you have three possible options, each a bit different from
the others, but perhaps not horribly so.

Option 1 was to use "Send to", which apparently is problematic.

Option 2 could be to add one or more entries to the right-click context
menu. Depending on how many applications you're working with, you may
want to create a folder to collect everything in one place. On my
system, if I right click on an item I see entries for "Edit with
Notepad++", "Bulk Rename Here", and a folder titled "WinRar" that
contains all of the WinRar actions. I also see an entry for "Take
Ownership", which I believe came from installing the 'takeown' script
several years back, plus entries for Avira, SuperAntiSpyware, and MBAM.

If I wanted to add new entries, I'd export the relevant section of the
registry, using it as a guide to add my new applications, then import it
again. If the same applications are installed for everyone, just import
the same registry file for everyone.

Option 3 could be to extend the use of the Open With context menu using
the same approach as above. Export the relevant section of the registry,
make the necessary edits, then import it.


I haven't needed to do what you're trying to do, so I don't have
experience with it. Still, if all of these multiple programs on my
system can add themselves to the context menu, it seems like we could
add a few more.
--
Char Jackson
Loading...