【问题标题】:VDProj directory has no write access after installationVDProj 目录安装后无写入权限
【发布时间】:2013-07-31 12:13:38
【问题描述】:

我有一个 VDProj 项目,我用它来为我的应用程序创建一个安装程序。我必须安装 Visual Studio 2010(在另一台机器上)才能运行它,因为它已从 VS2012 中删除.. 非常烦人.. 但这是一个不同的线程。

当最终用户安装程序时,它会在 c:\program files\mycompany\ 文​​件夹中创建文件,该文件夹继承了父目录的安全性,用户没有写入权限。

问题是,当我的程序运行时,它会创建一些日志文件,并在需要时进行软件更新。所以我的应用程序需要对目录的写权限。

我猜我可以将软件安装到“MyDocuments”文件夹或其他具有写入权限的文件夹中,但想知道是否有更好的方法?

【问题讨论】:

  • 这是完全正常的,Windows 的一项功能称为 UAC。你肯定听说过。使用AppData文件夹写入文件,使用Environment.GetFolderPath()
  • 如果这只是存储日志文件,或者其他东西,那很好,但我也在对软件进行自动更新,这需要我写入程序目录。跨度>

标签: c# visual-studio-2010 visual-studio setup-deployment vdproj


【解决方案1】:

当您的程序需要写入程序文件等受保护位置时,您可以使用 ShellExecute 功能和 runas 动词/操作启动它。这将触发来自 UAC 的同意对话框,要求管理员授予提升权限。如果它发生得太频繁会很烦人,所以只在必要时才这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-26
    • 2017-12-21
    • 1970-01-01
    • 2018-10-29
    • 2015-07-02
    • 2012-04-19
    • 2014-03-17
    • 2020-04-04
    相关资源
    最近更新 更多