2011-09-13 20 views
2

書かれたdllをWindows 7に登録するにはどうすればよいですか?C#のWindows 7でdllを登録

私はこのコードの断片を見つけましたが、Windows 7で動作しないようです。

public static void registerDLL(string dllPath) 
{ 
    try { 
    //'/s' : indicates regsvr32.exe to run silently. 
    string fileinfo = "/s" + " " + "\"" + dllPath + "\""; 

    Process reg = new Process(); 
    reg.StartInfo.FileName = "regsvr32.exe"; 
    reg.StartInfo.Arguments = fileinfo; 
    reg.StartInfo.UseShellExecute = false; 
    reg.StartInfo.CreateNoWindow = true; 
    reg.StartInfo.RedirectStandardOutput = true; 
    reg.Start(); 
    reg.WaitForExit(); 
    reg.Close(); 
    } 
catch(Exception ex) { 
    MessageBox.Show(ex.Message); 
    } 
} 
+2

あなたが管理者アカウントの下でこれを実行していますか? – pmartin

+0

はい。しかし、私はプロセスに権利を与えるためのダイアログが来たと思ったのですか? – leon22

+2

他のプロセスを昇格させる必要があります。これは非常に面白い方法ではなく、インストーラで適切に行うのはなぜでしょうか。 –

答えて

0

ツール「REGSVR32.EXEは」唯一のネイティブCOM-DLLのを登録することができます。 C#で書かれたDotNet COMオブジェクトを登録する場合は、代わりに "regasm.exe"を使用する必要があります。これを行うには、レジストリのHKEY_LOCAL_MACHINEに書き込むため、昇格する必要があります。

+0

こんにちは!ありがとうございました。私は.net dllとcom dllを持っています – leon22

関連する問題