一个MIDAS多层结构的发布问题,不知大家有这个体会没有?看了绝对后悔!(50分)

  • 主题发起人 主题发起人 yanghaijun
  • 开始时间 开始时间
Y

yanghaijun

Unregistered / Unconfirmed
GUEST, unregistred user!
我建立了一个安装(用InstallShield Express),用于发布我的分布式应用程序,
我同时在一个机子上装SQL Server及我的应用程序服务器,另外一个机子做为我的客户端。
我遇到了这么一个问题:
  当我在服务器端安装 WinNT4 且客户端安装 Win9x 时,我的应用程序正确地运行了,
且应用程序服务器在服务器端运行,不是在客户端。
  而当我将服务器的操作系统改为 Win2000 时,同样的安装方法与设定却不灵了,无
论怎样我都无法使应用程序服务器自动运行在服务器端。而将客户端改为 Win2000 Pro时
却又行了。
  这样的原因是不是DCOM版本的不同造成的啊?请大侠们讨论。
  许多大侠说,在正确使用客户端之前,要先在客户端运行一下应用程序服务器,这个
问题还得分开说。若仅仅运行应用一下应用程序服务器还是不够的,还要用DCOM配置一下,
使它能运行在服务器端,否则它运行在客户端,则失去应用程序服务器的功能了。然而对
于一个想发布这种应用程序的程序员来说,要求客户端总是运行一下此应用程序服务器,
实在是太麻烦了,要么得在服务器端建立一共享目录,要么得在客户端的发布文件中包含
此应用程序服务器,无论怎样都不是好办法。最好是在发布时自动注册这些信息,而即不
用共享目录,也不用包含此应用程序服务器至客户端。其实这也很简单,只要在注册表里
简单地写入该应用程序服务器的注册信息(GUID等)就行了,根本不必运行应用程序服务器。
如此一来,客户端的安装变得相当轻松简单了(当然在发布时别少了MIDAS.DLL)。
  我就是这么干的,在一个安装程序里直接完成所有任务,只是上面的问题让我有点
糊涂,不知是否有解决之道。好像在Win9x客户端根本找不到Win2000SVR服务器端的应用
程序服务器,哪怕我在DCOMConnection中指定了服务器名称,也不灵。
 
DCOM的设置是很烦,MIDAS简单但不省力。
建议你试试MTS/COM+,可能会发现另一条大道。
实际应用中使用MIDAS来开发系统的很少。
WIN XX系统(包括DCOM)中有种种认证。2K要比98严一些,也合理一些。
出现这种问题还是因为你没有设好DCOM。
分发基于MIDAS的系统可以说是一件艰巨的“工程”。
 
这是DCOM的很高的安全级别造成的,
你的Win9x启动的时候,是否登录到了哪个2000服务器上了?
如果是本地登录,哪就没戏了,2000是不会让外网段的机器,
由其是来自Win9x的机器去访问它的服务的,
但你如果用的是Socket,哪就不一样了,
只要你的网络是连通的,不论你的应用服务器在哪个网段,
它都可以找到,并启动它的,哪怕它在网络中的权限是哪么底的可怜。
你可以试试。
 
这位朋友,你整理出1stClass中的outlookbar控件的源代码了?可不可以“共享”一下?
month18@163.net.感谢!
 
客户端注册的时候可以用TRegSvr Servername.exe来注册应用程序服务器。把这句话编到脚本里面就行了。
另外,不能启动远程服务对象的原因有几个:
1、使用dcomcnfg来设置,注意把用户设置成交互式用户
2、把客户端用户添加在服务器的用户列表中。
 
我的经验是,客户端肯定不用运行什么中间层应用。
如果你使用dcom,则肯定是应用服务器dcom配置问题,这就很难说清楚了
我个人强烈建议开发者不要使用dcom,改用socket或其他
 
win2k里把guest用户打开或者正确的设置一下dcom server object的权限。
就可以了。
 
我不想继续讨论了,嗳......
 
后退
顶部