我们有一个产品,其特征树在不同版本之间发生了很大变化,因此MigrateFeatures="yes"
元素上的UpgradeVersion
选项似乎不起作用。
我如何手动将旧功能转换为新功能?我是否需要自定义操作,如果需要,我该如何从那里开始?
答案 0 :(得分:3)
据我所知,功能树结构不相关 - 它与功能表中的名称匹配,因此如果它们都匹配,您仍然可以进行迁移。请注意,它是名称,而不是标题,因此如果名称相同但UI中的标题不同,则可以。所以它取决于究竟发生了什么变化,如果它只是布局或许多Name值。
否则,您需要自定义操作来设置ADDLOCAL以设置已安装列表中的功能列表,您需要使用MsiEnumFeatures和MsiQueryFeatureState进行查询。或者代码可以在外部启动器中找到已安装的功能,然后使用功能的ADDLOCAL命令行启动MSI,可能不提供功能对话框。我认为这是唯一的方法。