vb.net - gpg 加密文件不在目录中
问题描述
我有一个用 VB.net 编写的 Windows 服务,该服务将读取一些 XML 文件并创建 gpg 加密文件。以下是执行此操作的代码
Dim OutputFileWithPath As String = outputFolder + "\" + xmlFile.Name + ".gpg"
Dim gpgExecutable As String = getAppSetting("GnuPGLocation") + "gpg"
Dim gpgOptions As String = " --recipient " +
getAppSetting("Recipient") + " --output """ +
OutputFileWithPath + """" + " --encrypt """ +
inputFolder + "\" + xmlFile.Name + """"
Dim pInfo As ProcessStartInfo = New ProcessStartInfo(gpgExecutable, gpgOptions)
pInfo.CreateNoWindow = True
pInfo.UseShellExecute = False
pInfo.WindowStyle = ProcessWindowStyle.Hidden
_processObject = Process.Start(pInfo)
_processObject.WaitForExit()
程序执行后,当我尝试查看输出文件夹时,我什么也看不到。但是当我运行相同的命令时,它会询问文件已经存在是否要覆盖。当我执行与控制台应用程序相同的代码时,它工作正常。但是当我将它作为 Windows 服务运行时,我遇到了这个问题。但是相同的命令适用于 D: 驱动器作为输出文件夹。文件夹的权限会不会有问题?
解决方案
问题是因为用于运行 WindowsService 的用户帐户,如果我们使用配置了私钥和公钥的用户 ID 运行它,它就可以工作。
推荐阅读
- html - 引导照片库的意外行为
- csv - 如何在没有表名的情况下获取 hive 表的 csv 输出作为列的一部分
- excel - Excel公式包含无法识别的文本
- ruby - 在 Watir 中检测到 DOM 变化
- javascript - 保持侧导航打开到当前 url Javascript
- javascript - 带有 Gatsby + Contentful + react 响应式轮播的英雄横幅轮播
- python - 检测同一视图的两个不同拍摄图像之间的差异
- puppeteer - Mochawesome 报告可视化。(使用 CodeceptJS 和 Puppeteer)我能够创建报告,但无法正确查看
- pyspark - 如何从 Databrick/PySpark 覆盖/更新 Azure Cosmos DB 中的集合
- javascript - 动态生成的删除按钮应删除其 p 标签