安装的应用程序在任何地方都没有写入权限

时间:2013-11-20 22:01:28

标签: c# permissions wix installation

我创建了一个C#应用程序,并没有记住所有调试都是使用管理员权限完成的,就像我在Windows中一直使用的那样。

现在我已经使用WiX安装了我的应用程序来创建.MSI安装程序,该应用程序没有对appdata,C:\ tmp等的写入权限。

我的应用程序需要在文件系统的某处写一些临时文件,如何在不需要管理员权限的情况下实现这一点?应用程序不执行任何需要管理员提升的操作。

2 个答案:

答案 0 :(得分:0)

尝试使用Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)。应该始终可以访问它。

您可以尝试使用System.IO.Path.GetTempPath()获取临时目录。

如果这不起作用,您可以尝试查找非系统分区并在那里创建隐藏文件夹。

答案 1 :(得分:0)

由于我只需要一个临时文件来读写,我能够使用Windows API为我的应用程序获取临时文件

string tempFile = Path.GetTempFileName();

现在我可以随意写下tempFile的路径。注意,退出时会删除此文件,并为每次调用Path.GetTempFileName()

创建一个新文件