I got sick of the default Windows 7 sound so I decided to change it. Lo and behold, you can't do it in the control panel like you could in XP. So I did some digging around and found this solution. It works for me and I recommend it to you. I gleaned all the really important bits and rearranged some of them in order to make a step by step guide.
The original thread can be found here:
http://windows7forums.com/windows-7-desktop-customization/2829-changing-startup-sound.html
All Windows 7 allows for a start up sound is the one they have as default unless you use this hack, All you can do under personalize sounds is check or un-check the play start up sound you can not change the default sound unless you change the sound in the dll I mentioned. You can change logon sound and other sounds by selecting sounds that are in WindowsMedia or where ever you store them
I will add two (second thing removed by MobsterOO7 because it's unnecessary) things to Super Sarge's instructions though:
1) Take ownership of your imageres.dll files before you start doing anything.
Take Ownership of any Windows 7 file.
How to Change Start up sound in Windows 7 This assumes you are using American English versuion of W-7 Language type 1033
All Windows 7 allows is for you check or un-check play start up sound in Windows 7 you have to do the following to change the default sound of your choice
1) Use the following beta program Reshacker from
Download Resource Hacker 3.5.0.82 Beta
2) Locate the file "imageres.dll" in C: WindowsSystem32 folder. For instance, C:WindowsSystem32imageres.dll. Copy that file into a different location, i.e. your desktop.
3) Download ResHacker .
4) Open ResHacker. Open the imageres.dll file in ResHacker.
5) Find the folder that reads "WAVE" and expand everything below that.
6) Right click 1033 (this could have a different name depending on your locale), and click Replace Resource. Click "Open file with new resource", and find the wave file you want to replace it with. Once you're done, in Resource Type, type "WAVE", in Resource Name type "5080", and under Resource Language type "1033" (or whatever number you have). Once done, click Replace.
7) Click File, then click Save. Now you can copy this file to Vista's System32 folder.
Keep the imageres_original.dll file ResHack left behind in case you want to revert back to the original sound.
8) For Windows 7 go back to C:WindowsSystem32 directory rename the imageres.dll to Imageres.old then copy and paste the new hacked Imageres.dll into C:windowssystem32 directory
The first time I did this I used a .wav file that was compressed to limit file size. The sound didn't play however so I switched to the uncompressed version of
my sound file. It worked fine, so if you run into this problem check to see if your file is compressed; that might be the problem. I don't know how big your file has to be before you start having issues but my imageres.dll file went from being 19ish megs to 25ish megs and its fine.