1
我正在使用gpg(GnuPG)將.csv文件加密爲.gpg文件。 以下代碼在調試模式下生成加密文件。當我在Windows服務下安裝時,它會拋出異常。 「gpg:<> C:\ emp.csv:跳過:沒有公鑰 gpg:[stdin]:加密失敗:沒有公鑰」。當我在調試模式,如「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:的根目錄寫入權限受限制,請嘗試在別處寫入輸出 –