在Windows上,我可以安装哪些标准位置而不需要pipe理员权限?

我的应用程序目前写入文件到它的安装目录,这意味着程序文件不是一个有效的选项(我知道这是不理想的)。 但我更喜欢我的安装程序(Inno)不要求pipe理员权限,即没有UAC; 我认为Google Chrome可以做到这一点。

考虑到这两个限制,哪个常见的位置是合理的?

Solutions Collecting From Web of "在Windows上,我可以安装哪些标准位置而不需要pipe理员权限?"

如果您确实想要创建不需要管理员权限的每用户安装程序,则要使用的正确设置是:

[Setup] PrivilegesRequired=lowest DefaultDirName={userpf}\YourAppName 

请注意(解决Glytzhkof的担忧),这是一个本地文件夹,而不是一个漫游文件夹。 如果你想设置漫游,那么你仍然需要你的应用程序来保持它们(你的语言的等价物) {userappdata}\YourAppName文件夹。 无论如何,用户将不得不在他们打算使用它的每台机器上单独安装软件(但是无论如何,这通常是最好的选择)。

制作每个用户应用程序的一些缺点是:

  1. 安装时不能使用管理员权限。 特别是这意味着你不能安装许多其他的组件(运行库,库等),你可能想在你的应用程序中使用它们。 你也不能使用像regserverrestartreplace 。 (这并不一定意味着你仍然不能使用这些组件,只是如果用户还没有安装这些组件,那就更麻烦了。)

  2. 如果一台机器有多个用户(对于家庭和某些工作场所是通用的),那么他们将有重复的应用程序的独立副本,这些副本必须由每个用户单独升级。 这让IT部门更喜欢中央升级,如果你的应用程序太大,可能会浪费磁盘空间。

如果你不想制作一个正常的{pf}应用程序的原因只是你想懒惰,并将设置文件存储在程序的文件夹中,那么重新考虑这个决定可能会更好。 做“对”不难。

基本上有三种类型的文件: 1:用户数据2:应用程序设置3:二进制文件 。 除了少数例外。 我假设Harry建议用配置和设置文件写入用户的应用程序数据文件夹,而不是整个应用程序。 千万不要把二进制文件或数据放在这里,而是在这里保存设置文件。

在我看来,“ 漫游文件 ”的概念是一个坏主意 。 它堵塞了您的用户配置文件,并增加了每台计算机上的登录时间 ,并导致人们在同一时间同时登录多台计算机时出现各种同步问题 。 整个漫游概念在我看来只能在理论上起作用,但在数据管理上依赖于用户自律和应用质量。 如果应用程序是好的,很少编辑和合并的文件可以工作。 我已经看到它适用于拼写检查器自定义字典和类似的。 真正的解决方案是客户端/服务器应用程序与后端数据库持久设置的目的。 其他一切最终都会失败 – 如果这是一个轻量级的应用程序,可能无关紧要。

用户数据只能保存到“ 我的文档 ”位置。 只有几个配置设置应该漫游。 如果网络设置为允许“我的文档”漫游,系统管理员应立即拍摄:-)。 无论用户登录到哪台计算机,它都必须是可访问的服务器共享。

我已经在这里飞过了手柄,回答了太多你没有问的问题。 只是讨厌看到人们去找他们可能不知道的问题。 如果你有一个超级小的应用程序,基本上是“便携”的,我们称之为部署。 这意味着一个应用程序,您可以在U盘上运行一个文件夹,然后将所有内容保存在用户数据中,并使用一个设置文件和一个二进制文件保持应用程序的小巧轻量。 不需要UAC或管理员权限。