这个问题是为什么有些管理员不喜欢从服务器共享执行 exe 文件? 我开发了一个实用程序,它使 Access 开发人员的工作变得更加轻松。根据上述链接中的反馈,我将提供一个选项,即提供一个 MSI 文件,供 IT 部门在客户端系统上安装。
我考虑过的一个选项是让开发人员能够将 exe 从服务器共享复制到用户的应用程序数据文件夹。另一种可能性是用户可以执行 exe/msi,这也会将 exe 放在用户的应用程序数据文件夹中。
评论?
我注意到 Google 在 App Data 文件夹中安装了 Chrome、Google Talk 和一大堆更新的 exe 和 dll。还有一些其他程序。我并不是想以此为借口。
添加
我收到过开发人员的评论,他们表示只需要在一小部分正在使用的系统上使用我的实用程序。IT 部门将花费数月时间进行评估,除非它们是企业成像系统的一部分,否则他们不想处理此类程序。此外,开发人员可能希望比 IT 部门处理的速度更快地推出我的实用程序的更新。
答案1
好吧,在(相当常见的)网络主文件夹的情况下,您仍然会遇到从网络共享开始相关的所有问题,因为事实上这就是正在发生的事情。
说实话,我不明白。在 Windows 平台上,程序应该以某些方式安装和运行。为什么不遵循这些行之有效的方法呢?实际上,我遇到的很多 Windows 应用程序问题都可以归咎于程序员,他们要么不知道 Windows 程序应该如何安装和运行,要么认为它太复杂,所以走捷径或诸如此类的路。
(当然,我经常处理由各自领域的专家编写的科学程序,他们根本不关心平台,甚至尝试编写独立于平台的程序,但仍然如此)。
答案2
我赞同 SvenW 的评论以及其他帖子中的评论,并且想补充一些。
如果用户有漫游配置文件,而我尝试通过 GPO 安装 MSI,会发生什么情况?这是否意味着用户或机器获得了它?多个用户使用同一台机器的情况如何?
如果配置文件从他们应该运行程序的计算机移到他们不运行程序的计算机(例如大学实验室中的打印服务器)会发生什么情况?应用程序会随之移动吗?
例如,如果版本安装在另一台计算机上,配置文件迁移到新机器,我该如何控制版本?msi 不会处于一致状态,当您发布新版本时,我可能无法捕捉到它,或者可能会出现问题?
出于充分的安全原因,需要确保您的可执行文件和数据完全分开,此外,在许多环境中,您可能无法期望用户对其 appdata 文件夹具有执行权限。
我不知道您的应用程序有多大,但是当我运行配置文件的备份作业时,我是否真的希望为每个用户备份它?
您的应用程序听起来确实可移植且独立,这很棒,并且上述每个问题都有解决方法。但是,既然可以很容易地将其放在预期的位置,为什么要打破常规并强迫它去不该去的地方呢?我不能代表其他人说话,但上述情况使事情陷入“不可预测”的境地,这不是很好。
至于 Google,这取决于您的使用情况,他们正在向许多可能不在乎的家庭用户推广。听起来您是在向企业 IT 推广,与将要测试和部署您的应用的人搞好关系不会有什么坏处。如果您的应用稳定、可预测并且像他们拥有的其他应用一样工作,他们就不会花太多时间考虑如何替换它。
答案3
在企业 Windows 环境中常见的还有软件限制策略。现代 Windows 的这一未充分利用的功能允许管理员根据路径甚至加密签名允许或限制可执行文件的运行。我通常只允许可执行文件在 windows 或程序文件目录中运行。否则,用户可以下载到 AppData 或甚至他们的用户目录,基本上可以运行任何东西。如果用户可以运行他们想要的任何 EXE,那么强迫用户成为受限用户有什么意义呢?我对 GoToMeeting 做了例外,但目前还没有对 Chrome 做例外。
答案4
是的,我介意。原因很简单……漫游配置文件。
虽然您的应用程序可能没有那么大,但添加所有其他决定在 AppData 进行安装和配置文件的地方的人……用户登录时间增加……然后我们要为系统/网络速度慢负责(是的,这也适用于那些应该更了解的人)。
我即将发布的 AppLocker 策略将会消灭这些糟糕的 Windows 编程示例,因此一切都不会丢失。