我需要在受限用户下获取已安装的软件列表。
我使用这段代码:
string fullString = string.Format("EXPORT \"{0}\\{1}\" \"{2}\" /y", hiveString, keyPath, Path.GetTempFileName());
Log(fullString);
var p = Process.Start(new ProcessStartInfo("reg.exe", fullString) {RedirectStandardOutput = true, UseShellExecute = false,WorkingDirectory = Directory.GetCurrentDirectory()});
Log("Output: " + p.StandardOutput.ReadToEnd());
p.WaitForExit();
在我的开发机器上,我看到正常输出:
操作成功完成
无论我使用什么帐户 - 管理员或受限用户。
然后我在受限用户下在 Windows XP 上运行了这个应用程序。并在日志中查看下一个:
“输出: ”
空行,是的。
当我在 cmd 中运行类似的查询时 - 它工作正常。我无法理解,我做错了什么。
为什么reg.exe
什么都不写?