我是一家跨国公司的软件批准小组的成员,我绝对会回应亚当上面所说的一切。
我还要指出以下几点,首先要始终支付您的所有“开发税”。这意味着要确保您的应用程序可以在您可能从未使用过的各种环境中正常运行,但很可能会成为大型公司的交易破坏者,这些事情包括确保您的应用程序在漫游用户个人资料和重定向的用户文件夹(始终使用Windows API查找用户和配置文件文件夹,永远不要假定它们位于标准位置,甚至不在本地驱动器上),确保它在远程桌面服务器(可能存在在网络连接速度慢或电池电量低的笔记本电脑上,一次运行100份应用程序副本,有些使用非常慢的连接。例如,我们最近拒绝了一家大型公司(以“ A”开头并以图形显示而闻名)的多个软件的新版本,因为他们的应用突然间
即使对于免费/开源软件,最终用户也经常必须提交某种形式的请求表,以对软件进行验证和批准。
用您的评论语气听起来好像您认为批准过程与成本有关?从我们的角度来看,在审批过程中根本不会考虑应用的单位成本。应用的财务依据已经确定,软件的批准全部从技术和支持能力的角度进行。与专有的商业应用程序相比,免费和开源软件通常很难通过我们的流程。通常这归结为缺乏责任感。当应用程序出现问题并且需要支持时,您去找谁,他们的SLA是多少?您想问谁,什么时候需要确定该应用程序是否可以与新版本的OtherApp vX一起使用,他们是在为您提供人们正在努力解决的实际答案,还是模糊的“
一旦遵循了该过程并安装了软件,升级就会很麻烦-许多组织倾向于使用较旧版本的软件(Windows XP,Office 2003等),以免出现未知问题。
软件升级必须与全新软件一样经历相同的过程。他们唯一的优势是,因为我们已经在支持该软件,所以我们已经知道了一些问题的答案(这可能对软件没有积极意义,支持团队已根据对产品的经验否决了升级公司)。
您喜欢MSI或可xcopy的软件吗?
只要已正确打包,这些部署方法中的任何一种都可以。否则,我们很可能会淘汰您的安装程序并重新打包软件以供自己部署。
- 无论使用哪种安装程序,都必须确保遵守其所有无提示,无人值守的安装模式。如果您的应用程序需要手动安装,这是即时解决方案,那么根本没有实际方法可以在五大洲的计算机上执行此操作,这些计算机都可以从中央办公室获得所有非硬件支持。
- 如果有选择,我宁愿做得好的MSI安装也要好做的xcopy安装。大多数支持Xcopy的软件的问题在于,它们尝试在首次运行时进行设置和注册。我很少找到能正确执行此操作且不会在漫游用户/ hotdesk环境中引起问题的应用程序。MSI安装程序(如果您坚持使用标准API)不会出错。
- 确保您的静默安装能够进行可以在手动安装中进行的所有配置更改。如果您使用的是MSI并坚持使用API,那么这很好,我们可以进行MST转换,而这一切都没有问题。如果您使用其他第三方安装程序,请确保它允许类似“ answer”文件或INI文件之类的文件。测试静默安装并确保所有选项都有效。我遇到了一些产品,它们高兴地宣布了它们的静默安装选项,但它们从未真正测试过所有选项是否都有效。
- 最好在静默安装中为我们提供其他选项,使我们可以设置用户通常会在“选项”面板中更改的许多设置。这可能是通过setup.exe上的开关进行的,也可能是通过文档记录了设置的INI文件,通过记录了必要的注册表更改,或者是上述所有方法。无论如何,我们要确保我们的用户可以自行启动并运行该软件,而无需自己进行任何配置,其中重要的是文件的默认位置,默认的服务器名称,代理设置(如果您的应用程序正在运行)通过网络)等
如果该软件需要框架(Java,.NET),那么或多或少会出现问题?
肯定有更多问题。大多数框架中的版本控制和向后/向前兼容性都非常糟糕。特别是使用Java时,许多应用程序(和网站)都需要安装特定的Java主要版本和次要版本,并且不能与其他任何版本一起使用。如果您需要在需要所有Java不同版本的机器上放置三个不同的应用程序,而他们对将一个Java版本掩盖为另一个Java版本的标准方法不满意,那么就会有问题。.Net在版本控制方面有其自身的问题,但是很高兴可以让您同时安装框架的所有主要版本,从而解决了很多此类问题。
如果软件支持自动更新,通常是否允许这样做?
决不。存在太多的版本控制和互操作性难题,以至于应用程序无法在没有任何警告的情况下进行自我更新。应用升级需要测试和计划。同样,拥有正常用户权限的用户也无法应用更新。如果您使用允许打补丁的部署方法(例如,将MSI与MSP补丁一起使用),那么可以使诸如应用程序安全补丁之类的事情轻松得多,并且我们可以使用我们的部署工具(WSUS和SMS)来管理自动更新)。此外,我们的安全团队对任何“与基地对话”的应用程序都非常怀疑,他们希望确切地知道其发送的信息以及为什么需要通过互联网将任何信息发送到未知服务器。
一般需要多长时间?
只要花6个人单击Outlook中的“批准”投票按钮,就可以确定一些简单的应用程序和版本升级。比较复杂或有争议的小组可能每两周等待我们的小组会议。在团队中,有一些应用可能会在不止一次的会议上被谈论,因为团队会将有关应用和研究/测试的问题带走。
您更喜欢哪种许可模式(可转让,每个用户,每个CPU,整个站点)?
完全取决于应用程序的使用方式以及使用人数。最重要的是,您的许可已明确定义。我们必须派人上(尽管免费)课程来了解Microsoft许可。对于ISV,我们不会为此而烦恼。
考虑到许可方面的无声,自动安装需求。如果您的许可证需要激活,我们不需要每次在PC上重新安装应用程序时都向您发送电子邮件。如果应用程序的每个副本都需要分别键入不同的许可证密钥,那么我们将无法自动部署该密钥,而如果我们可以购买可以存储在其中的批量(2、10、50、500等席位)密钥,静默安装,那么我们很高兴。如果我们可以在一年后与您联系并商定增加许可证数量而不必更改软件中键入的密钥,那就更好了。
ISV还可以采取哪些其他措施来提高其软件获得批准的机会?
我们还将研究目前与您的应用程序并不严格相关的事物。请记住,如果您的应用成为我们其中一个领域的标准工作流程的一部分,则它可能会使用10年或更长时间,那么您产品的路线图是什么样的?如果您尚不支持最新的Windows全新版本或开发版本,是否有计划在何时使用?看起来您是否坚持这些路线图?看起来您是否计划对应用程序进行大刀阔斧的修改,无论是工作方式还是使用的技术/框架?您的应用程序是否可以插入其他任何应用程序(例如MS Office或IE),如果可以,那么这些应用程序的旧版本或新版本有多宽容?