First Method
1) For best results, boot out of Window 7 and into an alternative OS, such as XP. (This is assuming you dual boot.)
2) Locate the file "imageres.dll" in Vista's System32 folder. For instance, C:\Windows\System32\imageres.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 "5051", 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) You might have some Permission issues while replacing the old file, if you have linux live cd handy, copy the new dll to a thumb drive & boot off from it and replace the file.
OR
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 / 3.4.0.79 - Analyze, change, add, erase or extract resources in EXE and DLL files - Softpedia
2) Locate the file "imageres.dll" in C:\ Windows\System32 folder. For instance, C:\Windows\System32\imageres.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:\Windows\System32 directory rename the imageres.dll to Imageres.old then copy and paste the new hacked Imageres.dll into C:\windows\system32 directory
Second Method
1.In Windows-7 there is only the choice: play the windows start up sound - yes or no. Make it No!
2. You can disable the startup sound and add a registry command to hklm\software\microsoft\windows\currentversion\run to play a sound file. If this opens Media Player and leaves it open then use the command below to play a '.wav' file. Replace ringout and chooose your path and '.wav'.
sndrec32.exe /embedding /PLAY /CLOSE "C:\Documents and Settings\David\Desktop\ringout.wav"
You can also use group policy or the task scheduler.