[英]Dynamics AX 2012 RegConfig does not work
我目前正在为使用Dynamics AX和2个镜像SQL服务器的环境开发故障转移服务,并且在使AX以预期的方式工作时遇到一些问题。
我已经开发了一种服务,该服务执行以下操作:-尝试连接到SQL Server实例-使用可访问的SQL Server启动Dynamics AX。
为此,我创建了2个AX配置文件(.axc),每个文件都指向一个SQL Server。
但是,当我尝试启动服务时,无论使用哪种方式,AX始终会开始使用通过AX服务器配置工具设置的配置。
这是我尝试启动AX服务的命令:
sc start AOS60$01 -regConfig=Config1
net start AOS60$01 /"-regConfig=Config1"
服务始终成功启动,但不关心regConfig参数。
作为任何人有关如何解决此问题的想法?
问候,
托马斯·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));
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.