如何在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);
}
}
答案 0 :(得分:0)
工具“regsvr32.exe”只能注册本机COM-Dll。如果要注册用C#编写的DotNet COM对象,则必须使用“regasm.exe”。要做到这一点,您需要提升,因为它写入注册表中的HKEY_LOCAL_MACHINE。
答案 1 :(得分:0)
reg.StartInfo.Verb = "runas";
这可能是一个肮脏的解决方法。了解UAC,您应该找到Microsoft推荐的方法,