簡體   English   中英

如何使Wix安裝程序的命令提示符保持打開狀態

[英]How to keep command prompt open for Wix installer

我們的wix安裝程序的最后一步是在命令提示符下運行SQLUpgrade.exe,以保持數據庫架構的更新。

    <CustomAction Id="SQLPackageUpgrade" ExeCommand="start [SQLPackageLOCATION]SqlPackage.exe /Action:Publish /SourceFile:&quot;[SQLPackageLOCATION]XXX.dacpac&quot; /TargetConnectionString:&quot;Server=[DBSERVER];Database=[DBNAME]&quot;" Directory="SQLPackageLOCATION" Execute="deferred" Return="asyncNoWait"/>

使用以上代碼,命令提示符在命令退出時立即消失。 如果執行失敗,我們將無法在命令提示符下看到錯誤消息。 我們嘗試將結果移植到txt文件,但沒有記錄任何內容。 有沒有一種簡單的方法可以使該命令提示符對客戶保持打開狀態,以便他們可以借此機會看到錯誤消息? 謝謝!

建議不要使用“ 安靜執行”自定義操作來直接在自定義操作中調用EXE。

好處是:

  • 控制台窗口在安裝過程中不會閃爍,它將根本不可見。 這是糟糕的用戶體驗
  • 安裝日志文件將包含有關實際錯誤的所有信息

您已將自定義操作正確地安排為延遲的-更改目標系統的自定義操作必須被延遲。

最后但並非最不重要的一點:您應該考慮回滾自定義操作並適當地安排它。 每個延遲的CA應具有相應的回滾CA-否則,如果安裝失敗並回滾,則可能會使系統處於未定義狀態。

我認為在這種情況下,您需要更改自定義操作的兩個屬性:

Execute="immediate" Return="check"

檢查表示您想要結果,因此如果失敗,它可能會停止,但至少您應該能夠看到它。

您也可以嘗試:

Return="asyncWait"

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM