Windows程序员,安装到C:\ Windows是一个好习惯吗?

我主要在有/ usr / bin和/ bin目录的Linux上开发。 我知道Windows除了C:\ Windows和C:\ Windows \ System32之外没有任何其他的实际等价物。 许多命令行程序,我端口到Windows,我只是写一个安装程序,将它们复制到C:\ Windows,因为我不想设置一个PATHvariables。 我知道正确的方法是设置一个PATHvariables,但对我来说C:\ Windows是==到/ usr / bin。 Windows程序员需要考虑什么? 这是一个好习惯,有没有真正的缺点,我应该实际上安装程序文件,并通过registry而设置一个pathvariables?

安装到程序文件(甚至用户的AppData文件夹以进行用户特定的安装),并提供一个将目录添加到%PATH%选项

安装到Program Files有许多好处:

  • 不会与任何碰巧在C:\ Windows中的其他文件发生冲突
  • 不会覆盖用户PATH上的其他工具
  • 使您的程序组件更明显,而不是随机分散在C:\ Windows中的文件
  • 避免依赖冲突(DLL地狱),如果你需要包括你自己的DLL

为用户提供添加到%PATH%的选项允许用户跳过该步骤,如果他们遇到与您的应用程序的其他类型的冲突(这是不太可能与程序文件,但仍然可能)。 如果你安装到C:\ Windows,你将无法避免这种冲突。

通常,您应该将应用程序安装到正确的Program Files目录中; 但也有例外。 并且在Windows上有很多环境变量已经设置了许多路径, %PROGRAMFILES%是其中之一(和%PROGRAMFILES(X86)%是另一个,因此是“合适的”路径)。