[英]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.