views:

43

answers:

2

I'am using Visual Studio 2010, how to set or automatically change owner of the output file from Visual Studio (such as executable file) to user other than administrator?

all output files currently is owned by Administrator (due to Visual studio is launch by administrative privilege), so sometime I can't delete those files due to access permissions.

sometime visual studio itself can't delete it too (after i ran the executable) until few minutes, its really annoying when I need to rebuild those executable. anyone know what's the actual problem here?

error message is : error LNK1168: cannot open [path to file].exe for writing

A: 

Well, the file as it is created will be owned by the creator, if you are running Visual Studio as an administrator you are just stuck with it that way from an owner perspective.

Personally, unless you are using IIS for Web Applications I find myself running Visual Studio as a regular user more and more frequently, at least with VS 2010.

In regards to the issue where Visual Studio can not delete the file, I have seen this before with build errors, and sometimes if you have multiple projects that are referencing the same assembly. Your best bet there is try and track down the lock, and then you can either kill the lock, or restart Visual Studio.

I typically use Process Explorer (From SysInternals) to simply remove the handle on the file. (NOTE: this is NOT a "great" idea, but it works....)

Mitchel Sellers
AFAIK Visual Studio is always be run as administrator (one of the case if I need to run debugger), in second case, i don't have build error, and what do you mean by referencing the same assembly?, meanwhile I will try Process Explorer.
uray
I've tried Process Explorer, I can close the handle, but how do I know, which process that hold the handle?, its still annoying if I want to rebuild project by always release the handle by Process Explorer.
uray
If it is every time, you have something going on in your application, or in your visual studio solution. Do you have the application running outside of visual studio at the time? Is it referenced by any other project?
Mitchel Sellers
no other applications (other than VS), and its standalone project (and/or any project) just simple console application like `printf("hello world");` is affected, btw the file handle is owned by `System` Process if I look in Process Explorer
uray
A: 

no one give the right answer, so I close this question as a bug within operating system, not in Visual Studio, maybe the O/S is compromised since the file handle is owned by 'System' process (PID 4) and I can't release the file handle since it reporting the file handle is invalid using process explorer.

uray