Windows Server 2008(32 位) IIS 7 此处提及的两个应用程序都使用相同的硬件/系统配置。
我(一直在进行系统测试)在新的测试环境中安装相同的 Web 应用程序。
其中两个带有必须在组件服务中安装/注册的 COM+ 应用程序。我编写了一个从命令行执行此操作的实用程序“comadmin”。然后,设置和配置 Web 应用程序的自动构建工具使用命令行实用程序。
对于我的一个应用程序,这总是有效的。
但对于其他 COM+ 应用程序来说,问题更大。应用程序(其中三个)已安装但无法工作(即,当 Web 应用程序尝试使用它们时失败)并且无法启动或停止(在组件服务小程序中)。
根据构建自动化工具日志文件,正确调用了 comadmin 命令(见上文)(并且与其他一切正常的 Web 应用程序的调用方式相同),并且还发送了有关已安装相关 COM+ 应用程序的正确答案。
删除 COM+ 应用程序并将日志文件中完全相同的命令复制并粘贴到命令行将安装 COM+ 应用程序(并从 comadmin 得到正确的回复全部 3 次),之后 COM+ 应用程序始终可以工作。
如果某些事情需要安装、删除和重新安装 COM+ 应用程序才能工作,那么它在其他 Web 应用程序的服务器上永远不会发生。
我能想到的唯一合理的解释是,在通向 comadmin 的过程中密码发生了变化(comadmin 将运行 COM+ 应用程序的帐户的密码作为参数)。但是在构建脚本中正确引用了密码,如果给定帐户的密码错误,comadmin 会抱怨,因此密码必须正确。
有任何想法吗?(还是我太不精确了?)
这只是在某个时候停止发生......