2008-10-13 136 views
6

我正在创建一个Visual Studio安装项目。我想从安装我的组件的系统中卸载另一个组件。另一个组件是使用Visual Studio创建的我自己的安装程序安装的。VS安装项目:安装时卸载其他组件

目前,当我从组件的安装操作中调用其他组件的卸载时,我收到错误代码:1618 (another MSI already running)

任何人都可以建议我一种解决此问题的替代方法吗?

+5

如果你需要一个答案,我花了一个赏金......? – 2012-10-05 12:06:30

回答

1

如果您不需要实际运行其他组件的卸载,则可以使用自定义操作来删除您打算替换的文件/文件夹。

使用自定义操作会迫使您执行卸载程序为您执行的所有清理操作。

难道你是在替换一些东西,或者你只是试图卸载一些东西,因为安装完全不同的东西?

MSDN Custom Action Walkthrough

我也看到了菲尔·威尔逊已大有裨益的自定义操作几篇文章:
Phil Wilson on Custom Actions

0

我想你可以通过在shell命令运行该程序的uninst.exe而安装程序启动.....

1

我遇到了类似的问题,需要几次安装才能一起运行,并且无法找到以递归方式运行MsiExec的方法。我使用的解决方案是将安装程序绑定到一个脚本,该脚本将运行MsiExec一次以安装/卸载旧软件包,然后再运行新安装程序。客户必须运行脚本进行安装。

如果您找到更好的方法,请告诉我。

相关问题