有誰知道如何讓用戶點擊'取消'時InstallAware做回滾數據庫?與InstallShield不同,我沒有看到任何指定個別腳本何時運行的方法。InstallAware數據庫回滾
0
A
回答
0
我不認爲InstallAware能夠回滾數據庫事務。我沒有看到他們的MS SQL Server命令中對SQL Server回滾的內在支持。如果可能的話,您需要編寫自己的回滾腳本。
如果用戶在初始對話框中取消安裝,MSICode中通常會有一個帶有IF塊的部分。它看起來像這樣
if variable WIZARD Equals CANCEL
Terminate Installation
end
這發生在Windows安裝程序引擎實際執行安裝之前。如果您尚未執行數據庫腳本,則不需要執行任何操作。如果在此之前應用了數據庫腳本,則需要提供回滾腳本(如果可能)並在該塊中執行,但在「終止安裝」之前執行。
如果您在安裝時取消安裝,則會再次回退您的更改。當用戶在安裝過程運行時(即在用戶做出選擇之後)按下取消按鈕時,InstallAware變量SUCCESS將被設置爲CANCEL。您可以檢查該情況並執行回滾腳本。通常有一塊代碼根據SUCCESS的價值做各種事情,你可以在那裏添加你的代碼。
作爲安裝的一部分,您始終可以將您的SQL腳本作爲InstallAware執行的最後一個命令。這將消除處理取消的需要。
相關問題
- 1. 審計數據庫回滾
- 2. 回滾數據庫更改
- 3. 回滾Informix數據庫
- 4. Mysql回滾數據庫?
- 5. 在數據庫回滾
- 6. Laravel測試數據庫不會回滾
- 7. Java + Sql數據庫數據回滾不起作用
- 8. 如何回滾SQL Server數據庫中的數據?
- 9. Rails before_destroy回調數據庫變化總是回滾
- 10. 回滾提交的數據
- 11. 從InstallAware或InstallShield調用dll函數
- 12. 返回數據庫
- 13. 使用C#還原SQL Server 2005數據庫。回滾問題
- 14. 無法標記使用Liquibase數據庫以備將來回滾
- 15. 在Django出現異常時回滾一組數據庫事務
- 16. 分佈式數據庫事務是否保證提交/回滾?
- 17. 使用隱式保存點回滾數據庫更改? - Oracle
- 18. 如何將數據庫回滾到liquibase中的特定日期
- 19. 需要將數據庫滾回到以前的狀態
- 20. 重建.SLN(VS2008)時數據庫更改回滾
- 21. 數據庫修改腳本 - 推出/回滾最佳實踐?
- 22. 數據庫查詢回滾到保存點失敗
- 23. 當auto_commit打開時回滾MySQL數據庫
- 24. 在TestNG @DataProvider中進行的數據庫更新無法回滾
- 25. 交易似乎被回滾,但他們沒有在數據庫
- 26. 關於觸發器故障回滾的Oracle數據庫
- 27. 數據庫遷移回滾的有用性
- 28. 運行Selenium GUI測試後回滾數據庫
- 29. 使用中間件回滾所有Django數據庫交易
- 30. 如何在用戶中止進程時回滾數據庫?
你確定這不只是自動神奇地完成? InstallAware有時會做一些有趣的事情,我想知道它們是否會以某種奇怪的方式進行回滾。 – 2009-02-25 22:17:31