C:\Program Files
在 Windows 平台上,大多数大型应用程序都带有自己的安装程序,它会在 下、可能还有其他位置设置文件夹,并可能添加一些注册表项等。
但是仍然有相当多的工具只包含一个.exe
,或者可能包含一个README
和一.dll
两个。
我该如何安装这些工具?直接在C:\Program Files
?全部位于C:\Program Files
?某个子文件夹下C:\Users\Me
?某个完全不同的地方?
或者也许对仅有一个的工具和.exe
那些也有其他文件的工具采取不同的方法,或者也许只有带有 s 的工具.dll
需要区别对待......
是否有任何标准可接受的方法来执行此操作?“最佳实践”?如果答案取决于 Windows 版本,则我使用的是 Windows 7。
特别是,那些看起来显而易见的答案似乎有一个陷阱:
我曾尝试在 下手动创建新的子文件夹C:\Program Files
。事实上,我认为我以前也这样做过,但 Windows 弹出了一个对话框目标文件夹访问被拒绝。这让我三思而后行,而不是盲目点击继续。
假设多年来比我更伟大的人已经多次遇到过这种情况,我想问社区是否已经接受了某种“最佳实践”。
答案1
使用C:\Tools
或者C:\Users\<user>\Tools
我正在使用许多没有安装程序的小程序,我推荐以下程序:
- 将它们全部保存到
C:\Tools
- 如果程序由单个文件组成,则将其直接放在
C:\Tools
- 如果程序由多个文件组成,则将其放在
C:\Tools\ProgramName
- SysInternals 工具有一个特殊类别,
C:\Tools\_SysInternals
因为它们有很多
我C:\Tools
在迁移时只是从一台机器移动到另一台机器,效果非常好。
实际样本(缩短列表):
C:\Tools\autoexec-elevated.bat C:\工具\清理.bat C:\Tools\BabelMap.exe C:\工具\netmon.exe 执行程序 C:\工具\putty.exe C:\工具\UDPixel.exe C:\工具\电池.vbs C:\工具\3dclip-1.5.1\ C:\工具\alternatestreamview\ C:\工具\blender-2.71-windows64\ C:\工具\Notepad++\ C:\工具\QueryExpress\ C:\工具\winscp555\ C:\工具\Xinorbis\ C:\Tools\_Sysinternals\accesschk\ C:\Tools\_Sysinternals\Autoruns\ C:\Tools\_Sysinternals\depends22_x64\ C:\Tools\_Sysinternals\depends22_x86\ C:\Tools\_Sysinternals\LogonSessions\
我希望这能给你一个想法。
编辑:扩展信息
我认为安装在你的问题中我应该如何安装这些工具?你实际上是指手动设置,比如复制文件。
经验法则:使用手动创建的文件夹来存放手动维护的文件。让系统文件夹供您不直接控制的(安装)过程使用。 您将立即获得识别哪些内容是“您的”(并且您可以自由复制它)以及哪些应用程序由安装程序管理的好处。
因此,手动安装(通过复制)时,请远离
C:\Program Files
- 此处发现的程序无法简单迁移,必须重新安装(为迁移提供了很好的提示)C:\Program Files (x86)
- 与上述相同,但在 64 位系统上,32 位程序放在此处(可以给出提示来确定特定应用程序是 32 位还是 64 位)C:\ProgramData
- 此处找到的应用程序存储表明这些程序以自己的方式维护部分数据。但您询问了将您的程式这不是个好主意。C:\Users\Steven\AppData
- 再次,投入程式在数据下不是一个好主意。如果你问的是数据,那么关于这条路径可以写出一些有趣的东西。但对于程序来说,答案是“不”。:)
可能的路径
C:\Users\Steven
- 可你的替代根如果这是一台共享计算机,并且您希望保持整洁,因此您决定不创建任何全局目录。您可以考虑C:\Users\Steven\Tools
为您的程序,或者C:\Users\Steven\Desktop\Tools
即使您想使用舒适的桌面可以通过快捷方式从 Windows 中的许多位置访问文件夹。但前者可能更好,您仍然可以将此文件夹的快捷方式放在桌面或任何需要的地方。
编辑:额外的有用提示:
如果你想让你的一些小程序在 Windows 10 中被识别开始菜单(用于逐步搜索其名称或使用Ctrl+ Shift+立即提升开始Enter),在那里添加快捷方式并启动一次(然后您就可以移除它们了。)
答案2
据我所知,没有通用的方法。
将您的应用程序放入C:\Program Files
是一种相当标准的方式。您将获得访问保护:普通用户(非特权用户)无法写入C:\Program Files
。因此,您无法意外删除或覆盖此类文件;而且它们可以更好地抵御病毒。这就是为什么当您尝试在 中创建文件夹时会收到警告 — 特权请求 — 的原因C:\Program Files
。
C:\Program Files
因此,最安全可执行文件的位置。
但是,它不适合在附近存储配置的(便携式)应用程序,.exe
因为它们无法保存配置更改。
C:\ProgramData
用于存储用户之间共享的应用程序数据。默认情况下,所有用户都可以在此处创建文件和文件夹,但只有创建它们的用户可以修改文件。
此文件夹可轻松用于共享应用程序/工具。同时,我从未在此文件夹中看到过应用程序。
如果您将应用程序放置在用户配置文件中,C:\Users\<username>
则系统的其他用户将无法访问它。您拥有配置文件的所有权限,因此您不会收到任何安全警告。这就是 Chrome 安装到用户配置文件中的原因:它可以轻松更新自身而无需提示提升权限。
在每个用户模式下,Windows 安装程序会将.msi
文件打包并安装到C:Users\<username>\AppData\Microsoft\Installer\<ProductId>
。因此,将非共享应用程序保留在用户的配置文件中是相当标准的。
我的用户配置文件中有utils
一个文件夹,里面有仅对我有用的应用程序。此文件夹已添加到我的用户PATH
环境变量中,以便于访问。
对于共享应用程序,我使用C:\tools
或类似的目录,可能在另一个驱动器上。它被添加到全局PATH
变量中。
答案3
我同意已经给出的某些答案。但对于非常小的程序(实用程序),我倾向于将它们放在 bin 文件夹中(在我的情况下是 E:\bin)。这些程序通常是单个 exe 文件或我自己的 python 脚本。我将此文件夹添加到 PATH 变量,以便我可以从命令行使用这些程序(我倾向于经常使用)。