安装时删除其他软件 [英] Remove other software on installation

查看:28
本文介绍了安装时删除其他软件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

安装我的软件时,我需要注意之前卸载了另一个 msi 包.这可能吗?燃烧可以为我做这个吗?

When installing my software I need to take care another msi package is uninstalled before. Is this possible? Can burn do this for me?

推荐答案

MSI/Major Upgrade:您可以向 升级表在您的一个或所有 MSI 文件中安装.然后将在安装 MSI 之前(或之后)卸载旧的/其他 MSI.这是 MSI 内置的主要升级"功能旨在为您自己的产品提供升级,但您可以卸载任何您想要的基于 MSI 的产品 - 甚至是竞争产品 - 前提是您很疯狂,并且首先致电法律部门:-).也许看到这个描述(至少相关问题):向 MSI UpgradeTable 添加条目以删除相关产品.

MSI / Major Upgrade: You can add entries to the Upgrade table in one or all of the MSI files you install. Then the older / other MSI will be uninstalled before (or after) your MSI is installed. This is MSI's built in "major upgrade" feature intended to deliver upgrades for your own products, but you can uninstall any product you want that is MSI-based - even a competitive product - only if you are nuts, and do call legal first :-). Maybe see this description (related problem at least): Adding entries to MSI UpgradeTable to remove related products.

Burn:Burn 可以运行可以启动卸载预先存在的 MSI 文件的 EXE 文件,但是当您可以使用上述内置文件时,我永远不会选择这种方法 -在 MSI 方法中.我不确定您是否可以通过 ExePackage 元素,但您可以通过多种方式从定制的 EXE 文件中触发卸载:从命令卸载MSI文件行而不使用 msiexec.这取决于您的 EXE 是用什么编写的.如果它是托管代码,则可以使用 DTF 方法(链接答案中的选项 6).如果是 C++,也许使用 MSI API Win32 函数.请参阅链接答案中的选项 14.我想您也可以选择使用 msiexec.exe(选项 3).我的建议:始终使用本机代码进行部署.您的设置必须适用于任何机器、任何语言、任何状态和任何操作系统版本.还有很多变数.最小依赖是唯一的解决方法.

Burn: Burn can run EXE files that can initiate uninstall of pre-existing MSI files, but I would never choose this approach when you can use the above built-in MSI approach instead. I am not sure if you can call msiexec.exe directly via the ExePackage element of Burn, but you trigger the uninstall from within a custom made EXE file in a myriad of ways: Uninstalling an MSI file from the command line without using msiexec. It depends what your EXE is written in. If it is managed code, maybe use the DTF method (option 6 in the linked answer). If it is C++, maybe use the MSI API Win32 functions. See option 14 in the linked answer. I guess you can also chose to shell out to msiexec.exe (option 3). My advice: always go native code for deployment. Your setup must work on any machine, in any language, in any state and in any OS edition. There are many further variables. Minimal dependencies is the only cure.

这篇关于安装时删除其他软件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆