我設計了定期檢查特定的應用程序是否安裝,當它發現它沒有安裝,下載它從共享網絡位置的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