2011-09-13 107 views
2

我怎樣才能註冊我的書面dll的Windows 7?在Windows 7註冊dll在C#

我發現這段代碼,但它似乎無法在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