我正在部署两张CD,并认为两者都有一个setup.exe软件包。
一张CD将被称为“标准SKU”,setup.exe将安装a.msi和b.msi。
另一张CD将被称为“pro SKU”,setup.exe将安装a.msi,b.msi和c.msi。
创作setup.exe文件时的正确步骤是什么?具体来说,对于某人安装了标准SKU,然后将专业SKU安装在顶部的情况;这会被视为相关的捆绑/升级吗?只需安装两个捆绑包并在ARP中保留两个条目?还有别的吗?
答案 0 :(得分:1)
我不会尝试在这里使用升级,但相关的捆绑包绝对是开始的地方。在这种情况下,我会让两个捆绑包合适地分享RelatedBundle
个ID和Tag
。在“标准”捆绑包中添加如下内容:
<Bundle ... Tag='standard'>
<RelatedBundle Id='PUT-SAME-GUID-HERE' Action='Detect' />
对“pro”Bundle执行相同操作,但Tag
适当。
现在,在您的自定义引导程序应用程序中,在OnDetectRelatedBundle()
上,如果已安装其中一个Bundles,您将收到回调。该回调还将发送回Tag
,以便您知道哪个Bundle存在。您可以将结果显示给用户或任何您喜欢的内容。真正重要的是,在OnPlanRelatedBundle()
回调期间,您需要返回相应的RequestState
来说明是删除还是离开找到的Bundle。
祝你好运,所有数据都存在,只需要获得正确的回调。