サービスのコードは次のとおりです
System.Diagnostics.Process proc = new System.Diagnostics.Process(); // Declare New Process
var arguments =
String.Format("--ip {0} --user {1} --passwd {2} --guest {3} --gpasswd {4} --action {5}",
controllerIPAddress, controllerUsername, controllerPassword, username, password, action);
proc.StartInfo.Arguments = arguments;
proc.StartInfo.FileName = "C:\\Program Files\\Netspot\\ControllerInterfaceService\\batchfile.bat";
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
WGETコマンドを呼び出すdosスクリプトを実行するWindowsサービスがありますが、すべて問題ありませんが、バッチスクリプトを使用して一時フォルダーを作成および削除する必要があります。
私が抱えている問題は、サービスがパスをにマッピングしていることです
c:\windows\system32
それ以外の
C:\\Program Files\\Netspot\\ControllerInterfaceService\\
これは、テストハーネス内で正常に機能します。
サービスがローカルフォルダーにマッピングする代わりにsystem32フォルダーを使用する理由に関するアイデア