2014-10-20 103 views
1

我目前正在为使用Dynamics AX和2个镜像SQL服务器的环境开发故障转移服务,并且我有一些问题让AX按照我期望的方式工作。Dynamics AX 2012 RegConfig不起作用

我开发了以下服务: - 尝试连接到SQL服务器实例 - 使用可访问的SQL服务器启动Dynamics AX。

为此,我创建了2个AX配置文件(.axc),每个配置文件指向一个SQL服务器。

但是,当我尝试启动服务时,无论使用哪种方式,AX总是使用使用AX服务器配置工具设置的配置。

这里是我试图启动AX服务的命令:

sc start AOS60$01 -regConfig=Config1 
net start AOS60$01 /"-regConfig=Config1" 

的服务总能成功启动,但不关心regConfig参数。

任何人有关如何解决这个问题的想法?

问候,

托马斯T.

回答

1

找了一段路后,开始与-regConfig参数的服务后,我终于放弃了,developped直接编辑注册表项控股的方法启动配置值。

private void UpdateRegistry(string parameter) 
     { 
      RegistryKey key = Registry.LocalMachine.OpenSubKey("SYSTEM\\CurrentControlSet\\services\\Dynamics Server\\6.0\\01", true); 
      key.SetValue("Current", parameter, RegistryValueKind.String); 
      key.Close(); 
     } 

public void StartLocalServiceWithCLI(string serviceToStart, string parameter) 
     { 
      try 
      { 
       UpdateRegistry(parameter); 

       Process process = new System.Diagnostics.Process(); 
       ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo(); 
       startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
       startInfo.FileName = "cmd.exe"; 
       startInfo.Arguments = string.Format("/C sc start {0} ", serviceToStart); 
       process.StartInfo = startInfo; 
       process.Start(); 

       logger.WriteInfo(string.Format("Process {0} starting, parameters [{1}]", serviceToStart, parameter)); 

      } 
      catch (Exception e) 
      { 
       logger.WriteError(string.Format("Error starting process {0}, parameters [{1}]\nError details :{2}", serviceToStart, parameter, e.Message)); 
      } 
     }