关于服务程序访问网络的问题

        最近做了一个冒烟测试的服务程序,在测试机后台运行,通过UDP协议监听8192端口,当收到编译机发来的编译完成的消息,即在测试机上开始进行冒烟测试。在冒烟测试之前会先通过安装助手到编译机上拷贝最新的安装程序进行自动安装,这时遇到了问题,拷贝时总是没响应!
        经过多次跟踪调试突然明白,服务程序运行的帐户是本地系统(System),并非域帐户,服务程序调用的安装助手也继承了这一权限,所以没有访问编译机的权限!因此,有两种办法解决,一是以域帐户身份运行此服务程序;二是在编译机负责把最新的安装程序拷到测试机,然后再通知测试机进行冒烟测试,这时测试机就只需进行本地安装即可。我选择了后者,因为前者即使选择当前登录的域帐户身份运行服务程序,也看不到安装助手及冒烟测试工具与桌面的交互(体现为窗体可视)。我估计,服务程序只是用此域帐户另建了一个会话,与当前会话(桌面)无关,就像远程桌面一样,所以看不到运行时的窗体。而采用本地系统帐户运行服务程序时,若勾选了允许与桌面交互选项,是可以看到窗体的,当然,这个可以在服务程序创建化时将ServiceType设为stWin32同时将Interactive设为True来指定。
        另外有一点值得大家注意,因为服务程序默认以本地系统帐户运行,所以访问注册表Current_User下的东西是有问题的,若有这种需求,说明服务程序的默认运行帐户不应是本地系统,要不也可以模拟某用户再去访问注册表,大富翁上有类似ServiceReg的程序可供参考。

转载于:https://www.cnblogs.com/zhousl/archive/2005/12/13/296163.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值