开发者

C# vista does not giving access to create folder

In my project I have to create some files an开发者_C百科d directories into my app folder which is into program files. But in vista it is giving me error that I dont have access to create file. What should I do now for giving access ? Also it not let me access the registry !!


The program folder is not the place to store application data. There is an %APPDATA% folder for that - you are supposed to store your data there.

Use System.Environment.SpecialFolder and System.Environment.GetFolderPath to obtain the path leading to the correct directory.

Also, you need to differentiate between just creating a folder and putting some files in there (for example during installation) or writing to the program folder at runtime, while typically running under a limited account.

The reason for this difference is simply that installation routines and setups run with elevated privileges under Vista / Windows 7, thus those are allowed to create folders and files there. Still, those files are not supposed to be written to at runtime of your application.

So, what is it you want to do? Write data at runtime, or put some files (i.e. dependencies) in your application folder at a single time? If it's the first, comply with the rules and use the %APPDATA% folder. If it's the second, create an installer / setup routine.


Vista and Win 7 have the Program Files folder locked down so you can't write to it with a basic user account. If you need to create folders there, then you should do it in the installer. Otherwise you can use the user's Application Data folder in their profile.

The only other way is to modify the permissions on the installation folder at install time.


Can you turn the UAC off? Or Login as administrator? The chances are that you are creating the folder in the wrong place.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜