在安裝新版本之前,我正在執行主要升級和卸載現有產品。但我想保留現有的配置文件。Wix CopyFile在卸載之前卸載並恢復後卸載
由於早期版本沒有永久性=「是」,它會在卸載時刪除配置文件。
我該如何做這樣的事情,在卸載之前將'app.config'的副本作爲'app.config.bak'。卸載後,將其從「app.config.bak」恢復爲「app.config」。
<DirectoryRef Id="INSTALLDIR">
<Component Id="BackupConfigComponent" Guid="87368AF7-4BA2-4302-891A-B163ADDB7E9C">
<CopyFile Id="BackupConfigFile" SourceDirectory="INSTALLFOLDER" SourceName="app.config" DestinationDirectory="INSTALLFOLDER" DestinationName="app.config.bak" />
</Component>
</DirectoryRef>
<DirectoryRef Id="INSTALLDIR">
<Component Id="RestoreConfigComponent" Guid="87368AF7-4BA2-4302-891A-B163ADDB7E9C">
<CopyFile Id="RestoreConfigFile" SourceDirectory="INSTALLFOLDER" SourceName="app.config.bak" DestinationDirectory="INSTALLFOLDER" DestinationName="app.config" />
</Component>
</DirectoryRef>
<InstallExecuteSequence>
<Custom Action="BackupConfigFile" After="InstallInitialize" />
<RemoveExistingProducts After="InstallInitialize" />
<Custom Action="RestoreConfigFile" After="InstallInitialize" />
</InstallExecuteSequence>
感謝
它表示錯誤 Custom/@ After屬性值'RemoveExistingProducts'不是合法標識符。標識符可能包含ASCII字符A-Z,a-z,數字,下劃線(_)或句點(。)。每個標識符必須以字母或下劃線開頭。 –
好吧,這是由於空間,但現在它說,'產品:*'節中符號'CustomAction:BackupConfigFile'的未解析引用。 –
您是否使用名稱BackupConfigFile創建了自定義操作?這不是Windows Installer將爲您提供的標準自定義操作。 – Adkins