Зарегистрируйте dll на Windows 7 в C # - PullRequest
2 голосов
/ 13 сентября 2011

Как я могу зарегистрировать мои написанные dll в Windows 7?

Я нашел этот фрагмент кода, но он не работает в 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 ]

0 голосов
/ 13 сентября 2011
reg.StartInfo.Verb = "runas";

Это может быть грязный обходной путь.Узнайте о UAC, и вы должны узнать рекомендуемые подходы от Microsoft,

http://msdn.microsoft.com/en-us/library/aa511445.aspx

0 голосов
/ 13 сентября 2011

Инструмент "regsvr32.exe" может регистрировать только собственные COM-Dll. Если вы хотите зарегистрировать COM-объект DotNet, написанный на C #, вы должны использовать вместо этого «regasm.exe». Для этого вам нужно быть повышенным, потому что он пишет в реестр HKEY_LOCAL_MACHINE.

...