There are a couple of things you need to change here. SQL Server should be free to specify a file name - it's a poor idea to try and specify it yourself, particularly when you try to put a DB file under Program files.
This is because Program files (and folders under it) are generally read only - as a security measure - so Admin access is required to write to it. Allowing Sql to store it in it's own data area gets round that.
In addition, it only normally in development that an application is running in the same computer as the SQL Server instance - and if you are always expecting that then you have destroyed the point of using a server based system and installed a huge and complicated package for no good reason. So your fixed path is also unlikely to work anyway.
Think about what you are doing: if you need multiuser access (and thus a server based system) then let Sql handle where the db is stored. If you don't, then don't use SQL Server - use SqLite or even Access, and store your db in a sensible location:
Where should I store my data?[
^]