【发布时间】:2013-06-11 00:59:22
【问题描述】:
我的更新过程有问题,我的程序是用 c# 编写的,我使用 innosetup 作为我的程序安装程序,一切都很好,除了我无法更新我的文件,因为它们在程序文件中..
我已经知道数据应该保存在 ApplicationData 或 CommodApplicationData 目录中,并且我将它们用于我的配置文件,我设计了一个单独的应用程序 (update.exe) 来将新文件下载到 ApplicationData(这里没问题)但是我希望 update.exe 能够将下载的文件移动到我的程序文件应用程序文件夹中..(update.exe 也在程序文件安装目录中)
我知道我需要管理员权限才能做到这一点,我应该向用户询问,但问题是 Firefox 等其他应用程序已经这样做了,而无需向用户询问管理员权限!他们是怎么做到的?!
提前致谢!
【问题讨论】:
-
在我们的应用程序中,我像 Google Chrome 一样执行此操作(例如):不要安装在
ProgramFiles文件夹中,而是安装在用户的文件夹中(例如ApplicationData)。也适用于非管理员用户。 -
@Uwe Keim 我也在考虑这个问题,很好,我想如果没有其他解决方案,这是最好的一个!然而谷歌浏览器也安装在程序文件中..我错过了什么!? :D
-
据我回忆,我认为谷歌浏览器首先尝试
ProgramFiles,如果它(默默地)失败,它会安装到ApplicationData。在我们的应用程序中,我什至懒得尝试。
标签: c# file-permissions