문제

파일의 읽기 전용 플래그를 변경할 수없는 것 같습니다. Vista와 XP에서 동일한 결과를 얻은 결과를 시도 했으므로 UAC 관련 문제라고 생각하지 않습니다.

내가 한 일은 작동하지 않는 것 같습니다. 아래 샘플을 참조하십시오. 누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까?

public bool UpdateResFile(string fileName, string language, string objectName, string NewValue)
{
    FileInfo fi = new FileInfo(fileName); 
    try
    {
        //Do Stuff                
        xDoc.Save(fileToUpdate);
    }
    catch (UnauthorizedAccessException)
    {
        //fi.IsReadOnly = false;
        File.SetAttributes(fileName, FileAttributes.Normal);
        //fi.Attributes -= FileAttributes.ReadOnly;
        return UpdateResFile(fileName, language, objectName, NewValue);
    }
    catch (System.Exception ex)
    {
        Console.WriteLine(ex.Message);
        return false;
    }
    return true;
}
도움이 되었습니까?

해결책

무단 ADACCESSException에서 파일의 읽기 전용 속성을 변경할 수 없습니다.

이 파일을 정상적으로 변경할 권한이 없으면이 파일 만 읽을 수있는 경우 응용 프로그램 도이 속성을 변경하지 않습니다.

친절한 안부. 호세마.

다른 팁

나는 당신이 찾고있는 것이이 MSDN 기사의 맨 아래에있는 사용자 컨텐츠 섹션에 설명되어 있다고 생각합니다.

http://msdn.microsoft.com/en-us/library/system.io.file.setattributes.aspx

무단으로 인정 될 때 파일에서 읽기 전용 플래그를 변경하려고합니다. 당신은 그렇게 할 수 없습니다. 당신이 할 수있는 일은 사용자에게 파일을 저장할 액세스 권한이 없다는 것을 사용자에게 알리고 다른 곳에 저장할 것을 제안하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top