[英]Visual Studio Installer, perform custom action before files are copied
我正在使用常規的Visual Studio安裝項目來部署服務。 在安裝程序復制文件之前 ,我需要執行自定義操作。 AFAIS所有自定義操作(源自Installer ...)都是在復制文件后執行的(這很明顯,因為它們需要以某種方式執行)。
實際的問題是,安裝程序會自行檢查正在使用的文件並在復制之前停止服務(順便說一句,安裝程序停止應用程序的對話框告訴您垃圾-但這是一個不同的問題)。 基本上,這是一個好主意。 但是,安裝后,如果服務配置未運行,則將其配置為重新啟動服務(服務控制管理器執行此作業)。 此配置是必需的,不能永久更改(只能臨時更改)。 稍后在升級安裝過程中,這有時會與(升級)安裝過程發生沖突。 因此,在進行升級安裝的情況下,我想將(舊)服務配置更改為在文件復制到目標文件夾之前不重新啟動甚至卸載(舊)服務。 否則,如果文件仍在使用中,則復制文件有時會失敗(因為舊的服務再次運行(由服務控制管理器重新啟動),如上所述)。 長話短說,我需要在安裝程序復制(新)文件之前執行一些代碼。
這是一個相關的問題,但答案與我的問題不符: msi Installer將文件復制到目標目錄之前,請備份目標目錄
實際的答案似乎是: 這是不可能的 。 我沒有時間完全切換到WIX或類似的替代品。 這不是一個很好的解決方案,但可以。 我解決了如下問題:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.