第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何添加僅在卸載時(通過MSI)發(fā)生的Wix自定義操作?

如何添加僅在卸載時(通過MSI)發(fā)生的Wix自定義操作?

如何添加僅在卸載時(通過MSI)發(fā)生的Wix自定義操作?我想修改MSI安裝程序(通過維克斯)在卸載時刪除整個目錄。我明白RemoveFile和RemoveFolderWix中的選項,但這些選項不足以遞歸刪除安裝后創(chuàng)建內(nèi)容的整個文件夾。我注意到類似的堆棧溢出問題卸載Wix時刪除文件,但我想知道是否可以更簡單地使用對批處理腳本的調(diào)用來刪除文件夾。這是我第一次使用Wix,我仍然掌握自定義動作..卸載時運行批處理腳本的自定義操作的基本示例是什么?
查看完整描述

3 回答

?
森欄

TA貢獻(xiàn)1810條經(jīng)驗 獲得超5個贊

您可以使用自定義操作來完成此操作。您可以在下面的自定義操作中添加參考。<InstallExecuteSequence>:

<InstallExecuteSequence>...  <Custom Action="FileCleaner" After='InstallFinalize'>
          Installed AND NOT UPGRADINGPRODUCTCODE</Custom>

然后,您還必須在<Product>:

<Product> ...  <CustomAction Id='FileCleaner' BinaryKey='FileCleanerEXE' 
                ExeCommand='' Return='asyncNoWait'  />

其中FileCleanerEXE是一個二進(jìn)制文件(在我的例子中是一個執(zhí)行自定義操作的小c+程序),它也定義在<Product>:

<Product> ...  <Binary Id="FileCleanerEXE" SourceFile="path\to\fileCleaner.exe" />

真正的訣竅是Installed AND NOT UPGRADINGPRODUCTCODE條件的自定義操作,您的操作將在每次升級時運行(因為升級實際上是卸載,然后重新安裝)。如果您正在刪除文件,則可能不希望在升級期間需要該文件。

附帶說明:我建議使用類似C+程序這樣的程序來執(zhí)行操作,而不是使用批處理腳本,因為它提供了強大的功能和控制-而且在安裝程序運行時,您可以防止“cmd提示”窗口閃爍。


查看完整回答
反對 回復(fù) 2019-07-02
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊

批處理腳本的最大問題是當(dāng)用戶單擊Cancel(或安裝過程中出錯)時處理回滾。處理此方案的正確方法是創(chuàng)建一個CustomAction,將臨時行添加到RemoveFiles表中。這樣,Windows安裝程序就可以為您處理回滾情況。當(dāng)你看到解決方案時,它會變得瘋狂的簡單。

無論如何,要使操作僅在卸載期間執(zhí)行,請?zhí)砑右粋€條件元素:

REMOVE ~= "ALL"

表示比較不區(qū)分大小寫(盡管我認(rèn)為一切總是高高在上的)。見有關(guān)條件語法的MSISDK文檔想了解更多信息。

PS:從來沒有一個情況下,我坐下來認(rèn)為,“哦,批處理文件將是一個很好的解決方案,在一個安裝包?!睂嶋H上,找到一個包含批處理文件的安裝包只會鼓勵我將產(chǎn)品退回退款。


查看完整回答
反對 回復(fù) 2019-07-02
  • 3 回答
  • 0 關(guān)注
  • 911 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號