我正在尝试从最新和以前的 MSI 中生成 MSP,如下所示:
- 先前的 MSI 是固定的并用作基线。
- 最新的 MSI 是通过每晚对包含的文件进行的新修改生成的,并且每一代都会获得一个新的 ProductVersion(服务器上的每个构建都会发生这种情况)。
- 机器上安装了作为基线的先前 MSI;假设它的版本为 1.0.0.0。
- 第一次构建时生成的 MSP 安装成功,现在产品版本为 1.0.0.1。
- 最新的 MSI 现在是 1.0.0.2 并且有新的修改,我们想要生成一个新的 MSP 来获得机器的这些修改,MSP 是根据以前的 MSI 1.0.0.0 和最新的 1.0 之间的差异生成的.0.2.
问题是我们在尝试安装第二个 MSP 时遇到错误:
不支持卸载包。
以下是错误日志:
MSI (s) (78:EC) [07:57:01:214]: Final Patch Application Order:
MSI (s) (78:EC) [07:57:01:214]: {C39177DC-24FD-432E-9D50-159E7E3CC62C} - C:\temp\[Package Name].msp
MSI (s) (78:EC) [07:57:01:214]: Other Patches:
MSI (s) (78:EC) [07:57:01:214]: Unknown\Absent: {9BEBFF56-7735-4618-BF01-01E96548FA81} -
MSI (s) (78:EC) [07:57:01:214]: Product: [Package Name] - Update '[Package Name]' could not be removed. Error code 1646.
Additional information is available in the log file C:\Users\Administrator\Desktop\msp.log.
MSI (s) (78:EC) [07:57:01:214]: Windows Installer removed an update. Product Name: [Package Name]. Product Version: 1.3.0.0.81.159. Product Language: 1033.
Manufacturer: [Company]. Update Name: [Package Name]. Removal success or error status: 0.
MSI (s) (78:EC) [07:57:01:214]: Product: [Package Name] - Update '{C39177DC-24FD-432E-9D50-159E7E3CC62C}' could not be installed. Error code 1646.
Additional information is available in the log file C:\Users\Administrator\Desktop\msp.log.
MSI (s) (78:EC) [07:57:01:214]: Windows Installer installed an update. Product Name: [Package Name]. Product Version: 1.3.0.0.81.159. Product Language: 1033.
Manufacturer: [Company]. Update Name: {C39177DC-24FD-432E-9D50-159E7E3CC62C}. Installation success or error status: 1646.
MSI (s) (78:EC) [07:57:01:214]: Product: [Package Name] -- Installation failed.
MSI (s) (78:EC) [07:57:01:214]: Windows Installer installed the product. Product Name: [Package Name]. Product Version: 1.3.0.0.81.159. Product Language: 1033.
Manufacturer: [Company]. Installation success or error status: 1646.
Uninstallation of the update package is not supported.
C:\Windows\Installer\5d9684f.msi
允许这样做吗?或者我们是否必须在每次安装 MSP 时更改以前的 MSI,所以我们只为每个 MSP 保留不同的文件?