我创建了一个C#应用程序,并没有记住所有调试都是使用管理员权限完成的,就像我在Windows中一直使用的那样。
现在我已经使用WiX安装了我的应用程序来创建.MSI安装程序,该应用程序没有对appdata,C:\ tmp等的写入权限。
我的应用程序需要在文件系统的某处写一些临时文件,如何在不需要管理员权限的情况下实现这一点?应用程序不执行任何需要管理员提升的操作。
答案 0 :(得分:0)
尝试使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
。应该始终可以访问它。
您可以尝试使用System.IO.Path.GetTempPath()
获取临时目录。
如果这不起作用,您可以尝试查找非系统分区并在那里创建隐藏文件夹。
答案 1 :(得分:0)
由于我只需要一个临时文件来读写,我能够使用Windows API为我的应用程序获取临时文件
string tempFile = Path.GetTempFileName();
现在我可以随意写下tempFile
的路径。注意,退出时会删除此文件,并为每次调用Path.GetTempFileName()