Tôi đang thực hiện nâng cấp và gỡ cài đặt chính sản phẩm hiện có trước khi cài đặt phiên bản mới. Nhưng tôi muốn giữ lại tập tin cấu hình hiện có.Wix CopyFile trước khi gỡ cài đặt và khôi phục sau khi gỡ cài đặt
Vì phiên bản trước đó không có vĩnh viễn = "có", nó sẽ xóa tệp cấu hình khi gỡ cài đặt.
Và làm cách nào tôi có thể làm điều gì đó như thế này tạo một bản sao của 'app.config' thành 'app.config.bak' trước khi gỡ cài đặt. Sau khi gỡ cài đặt, nó sẽ hoàn nguyên trở lại từ 'app.config.bak' thành '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>
Cảm ơn
Nó nói Lỗi Giá trị của thuộc tính Custom/@ After, 'RemoveExistingProducts', không phải là số nhận dạng hợp pháp. Số nhận dạng có thể chứa các ký tự ASCII A-Z, a-z, chữ số, dấu gạch dưới (_) hoặc dấu chấm (.). Mỗi số nhận dạng phải bắt đầu bằng chữ cái hoặc dấu gạch dưới. –
Ok đó là do không gian, nhưng bây giờ nó nói, tham chiếu chưa được giải quyết để biểu tượng 'CustomAction: BackupConfigFile' trong phần 'Sản phẩm: *'. –
Bạn đã tạo một Hành động Tùy chỉnh với tên BackupConfigFile chưa? Đó không phải là một hành động tùy chỉnh chuẩn mà Windows Installer sẽ cung cấp cho bạn. – Adkins