Vì vậy, tôi đã có một trình cài đặt ghi khá đơn giản, chủ yếu để bao gồm nâng cấp hoặc đôi khi một gói trình điều khiển cho phần cứng ứng dụng của chúng tôi cần nói chuyện.Wix Burn, làm cách nào để cho phép hạ cấp?
MSI của chúng tôi tạo hỗ trợ nâng cấp hoặc hạ cấp.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="My App Name" Manufacturer="Company Name" Version="!(bind.packageVersion.MyAPP_MSI)"
IconSourceFile="MyIcon.ico" DisableModify="yes" DisableRemove="yes"
UpgradeCode="{15E598EF-89CE-470B-8CEF-E32C8983DA33}" >
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
<bal:WixStandardBootstrapperApplication
LogoFile="$(var.CoreComponents.TargetDir)InstallerGraphics\Bootstrapper_Logo.png"
LicenseFile="$(var.CoreComponents.TargetDir)AppRoot\App License.rtf"
SuppressOptionsUI="yes" />
</BootstrapperApplicationRef>
<Chain>
<PackageGroupRef Id="NetFx451Web"/>
<MsiPackage DisplayName="My full Application Name" Id="MyAPP_MSI" SourceFile="$(var.Installer_MyAppMSI_TargetPath)"
DisplayInternalUI="yes" ForcePerMachine="yes" Visible="yes" />
<MsiPackage DisplayName="My Hardware Driver" Id="Installer_MSI_Driver" SourceFile="$(var.Installer_Driver.TargetPath)"
DisplayInternalUI="yes" ForcePerMachine="yes" Visible="yes" />
</Chain>
</Bundle>
</Wix>
Thông thường chúng tôi có bản phát hành beta và khi người dùng muốn hạ cấp từ bản beta xuống bản phát hành ổn định của chúng, họ không thể thực thi trình cài đặt EXE cũ. Họ phải loại bỏ gói trước đó từ Add/Remove Programs một cách rõ ràng để cài đặt Burn EXE cũ hơn.
Đây không phải là vấn đề với cài đặt dựa trên MSI. Làm cách nào để chúng tôi quay lại chức năng đó?
Log
[0CB8:067C][2014-06-23T11:10:04]i001: Burn v3.8.1128.0, Windows v6.1(Build 7601: Service Pack 1), path:\\iop-filesvr\IOP\Builds\Main\8.1.240\IO Practiceware Client Setup.exe, cmdline: '-burn.unelevated BurnPipe.{197B8193-6EFC-4ED0-AF90-DE7205F13E65} {CD23A8AB-520B-4F5D-BCB9-98998C5A1EC0} 2216'
[0CB8:067C][2014-06-23T11:10:04]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\jeff\AppData\Local\Temp\IO_Practiceware_Client_8.1.240.0_20140623111004.log'
[0CB8:067C][2014-06-23T11:10:04]i000: Setting string variable'WixBundleOriginalSource' to value '\\iop-filesvr\IOP\Builds\Main\8.1.240\IO Practiceware ClientSetup.exe'
[0CB8:067C][2014-06-23T11:10:04]i000: Setting string variable 'WixBundleName' to value 'IO Practiceware Client 8.1.240.0'
[0CB8:067C][2014-06-23T11:10:05]i100: Detect begin, 2 packages
[0CB8:067C][2014-06-23T11:10:05]i000: Setting string variable 'PrerequisitesVersion' to value '1.0.0.0'
[0CB8:067C][2014-06-23T11:10:05]i102: Detected related bundle: {8d398d25-606f-419a-9b29-e3434aeb2485}, type: Upgrade, scope: PerUser, version: 8.1.241.0, operation: Downgrade
[0CB8:067C][2014-06-23T11:10:05]i103: Detected related package: {7EA877FF-CE7A-49CE-8F76-D5A11EA7DD7A}, scope: PerMachine, version: 1.0.0.0, language: 0 operation: MajorUpgrade
[0CB8:067C][2014-06-23T11:10:05]i103: Detected related package: {8E8A7689-FB1C-4FE5-AF7C-95D499A342DE}, scope: PerUser, version: 8.1.241.0, language: 0 operation: MajorUpgrade
[0CB8:067C][2014-06-23T11:10:05]i101: Detected package: PrerequisitesMsi, state: Absent, cached: None
[0CB8:067C][2014-06-23T11:10:05]i101: Detected package: ClientMsi, state: Absent, cached: None
[0CB8:067C][2014-06-23T11:10:05]i199:Detect complete, result: 0x0
[0CB8:076C][2014-06-23T11:10:16]i000: Setting numeric variable 'EulaAcceptCheckbox' to value 0
[0CB8:076C][2014-06-23T11:10:16]e000: Error 0x80070666: Cannot install a product when a newer version is installed.
Vậy điều gì sẽ xảy ra khi bạn chạy trình cài đặt ghi exe cũ? Lý tưởng nhất là xử lý các bản nâng cấp ở mức ghi và mức MSI. Vì vậy, nếu MSI được thiết lập để làm hạ cấp, nó sẽ xảy ra. Nếu nó không xảy ra, bạn có thể vui lòng dán các bản ghi cài đặt/gỡ cài đặt ghi không? – Isaiah4110
Bạn nói "hạ cấp từ bản beta trở lại bản phát hành ổn định". Chúng tôi xử lý bản phát hành ổn định như là bản nâng cấp từ bản phát hành beta. ví dụ. Beta 1.2.3.1234 được người dùng nhìn thấy là "1.2.3.1234". Bản phát hành sau đây là 1.2.3.1235 nhưng người dùng nhìn thấy, ví dụ: "1.2". Số phiên bản được Wix sử dụng có thể khác với phiên bản mà người dùng đã xem. ví dụ. phiên bản thông tin. –