C:\Program Files
在 Windows 平台上,大多數大型應用程式都帶有自己的安裝程序,該安裝程式會在 下(可能是其他位置)設定資料夾,並可能添加一些註冊表項等。
但仍有相當多的工具僅由一個.exe
或可能還有一個README
和一個.dll
或兩個組成。
我該如何安裝這樣的工具?直接在C:\Program Files
?全部位於C:\Program Files
?下的一個子資料夾中下面某處C:\Users\Me
?完全不同的地方?
或者對於那些只有 an 的工具和那些也有其他文件的工具可能有不同的方法.exe
,或者可能只有那些帶有.dll
s 的工具需要區別對待...
有沒有標準的可接受的方法來做到這一點? “最佳實踐”?如果答案取決於 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:\工具\cleanup.bat C:\工具\BabelMap.exe C:\工具\netmon.exe C:\工具\notifu.exe C:\工具\putty.exe C:\工具\UDPixel.exe C:\工具\電池.vbs C:\工具\3dclip-1.5.1\ C:\工具\alternatestreamview\ C:\工具\blender-2.71-windows64\ C:\工具\記事本++\ 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 Installer 將軟體包、.msi
檔案安裝到C:Users\<username>\AppData\Microsoft\Installer\<ProductId>
.因此,將非共享應用程式保留在用戶個人資料中是相當標準的。
utils
我的用戶設定檔中有一個資料夾,其中包含僅對我有用的應用程式。該資料夾已新增至我的使用者PATH
環境變數以便於存取。
對於共享應用程序,我使用C:\tools
或類似的目錄,可能位於另一個驅動器上。它被添加到全域PATH
變數中。
答案3
我同意在某些方面已經給出的答案。但對於非常小的程式(utils),我傾向於將它們放入 bin 資料夾(在我的例子中是 E:\bin)。這些程式通常是單一 exe 檔案或我自己的 python 腳本。我將此資料夾新增到 PATH 變數中,這樣我就可以從命令列使用這些程式(我經常使用它)。