[英]How to keep command prompt open for Wix installer
我們的wix安裝程序的最后一步是在命令提示符下運行SQLUpgrade.exe,以保持數據庫架構的更新。
<CustomAction Id="SQLPackageUpgrade" ExeCommand="start [SQLPackageLOCATION]SqlPackage.exe /Action:Publish /SourceFile:"[SQLPackageLOCATION]XXX.dacpac" /TargetConnectionString:"Server=[DBSERVER];Database=[DBNAME]"" Directory="SQLPackageLOCATION" Execute="deferred" Return="asyncNoWait"/>
使用以上代碼,命令提示符在命令退出時立即消失。 如果執行失敗,我們將無法在命令提示符下看到錯誤消息。 我們嘗試將結果移植到txt文件,但沒有記錄任何內容。 有沒有一種簡單的方法可以使該命令提示符對客戶保持打開狀態,以便他們可以借此機會看到錯誤消息? 謝謝!
建議不要使用“ 安靜執行”自定義操作來直接在自定義操作中調用EXE。
好處是:
您已將自定義操作正確地安排為延遲的-更改目標系統的自定義操作必須被延遲。
最后但並非最不重要的一點:您應該考慮回滾自定義操作並適當地安排它。 每個延遲的CA應具有相應的回滾CA-否則,如果安裝失敗並回滾,則可能會使系統處於未定義狀態。
我認為在這種情況下,您需要更改自定義操作的兩個屬性:
Execute="immediate" Return="check"
檢查表示您想要結果,因此如果失敗,它可能會停止,但至少您應該能夠看到它。
您也可以嘗試:
Return="asyncWait"
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.