【问题标题】:How to remove repair option from msi setup如何从 msi 设置中删除修复选项
【发布时间】:2018-07-02 09:45:28
【问题描述】:
我在 Visual Studio 2010 中创建了一个安装项目,其中包含 Windows 服务和 wpf exe。安装程序运行良好,没有任何问题。
当用户尝试使用 MSI 再次安装应用程序时会出现此问题。目前,它提供了带有“修复”和“删除”两个选项的屏幕。删除选项对我们有用。当我尝试修复已安装的应用程序时,出现错误提示“服务已在运行”,并且应用程序的安装状态已被删除,因此我们也无法卸载该应用程序。
有没有办法从 msi 设置中删除修复选项?
【问题讨论】:
标签:
c#
visual-studio-2010
windows-installer
setup-project
visual-studio-setup-proje
【解决方案1】:
您无法真正从 Windows Installer 安装程序中删除修复,尤其是在 Visual Studio 生成的安装程序中。例如,无论您做什么,都无法删除 MSI 文件上的右键修复选项。您应该解决根本问题,即(猜测)您有自定义代码来启动一项服务,该服务在调用时不使用完全正确的条件。无论是那个还是代码都假定它只会在服务刚刚安装并且没有运行时才被调用。
换句话说,这是一个XY problem,因为实际问题似乎是一些代码应该检查服务是否已安装并正在运行(使用自定义操作条件或代码)但您正在询问如何实现您提出的摆脱 Windows Installer 功能的解决方案。