Я пытаюсь скопировать файл xml из локальной папки в общий путь, используя код С# в моей службе Windows.
Он вызывает файл CMD и возвращает Access Denied. Но то же самое работает, если я пытаюсь скопировать на локальный.
private void CopyFile(string path)
{
try
{
Process process = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = false;
startInfo.FileName = Path.Combine(Environment.CurrentDirectory, "Batch", "Run.cmd");
startInfo.Arguments = "/c " + path;
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardOutput = true;
process = Process.Start(startInfo);
process.WaitForExit();
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd(); // ACCESS DENIED
int exitCode = process.ExitCode; // 1
process.Close();
}
catch (Exception ex)
{
string x = ex.Message;
}
}
Run.cmd
@set sourcePath=%1
copy /y %sourcePath%\MyTest.xml \\networksharedPath\XML\MyTest.xml
Установщик проекта службы Windows настроен на использование учетной записи LocalSystem.
Как заставить службу скопировать файл из локальной папки на общий компьютер? Любые проблемы с кодом С# или установкой Windows Process Installer?
Примечание: вручную щелкнуть копии файлов cmd в общей папке. Если я изменяю как сетевую службу и запускаю, я получаю такую же ошибку Access is Denied
. Пробовал шаги настройки, приведенные в qaru.site/info/17057/... Но не повезло..