将配置文件写入C:\ Program Files(x86)\ MyApp \ myapp.cfg,但具有管理员权限

巴吉

我为我的软件制作了一个安装程序(使用Inno Setup),该安装程序最终安装在

C:\Program Files (x86)\MyApp\myapp.exe

像在Windows平台上一样,并且运行良好。

当我的软件尝试在此处写入其配置文件时出现问题:

C:\Program Files (x86)\MyApp\myapp.cfg

这里一个Permission denied错误到来!

我发现的唯一解决方案是“以管理员身份运行软件”,但我不喜欢这种解决方案:我不想让最终用户每次使用该软件时都必须以“以管理员身份运行”。

C:\Program Files (x86)\MyApp\myapp.cfg没有权利要求最终用户“以管理员身份运行”而有权写入的干净解决方案

伊尔塞格

正如@TLama所说,永远不要尝试写入应用程序文件夹。这从来都不是推荐的做法,并且自从Vista Microsoft禁用它以来(首先允许您进行写操作,但实际上将写操作重定向到另一个目录,此功能在以后的OS版本中似乎已被删除,这也是一件好事。支持地狱)。

要检索已知的文件夹路径,请使用SHGetFolderPath函数。根据应用程序数据是在所有用户之间共享还是由运行该应用程序的用户使用,您应该分别SHGetFolderPath使用CSIDL_COMMON_APPDATA或进行调用CSIDL_LOCAL_APPDATA避免直接在这些文件夹中写入,而要创建类似的子文件夹<your company>\<your app>并改用这些文件夹

请注意,SHGetFolderPath已经弃用了该选项,并且SHGetKnownFolderPath可以代替它使用,但前提是您不需要与Vista之前的Windows版本兼容。

为了完整起见,该线程还介绍了如何导入SHGetFolderPathPython。

更新:已纠正,避免使用环境变量,SHGetFolderPath而是按@RemyLebeau @TLama的注释进行操作

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Wix卸载未删除文件,始终假定为program files \ myApp文件夹

来自分类Dev

如何以编程方式打开带有myapp文件夹的默认“文件”应用程序?

来自分类Dev

如何在AirDrop上显示myapp?我的Plist文件有什么问题?

来自分类Dev

有些文件位于我的iOS应用中“ MyApp”目录的外部-为什么?

来自分类Dev

当位于 C:\Program Files (X86)\ 中的 App 目录中时,PostgreSQL 安装错误并带有“--”前缀

来自分类Dev

从C:\ Program Files(x86)\或C:\ Program Files运行后,WPF应用程序崩溃

来自分类Dev

由于NFC权限,可能“不幸的是MyAPP已停止工作”

来自分类Dev

文件结构MEAN .IO后均值初始化MyApp

来自分类Dev

Xamarin访问myapp.Droid文件夹

来自分类Dev

Flutter-将状态放入MyApp是否可以?

来自分类Dev

ImportError:没有名为myapp.settings的模块

来自分类Dev

Django“没有名为myapp.models的模块”

来自分类Dev

web2py-删除管理应用程序将导致无法访问myapp / appadmin

来自分类Dev

由于PATH中已经存在C:\ Program Files(x86),因此将目录添加到PATH有条件地失败

来自分类Dev

晦涩的Xcode构建错误:“由于没有这样的文件,因此无法打开文件“ myapp-SBPartialInfo.plist”。

来自分类Dev

无法了解MyApp崩溃的位置

来自分类Dev

如何传递参数runApp(MyApp());

来自分类Dev

错误Android myapp已停止

来自分类Dev

Android:不幸的是,MyApp已停止

来自分类Dev

使用cygwin导航到目录“ C / Program Files(x86)”时出现问题?

来自分类Dev

在Ubuntu 13.04中如何或在哪里找到C:\ Program Files(x86)?

来自分类Dev

在Ubuntu 13.04中如何或在哪里找到C:\ Program Files(x86)?

来自分类Dev

使用cygwin导航到目录“ C / Program Files(x86)”时出现问题?

来自分类Dev

如何将文件放入 Android/Data/com.mycomp.myapp?

来自分类Dev

具有自定义字段的AbstractUser模型显示myapp.class.None

来自分类Dev

“ ruby -v -c 2.0.0p353@myapp”给出“无法加载此类文件错误”

来自分类Dev

java.io.FileNotFoundException:/storage/sdcard/MyApp/questions.txt:打开失败:EACCES(权限被拒绝)

来自分类Dev

Wix卸载未删除文件,始终假定程序文件\ myApp文件夹

来自分类Dev

如何在 Redux-thunk 和 Polymer 2.x 中定义 MyApp

Related 相关文章

  1. 1

    Wix卸载未删除文件,始终假定为program files \ myApp文件夹

  2. 2

    如何以编程方式打开带有myapp文件夹的默认“文件”应用程序?

  3. 3

    如何在AirDrop上显示myapp?我的Plist文件有什么问题?

  4. 4

    有些文件位于我的iOS应用中“ MyApp”目录的外部-为什么?

  5. 5

    当位于 C:\Program Files (X86)\ 中的 App 目录中时,PostgreSQL 安装错误并带有“--”前缀

  6. 6

    从C:\ Program Files(x86)\或C:\ Program Files运行后,WPF应用程序崩溃

  7. 7

    由于NFC权限,可能“不幸的是MyAPP已停止工作”

  8. 8

    文件结构MEAN .IO后均值初始化MyApp

  9. 9

    Xamarin访问myapp.Droid文件夹

  10. 10

    Flutter-将状态放入MyApp是否可以?

  11. 11

    ImportError:没有名为myapp.settings的模块

  12. 12

    Django“没有名为myapp.models的模块”

  13. 13

    web2py-删除管理应用程序将导致无法访问myapp / appadmin

  14. 14

    由于PATH中已经存在C:\ Program Files(x86),因此将目录添加到PATH有条件地失败

  15. 15

    晦涩的Xcode构建错误:“由于没有这样的文件,因此无法打开文件“ myapp-SBPartialInfo.plist”。

  16. 16

    无法了解MyApp崩溃的位置

  17. 17

    如何传递参数runApp(MyApp());

  18. 18

    错误Android myapp已停止

  19. 19

    Android:不幸的是,MyApp已停止

  20. 20

    使用cygwin导航到目录“ C / Program Files(x86)”时出现问题?

  21. 21

    在Ubuntu 13.04中如何或在哪里找到C:\ Program Files(x86)?

  22. 22

    在Ubuntu 13.04中如何或在哪里找到C:\ Program Files(x86)?

  23. 23

    使用cygwin导航到目录“ C / Program Files(x86)”时出现问题?

  24. 24

    如何将文件放入 Android/Data/com.mycomp.myapp?

  25. 25

    具有自定义字段的AbstractUser模型显示myapp.class.None

  26. 26

    “ ruby -v -c 2.0.0p353@myapp”给出“无法加载此类文件错误”

  27. 27

    java.io.FileNotFoundException:/storage/sdcard/MyApp/questions.txt:打开失败:EACCES(权限被拒绝)

  28. 28

    Wix卸载未删除文件,始终假定程序文件\ myApp文件夹

  29. 29

    如何在 Redux-thunk 和 Polymer 2.x 中定义 MyApp

热门标签

归档