2016-08-10 9 views
0

に私はここに別のフォルダに実行可能ファイルをコピーしたいと題したように私のコードです:C#のファイルコピー特別Forder

public static void CopyThis() 
    { 
     File.Copy(Convert.ToString(System.Reflection.Assembly.GetExecutingAssembly().Location), Convert.ToString(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + @"\fileexe.exe"), true); 



     File.SetAttributes(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\\NipClient.exe", FileAttributes.Hidden); 

     File.SetAttributes(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\\NipClient.exe", FileAttributes.System); 

     File.SetAttributes(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles) + "\\NipClient.exe", FileAttributes.ReadOnly); 

    } 

しかし、それは常に例外をスロー:

Additional information: Access to the path 'C:\Program Files\fileexe.exe' is denied. 

ivはすでにadmin権限でアプリケーションを実行しようとしています。 ":\プログラムファイル\ fileexe.exe C" は既に存在して

+1

ていますか?それは実行中ですか、別のプロセスによってロックされていますか? –

+2

パスのいくつかの部分にペースト・ムーブをコピーできません。プログラム・ファイルの1つで、アクセス権のある場所を使用する必要があります。 – Mostafiz

+0

'Assembly.GetExecutingAssembly()。Location'は文字列です。文字列を文字列に変換しています。実際には、文字列に変換するものはすべて既に文字列です。また、Program Filesへの書き込みは悪く、OSはそうしないようにできる限りのことをすべて行います。そうしないでください。バックアップする。あなたはProgram Filesに書き込んで何を達成しようとしていますか? – Will

答えて

0

そしてpathesを作成するPath.Combine()を使用しては良い方法:)

+0

こんにちはmaビット混乱した理由は、私は同じコードで働いてEnvironment.SpecialFolder.MyPicturesとして別の特別なフォルダを使用しようとした –

関連する問題