首页 新闻 会员 周边

windows 7上安装c#写的windows service问题

0
悬赏园豆:10 [已解决问题] 解决于 2011-09-13 12:29

  我用c#写了一个windows 服务,并把它打包到一个msi中。我在本机上执行msi后,能够访问这个windows服务,一切正常。我把这个msi copy到windows7上,也能正确安装这个服务。但是我的控制程序不能访问它,例如当我单击一个按钮,执行启动服务操作时。就会弹出错误对话-

"System.InvalidOperationException: Cannot open EnginuityICRClient service on computer '.'. ---> System.ComponentModel.Win32Exception: Access is denied"

这是什么原因呢?是需要在windows服务中设置什么属性,还是在msi中需要设置什么徐行!

华-子的主页 华-子 | 初学一级 | 园豆:156
提问于:2011-09-07 18:28
< >
分享
最佳答案
1

默认的windows 服务的运行账号权限比较低,EnginuityICRClient估计需要高地权限吧

需要更改一下服务的运行账号就行services.msc中修改服务的登录账号或代码修改

收获园豆:10
2012 | 高人七级 |园豆:21230 | 2011-09-08 08:17

     谢谢。windows service我没有权限修改,我只有它的exe文件。刚才我试着在安装后的文件夹中,找到exe文件。然后单击右键选择”以管理员身份“运行,程序就能正确执行了。但是msi生成的快捷方式上右键,没有“以管理员身份运行”这个选项。请问这如何解决?

华-子 | 园豆:156 (初学一级) | 2011-09-08 09:36

@华-子:为什么生成的快捷方式,没有“管理员身份运行”???

华-子 | 园豆:156 (初学一级) | 2011-09-08 10:36

@华-子:

UAC是需要exe文件编译设置的,exe没有的话,快捷方式是没有的

参考 http://msdn.microsoft.com/zh-cn/library/bb384691.aspx

2012 | 园豆:21230 (高人七级) | 2011-09-08 13:11
其他回答(1)
0

win7电脑有UAC的权限,你的服务应用程序没有启动时候没有这个权限。你需要添加“应用程序清单文件”。

跟着阿笨一起玩.NET | 园豆:9 (初学一级) | 2011-12-29 20:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册