【问题标题】:Does installing my app into Local Application Data folder has drawbacks?将我的应用程序安装到本地应用程序数据文件夹中是否有缺点?
【发布时间】:2012-06-19 07:47:04
【问题描述】:

我目前正计划为非管理员用户销售的 .NET 应用程序的安装过程更顺畅(阅读:“可能”),我偶然发现了 Google Chrome 和 Microsoft SkyDrive 等应用程序:

它们似乎没有安装到通常的“程序文件”文件夹中,而是安装到当前用户的“本地应用程序数据”文件夹中。

由于此文件夹基于每个用户,因此当前用户可写入,无需管理权限即可写入。

我已设法更改我的 NSIS 设置以使其正常工作并安装到此文件夹中,但我仍然不确定这是否是好的做法并且可能有缺点。

我的问题是:

您对为什么要安装或不安装到“本地应用程序数据”文件夹有什么建议吗?

(我确实希望这个问题与编程相关,足以保留在这里)

【问题讨论】:

    标签: installation nsis administrator


    【解决方案1】:

    您的问题并不清楚,但您应该将程序安装在 $LocalAppdata\Programs 而不仅仅是 $LocalAppData(Win7 中的 FOLDERID_UserProgramFiles 常量)

    我知道我喜欢可以以非管理员身份安装的应用程序,至少您知道该应用程序不需要驱动程序,或者它以其他方式与机器配置混淆。

    有些人喜欢进行机器范围的安装,并且在 NSIS 中给用户这个选项并不难:

    • RequestExecutionLevel highest
    • 添加一个带有两个单选按钮(只有我和所有用户)的自定义页面,如果用户不是管理员(UserInfo 插件),则将机器范围的选项设为灰色
    • 根据安装模式设置$InstdirSetShellVarContext
    • 使用SHCTX作为注册表HKEY

    如果他们的用户可以安装东西,一些 IT 人员/域管理员可能会不高兴,这是我能想到的唯一负面因素,但如果他们认为这是一个问题,恕我直言,他们应该正确锁定系统......

    【讨论】:

    • 谢谢,@Anders - 不开心的管理员也是我唯一能想到的。
    • 我在安装 Java 应用时遇到了问题,因为路径有时会超出良好的 ole 260 字符限制。
    猜你喜欢
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多