我有一個被設計成Windows服務的C++ Windows應用程序。它會定期執行更新以查看是否有新版本。要執行更新程序,請使用_execv()
。更新程序查找新版本,下載它們並停止Windows服務(記錄所有這些操作),替換文件並再次啓動服務。在CLI模式下(不進入服務模式)以這種方式正常工作。根據我的日誌文件,子進程啓動,但父進程(Windows服務)退出。使用_execv()調用子進程時退出Windows服務
它甚至「允許」在Windows服務中啓動子進程,並且爲什麼該服務會意外退出?我的日誌文件顯示沒有錯誤(我甚至監測了寫入日誌的段錯誤等)。
我誤解了_execv()的工作方式。 CreateProcessAsUser()似乎是我尋找的東西,謝謝。 – asiouser 2010-12-10 08:56:35