在创建示例时,我注意到非常奇怪的行为,因此我有些卡住了。我将在 2 个场景中解释问题
情景 1。
- 创建两个插件。
- 创建两个特征。
- 创建一种产品并仅包含一项功能。
- 创建一个类别并包含这两个功能。
- 导出产品并使用生成的启动器对其进行测试。一切正常。
现在导出可部署功能并将生成的文件复制到网络服务器中。
打开安装新软件选项并使用 URL 安装第二个功能。
该功能已安装,甚至在每次构建时都会更新。
方案 2
- 创建两个插件。
- 创建两个特征。
- 创建一个产品并包含两个功能。(这与第一种情况不同,第一种情况只包括一个功能。)
- 创建一个类别并包含这两个功能。
导出产品并使用生成的启动器对其进行测试。一切正常。
现在导出可部署功能并将生成的文件复制到网络服务器中。
打开安装新软件选项并使用 URL 更新应用程序。
更新程序抱怨该功能已安装,将改为执行更新。
不幸的是,更新不起作用,该步骤显示错误为:
Your original request has been modified.
"Mail Protection" is already installed, so an update will be performed instead.
"Core" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
Software being installed: Mail Protection 1.0.0.201103061657 (com.example.mail.protection.feature.group 1.0.0.201103061657)
Software currently installed: RCP Product 1.0.0.201103061656 (com.example.mail.product 1.0.0.201103061656)
Only one of the following can be installed at once:
Mail Protection 1.0.0.201103061656 (com.example.mail.protection.feature.jar 1.0.0.201103061656)
Mail Protection 1.0.0.201103061657 (com.example.mail.protection.feature.jar 1.0.0.201103061657)
Cannot satisfy dependency:
From: RCP Product 1.0.0.201103061656 (com.example.mail.product 1.0.0.201103061656)
To: com.example.mail.protection.feature.group [1.0.0.201103061656]
Cannot satisfy dependency:
From: Mail Protection 1.0.0.201103061656 (com.example.mail.protection.feature.group 1.0.0.201103061656)
To: com.example.mail.protection.feature.jar [1.0.0.201103061656]
Cannot satisfy dependency:
From: Mail Protection 1.0.0.201103061657 (com.example.mail.protection.feature.group 1.0.0.201103061657)
To: com.example.mail.protection.feature.jar [1.0.0.201103061657]
这似乎令人惊讶,因为当我在产品导出后安装该功能时更新有效。
但是,如果该功能已与产品捆绑在一起,则该功能的更新将不起作用。
你知道为什么吗?