我设计了定期检查特定的应用程序是否安装,当它发现它没有安装,下载它从共享网络位置的Windows服务安装包的问题,该文件是一个无声无息地安装exe(自行安装)。C#Windows服务运行
我有运行安装程序问题,所以我决定,而不是试图运行安装程序,运行一个小的hello world Windows窗体应用程序,只是为了看看这个简单的事情的作品。
几个困惑小时后我终于发现的hello world应用程序不会在实际上运行,但不同的用户下 - 特别是本地机器。在接下来的几个小时里,我发现我必须关闭UAC(Vista/7)并允许该服务与桌面交互。在此之后,我终于在桌面上得到了一个提示,表明服务正在尝试运行某些内容,而且我必须决定是否允许它。
当我按下允许 - 我带到另一个GUI(从我的桌面不同)和世界你好此后正常运行。
现在,尽管这当然是一个进步,但我仍然远离在当前用户帐户下安装应用程序。
我遇到的一个问题是将windows服务设置为以特定用户身份运行,当我在该类型的WS上使用installutil.exe时,它提示我输入用户名和密码,输入正确的(管理员特权)数据并且无法安装。
我想要实现的是让Windows服务以任何方式安装无提示安装程序包而不中断用户,测试无提示安装程序包是net framework 2.0 - 我需要安装它,就好像用户单击它一样本人。
我不要求任何代码(但是这会受到欢迎),只是点我朝着正确的方向,在此先感谢!
我不确定问题是什么,但Windows服务,屏幕保护程序和其他系统进程运行在不同的UI环境或不同的桌面。据我所知,可以使GUI在登录用户的上下文中运行(如果有的话)。 – kenny 2011-04-02 11:11:48