1

情况是这样的:

我为我的 .NET 应用程序创建了一个安装项目,该项目使用特殊程序集并定义了一些自定义操作,这些操作在安装期间被调用。如果机器上已经安装了旧版本的应用程序,则设置项目设置为检测以前的安装并进行自动升级。

我想做的是在安装过程中通过一些自定义操作来检测我是否正在升级已经安装的版本 - 如果这是真的,我正在升级哪个版本(它可能是以前安装的 MSI 包的版本)。

我试图在安装过程中的不同点(安装、提交、卸载)闯入调试器,并且在每种情况下,旧版本已经从磁盘中删除,所以我无法访问 odl exe 并从它。

这样的事情甚至可能吗?或者在调用自定义操作时已经太晚了?

4

1 回答 1

0

不幸的是,直接使用 VS Setup 项目是不可能的

但是您可以将 Orca 用于 - 在“RemoveFiles”之前重新安排 DetectOldVersionCA 或 - 最佳决策:使用相同的 UpgradeCode 将行添加到“Upgrade”表中,将版本从 VersionMin 移动到 VersionMax 并输入“ActionProperty” ' 类似 (OLDFOUND) 的属性名称,如果找到旧版本的程序将被设置

于 2012-10-23T16:58:39.133 回答