In Windows 7, how do I make Sound Scheme changes for all users?

5

1

On a Windows 7 machine, I would like to make changes to a Sound Scheme and have them affect all users on that machine.

I've found that if I log in as a user without administrative privileges, I can make changes to which sounds play on which events that persist for that user across logon sessions on that machine. However, those changes do not apply to other users on the same machine.

If I log on as a user with administrative privileges, what would I do to make a change that will apply, by default at least, to all users on the machine?

Isaac Moses

Posted 2013-08-09T21:51:49.747

Reputation: 642

Answers

2

An alternative and reverse idea to the other more "proper" methods of changing a simple text file in the registry.
In my sytem I use revolving sounds , because repetition is not very fun. The method that i change the sounds with is to Rename the wave files to change the sound underneath the system, and the registry stays the same.

Renames are very fast operations, and after years of using such a odd method, I have not had a single problem (one missing file and you can guess what happens).

This is part of what one of the batch files looks like to change each boot, trimmed down to fit as an example.

rename C:\WINDOWS\media\EndSound\000.wav 011.wav
rename C:\WINDOWS\media\EndSound\001.wav 000.wav
rename C:\WINDOWS\media\EndSound\002.wav 001.wav
rename C:\WINDOWS\media\EndSound\003.wav 002.wav
rename C:\WINDOWS\media\EndSound\004.wav 003.wav
rename C:\WINDOWS\media\EndSound\005.wav 004.wav
rename C:\WINDOWS\media\EndSound\006.wav 005.wav
rename C:\WINDOWS\media\EndSound\007.wav 006.wav
rename C:\WINDOWS\media\EndSound\008.wav 007.wav
rename C:\WINDOWS\media\EndSound\009.wav 008.wav
rename C:\WINDOWS\media\EndSound\010.wav 009.wav
rename C:\WINDOWS\media\EndSound\011.wav 010.wav

I use another long batch and the task scheduler, to change the ~10 most repetitive sounds in the system hourly. No "for" loops, as you can see just raw simple renames.

I do not have multiple users, so I can only assume that a simple rename of a file everyone is pointing to would work in your case, and that a Copy or move would not be needed.

It was easier to organise a bunch of consecutive file items (001,002,003), than to work with a bunch of oddly named files even in a registry insert.

Notes:
I have to make copies of the whole media folder, before testing, get it all so it repeats many many times, check test, then I remove the extra backups knowing it is working.

From what I have seen in a regmon, The registry IS polled for the sounds every time, so changing the registry should do the same thing, a reboot or restart of the audio or shell should not be required, like it can be for other registry edits.

The reversing of that , I am trying to demonstrate here. To change the one file that you and the other users point to, instead of changing all the users registry pointers to that file.

Psycogeek

Posted 2013-08-09T21:51:49.747

Reputation: 8 067

2

You can create a .bat which changes all the sound schemes using the registry. The sounds are located at

HKEY_CURRENT_USER\AppEvents\Schemes\Apps\.Default\.Default\

You can write a batch file that goes through each entry and sets it to whatever you want. Then, place a shortcut to that bat into the

C:\Users\[User]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

folder for each user (shortcut so you only need to edit one file for all users). When the user log's in, the .bat is executed.

Example .bat file to stop all the sounds at: https://github.com/ReneNyffenegger/Configure-Windows/blob/master/sound.bat

(not mine, but found through quick google, credits to ReneNyffenegger who wrote it)

Zweihänder

Posted 2013-08-09T21:51:49.747

Reputation: 157

It seems like we both entered very similar answers on the very same minute. Remark to the poster: once the registry is updated, there is no need for a startup script, unless to override any changes done by the user during his logon, but he is still free to change them and they will stick until he logs off. But that .bat file will change them for all users once any user logs on - somewhat strange behavior. – harrymc – 2013-08-16T19:55:56.160

Also, this can only work for users having administrator privileges and will cause an elevation dialog if UAC is on. – harrymc – 2013-08-16T20:06:17.423

2

A method that uses the registry :

  • Scan the HKEY_USERS registry hive for all users (names look similar to S-1-5-19).
  • The key HKEY_USERS\S-1-5-19\AppEvents\Schemes\Apps\.Default contains all the definitions for the sounds of that user.
    For example, you will find the logon sound under WindowsLogon\.Current, whose (Default) value is %SystemRoot%\media\Windows Logon Sound.wav.
  • Change it to any other file that Windows can play (normally .wav).

If you wish to change the default sounds for some events, these can be found as .wav files in %SystemRoot%\media\. Replace the files you want, but that will only apply to users that use that default sound.

harrymc

Posted 2013-08-09T21:51:49.747

Reputation: 306 093