Q:

Where should I save my serialized data file? 

For dot net programs, where is the "right" place to store serialized data?  
In the /user/username folder?  Program Files/MyAppName/?  Someplace else? 

A:

This blog post from Microsoft's Pat Altimore suggests a number of locations, depending on what type of data you are trying to store. 
.NET provides special Enum values which you can pass into System. Environment. GetFolderPath, to get the desired 'special' folder. 
In short:

If it's user-specific data, use SpecialFolder. ApplicationData.   
If it's machine-specific data, use SpecialFolder. CommonApplicationData. 

For the machine-specific data, you will probably also need to run the program as administrator, otherwise you won't have write-access to that location.