Я использую gpg (GnuPG) для шифрования CSV-файла в файл .gpg. Приведенный ниже код генерирует зашифрованный файл в режиме отладки. Когда я устанавливаю под управлением Windows, это бросает исключение. "Gpg: <> C: \ emp.csv: skipped: Нет открытого ключа gpg: [stdin]: ошибка шифрования: нет открытого ключа". Its работает при запуске службы в режиме отладки, как «consoleapp.exe -c»GPG-шифрование работает в режиме отладки консоли, но не в режиме деблокирования (служба окна)
string arguments = string.Format(" --yes --quiet --always-trust -e -o {0} -r \"{1}\" {2}", "C:\\emp.gpg", "KeyName", "C:\\emp.csv");
ProcessStartInfo pInfo = new ProcessStartInfo(@"C:\Program Files (x86)\GNU\GnuPG\gpg2", arguments);
pInfo.WorkingDirectory = @"C:\Program Files (x86)\GNU\GnuPG\";
pInfo.CreateNoWindow = false;
pInfo.UseShellExecute = false;
pInfo.RedirectStandardInput = true;
pInfo.RedirectStandardOutput = true;
pInfo.RedirectStandardError = true;
Process process = new Process()
{
StartInfo = pInfo,
EnableRaisingEvents = true
};
process.Start();
error = process.StandardError.ReadToEnd();
agent.LogConsole(process.StandardOutput.ReadToEnd());
Запись доступа к корню C: ограничена, попробуйте написать вывод в другом месте –