Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Axapta Dynamics AX 2012 RegConfig不工作_Axapta_Microsoft Dynamics_Dynamics Ax 2012_Ax - Fatal编程技术网

Axapta Dynamics AX 2012 RegConfig不工作

Axapta Dynamics AX 2012 RegConfig不工作,axapta,microsoft-dynamics,dynamics-ax-2012,ax,Axapta,Microsoft Dynamics,Dynamics Ax 2012,Ax,我目前正在为使用Dynamics AX和2个镜像SQL Server的环境开发故障切换服务,在让AX按预期的方式工作时遇到了一些问题 我开发了一项服务,可实现以下功能: -尝试连接到SQL Server实例 -使用可访问的SQL server启动Dynamics AX 为此,我创建了两个AX配置文件(.axc),每个文件都指向一个SQL server 但是,当我尝试启动服务时,无论我使用哪种方式,AX都会开始使用使用AX服务器配置工具设置的配置 以下是我尝试启动AX服务的命令: sc start

我目前正在为使用Dynamics AX和2个镜像SQL Server的环境开发故障切换服务,在让AX按预期的方式工作时遇到了一些问题

我开发了一项服务,可实现以下功能: -尝试连接到SQL Server实例 -使用可访问的SQL server启动Dynamics AX

为此,我创建了两个AX配置文件(.axc),每个文件都指向一个SQL server

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

以下是我尝试启动AX服务的命令:

sc start AOS60$01 -regConfig=Config1
net start AOS60$01 /"-regConfig=Config1"
服务总是成功启动,但不关心regConfig参数

有人知道如何解决这个问题吗

问候,


Thomas T.

在找到使用-regConfig参数启动服务的方法之后,我终于放弃了,并开发了一种直接编辑包含启动配置值的注册表项的方法

 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));
            }
        }