张博的技术菜园子

导航

[转载]C#中注册Dll的问题

我在C#下做的POS客户端程序调用别人的一个api_com.dll程序,然后,我又使用了一个第三方的工具实现了客户端的自动更新,现在就出现问题了,每次有新版本时,该自动更新程序总是把原来的目录重新拷贝一份到新目录中,这样导致新产生的目录中的api_com.dll没有注册,程序无法运行,请问,有什么方法可以让api_com.dll只用注册一次(在安装时),或者说可以将它注册为全局的。或者,在C#中,如何写代码来实现dll的注册功能??????????? 

ExeCommand("regsvr32 path\***.dll")
public string ExeCommand(string commandText)
        {
            Process p = new Process();
            p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            string strOutput = null;
            try
            {
                p.Start();
                p.StandardInput.WriteLine(commandText);
                p.StandardInput.WriteLine("exit");
                strOutput = p.StandardOutput.ReadToEnd();
                p.WaitForExit();
                p.Close();
            }
            catch(Exception e)
            {
                strOutput = e.Message;
            }
            return strOutput;
        }

posted on 2010-01-19 09:41  蕊蕊  阅读(357)  评论(0编辑  收藏  举报