none
請問讓服務更我更新的方法 RRS feed

  • 問題


  • 各位前輩們

         我用c# vs2012 express 寫了一隻A服務程式,可以執行在windows 7 64位元,為了可以讓程式自我更新的前提下,使用以上兩種方式

    一、使用服務呼叫外部程式:

    (1)A服務程式本身使用Timmer隨時監聽是否有檔案要更新
    (2)當有檔案更新時, 執行Process p = new Process(a1.exe) 執行a1.exe
    (3)a1.exe啟動成功後,將服務A停止
    (4)coy檔案到指定目錄
    (5)完成後才重新啟動該服務a,最後再自行關閉, 
       
       但是,當是到了步驟3,出現錯誤訊息: 無法開啟XXX服務 (於電腦 '.' 上), 但是前提使用vs偵錯模式時,是可以正常將服務A關閉和啟動的,此登入者的權限也有被加入administrators群組中,如果手動點選該a1.exe執行,也可以停止服務A和啟動服務A。

    二、另外再寫了一隻B服務

    (1)B服務隨時監聽是否需更新檔案
    (2)如有檔案更新時,停止服務A
    (3)將需更新的檔案拷貝到指定目錄
    (4)完成後才重新啟動該服務A

       但是一樣的狀況又出現了,當要停止服務A時,出現無法開啟服務 (於電腦 '.' 上),以上用了兩種方式,均無法將執行中的服務更新,不知道各位前輩們是否有以上的情況發生? 
    2013年9月5日 上午 10:32

解答

所有回覆