我有一個程序需要能夠更新自己。我有第二個程序將執行更新,下載和安裝。更新程序顯然需要能夠更新主程序,爲此,主程序不能運行。所以我想讓主程序在ShellExecuteEx
的調用下啓動更新程序,但the MSDN documentation讓我有點困惑。如何正確啓動更新程序?
它說:如果的ShellExecuteEx返回後...進程將 終止很快
的SEE_MASK_NOASYNC標誌必須被指定。在這種情況下, 調用線程將無法完成DDE 對話,因此在將控制權返回給調用應用程序之前,ShellExecuteEx完成對話 是很重要的。 未能完成對話可能會導致文檔啓動失敗 。
而在SEE_MASK_NOASYNC
下,它表示ShellExecuteEx
調用將不會返回,直到操作完成。我想要的是啓動更新程序,然後立即終止主程序,因此更新程序可以毫無困難地運行。這是正確的方式嗎?是否有什麼特別的我需要做的,以防止啓動的更新程序被標記爲「子進程」,在主進程關閉時將被終止?