I work on C# project.
In first run of my application SQL Server 2008 wants to create a database, and I wanted SQL Server 2008 to create the MDF file in Programs Files. But Windows(XP) doesn't let me (or SQL) create the file and shows "Access is Denied" error.
Where is a safe place to save My MDF file? Is "Application Data" folder a safe place? Do I have permission to make a file in this folder? Or is there a better place to save my file?
I have a solution to your problem. If you are going to develop for a specific target environment, you have to have a measure of control over the environment, or have contacts with people in your organization who do. It's that simple. YOU have to make this happen, one way or the other. You should have identified this in the early analysis and design phases of your project. Someone should have said, where are we deploying code? Where are we deploying the database? Do we have the permissions to do that? If not, who do we talk to that does? How much lead time to we need to make the request so the group XYZ can deliver in time? What management will need to approve this? Do new global groups need to be created. And on and on. The Stack Overflow community cannot answer these questions for you, because we don't know your organization, and environment. YOU DO, or at least you should. Or at least you should know who to ask so that you can know. What kind of development is this, where you, the developer can't copy a file somewhere? Where is your deployment plan? Why haven't you talked to your helpdesk or sys admins? If there are none, then give your admin rights to the PC in question and do as you please. It doesn't really matter where it is, as long as doesn't invite too much scrutiny (like in the root). YOU HAVE TO OWN THIS, or get buy in from those who do control who has access to which directories. Hopefully you will not take this as me jumping on your case, but just trying to give you a real perspective. I have worked for a number of companies, and there are always little fiefdoms, where certain people control certain resources and you have to navigate the maze. But do just that, and get the job done. This is why you are getting so many downvotes. You are overlooking something extremely obvious - instead of looking outward to Stack Overflow, this is something that you should be querying people inside that space where you are trying to deliver. I hope this helps.
All else fails, install SSMS Express and set up the db that way, and use (local)\SQLExpress in your connection string, and kill the mdf option, then uninstall SSMS. A lot of work, but it will get you results. Make a way. Good luck.