在正确安装普通软件时,其可执行文件应位于程序文件文件夹中;其用户数据应位于用户的应用程序数据文件夹中;其非用户特定数据应位于所有用户的应用程序数据文件夹中;并且它通常应能够在非管理员权限下运行。在 XP 上,这些准则很容易被忽略,但在 Vista 和 7 上,由于 UAC,它们是一个问题。
我们即将发布软件的一个主要版本。这是一个 CMS,我们的客户将其作为主要工作工具,他们的 IT 员工也非常熟悉它。如果我们想与 Windows 7 完全兼容,就必须进行大量更改,而且我们的时间已经很紧迫了。
问题是:我们可以轻松地让客户在 Program Files 之外安装我们的软件,或者让他们以管理员身份运行它。我认为这是错误的,但我需要一些弹药:为什么我们要在 Program Files 上安装,而它会带来所有限制?
编辑:
- 我在这里问这个问题是因为我想听听 IT 人士的意见。对于程序员的意见,我可以直接问我旁边的人,而不是使用 stackoverflow。这不是一个编程问题。
- 我之所以问这个问题,是因为我们想让我们的软件变得更好。旧的安装习惯可以追溯到大约 15 年前,当时软件刚刚被创建。修复它的安装是当务之急,没有别的。更糟糕的是,它将被推迟到下一个版本。
答案1
从技术上讲:是的。
从逻辑上讲:否
从商业角度来说:我知道很多公司会因为明显的质量问题而把你赶出去。即使你没有获得窗户认证,你也不应该公然违反常识和指导方针。
我个人会退回有缺陷的软件,并向我们收取使用该软件所花费的每一分钟的费用 - 这是由于严重的疏忽。
你们这边显然有人搞砸了,而且他们从未读过如何编写 Windows 程序。祝你修复顺利 ;)
所以,最后说一句:这会让你付出代价。特别是在竞争激烈的 CMS 领域。
答案2
在做出决定之前,您应该阅读以下所有参考资料。资料很多,但是您想编写 Windows 应用程序,因此...
答案3
15 年前,Windows 95 向世界推出了“Program Files”。当时许多安装程序都因为路径中的空格而失败。我记得这对我们来说是多么痛苦,但经过一周的工作,我们完成了,每个人都很高兴。
我同意 TomTom 的观点,你确实表明你没有接触 Windows 标准。现代人对“程序文件”有很多假设,例如,防病毒程序假设应用程序位于那里,并将除此以外的应用程序视为不同。目录上的新默认安全设置也会开始给你带来麻烦和电话。如果你坚持绕过安全措施,那么客户升级到 Windows 7 有什么意义呢?
顺便说一句:永远不要以为你已经根深蒂固。如果 Windows 7 对他们来说比你更重要,他们就会把你赶出去。高级管理人员做出的决定最奇怪,通常是基于你认为微不足道的问题,但对他们来说,这是一个摆脱你的应用程序的信号。
答案4
这与系统管理无关,但坦率地说,这个问题根本就不应该出现。如果软件是由熟悉 Windows 的人构建和打包的,那么一开始它就会被放在正确的位置,这样就不会出现问题了。现在必须修复它是无视惯例和良好做法的代价。
如果这取决于我,软件将被正确地重建和重新打包,这应该是一件简单的工作,我只是想知道为什么它甚至会被讨论。
只有一个问题。您认为在指定位置安装软件有哪些限制?