之前重啓。如果我啓動安裝程序與MSIEXEC在安靜模式下,我可以檢測是否需要重新啓動通過檢查來完成安裝,如果退出代碼是3010,但希望我能夠以可編程形式執行測試是否安裝MSI需要重新啓動才能完成之前我啓動實際安裝程序。檢測是否需要MSI安裝
我在微星的API環顧四周:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa369426(v=vs.85).aspx
我沒想到我能:
- 呼叫MsiOpenPackage讓安裝程序就可以運行
- 呼叫MsiDoAction與以下內容:CostInitialize,FileCost,CostFinalize,InstallValidate
- 從FilesInUse表中讀取記錄(下表在MSDN上翼文檔表明,這臺正在運行CostFinalize/InstallValidate之後創建的:
http://msdn.microsoft.com/en-us/library/aa369546(VS.85).aspx
但該表實際上並沒有出現,當我在安裝過程中查詢其存在。是否有其他方法來檢查是否需要重新啓動?
這很有道理 - 用戶可以在安裝啓動並導致問題後啓動應用程序。 –