目前正在计划为.NET应用程序安装过程我为非管理员用户销售更顺畅(读取:“可能”),我偶然发现了Google Chrome和Microsoft SkyDrive等应用程序:
它们似乎没有安装到通常的“Program Files”文件夹中,而是安装到当前用户的“Local Application Data”文件夹中。
由于此文件夹是基于每个用户的,因此它对于当前用户是可写的,并且不需要管理权限来写入。
我已设法更改我的NSIS设置以正常工作并安装到此文件夹中,但我仍然不确定这是否是一个好的做法,可能有缺点。
我的问题是:
您是否有关于为何要安装或不安装到“本地应用程序数据”文件夹中的建议?
(我希望这个问题与编程有关,足以保留在这里)
答案 0 :(得分:5)
您的问题并不清楚,但您应该在$ LocalAppdata \ Programs中安装该程序,而不仅仅是$ LocalAppData(Win7中的FOLDERID_UserProgramFiles常量)
我知道我喜欢可以作为非管理员安装的应用程序,至少你知道应用程序不需要驱动程序,或者它在其他方面与机器配置混淆。
有些人更喜欢在机器范围内进行安装,并且在NSIS中为用户提供此选项并不难:
RequestExecutionLevel highest
UserInfo
插件)$Instdir
和SetShellVarContext
SHCTX
作为注册表HKEY 一些IT人员/域管理员可能不满意,如果他们的用户可以安装东西,这是我能想到的唯一负面因素,但他们应该正确锁定系统,如果他们认为这是一个问题恕我直言......