1

我正在尝试更新我的应用程序,同时也启用了一些新功能。这些功能在以前的版本中也存在,只是被关闭了。

我使用 Orca 创建了一个 MST 文件,其中我将 INSTALLEVEL 设置为 4,并且我想要安装的所有功能都设置为 1,我不想安装的那些我设置为 5 或更高。一切正常。

在此之后,我想以与安装相同的方式升级应用程序,不同之处在于我想使用 INSTALLEVEL 打开附加功能。安装完成后,我的应用程序实际上是新版本,但缺少新添加的功能。

我可以做的是在命令行中使用 ADDLOCAL=feature1,feature2 来解决这个问题,但我会避免这样做,因为在大规模情况下这个解决方案将不起作用。

我尝试在 msi 的属性表中添加 ADDLOCAL,并使用 Orca 从中生成了一个 mst 文件。这样做将安装功能,但此解决方案的问题在于:

a) MSDN推荐

b)安装后,如果我去添加/删除程序并尝试更改应用程序,我就不能了,因为它处于某种修复模式......

所以我的问题是,如何使用 mst 文件更新启用新功能的产品?

编辑

值得注意的是,如果之前在升级后安装了某个功能,它将在那里,只有在之前没有安装时才会失败。

4

1 回答 1

1

您可以尝试在标准操作 MigrateFeatureStates上设置一个错误条件,使其永不执行。我怀疑这是覆盖您的功能安装级别的一个。(您可以通过创建详细日志并在其中搜索操作名称来检查这一点

于 2015-05-19T07:05:16.000 回答