【问题标题】: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 功能的解决方案。

    【讨论】:

    • 我从不使用这种项目类型,我不确定它支持哪些功能。如果它对服务的支持有限,是否可以使用this approach (bottom) 注入 ServiceControl 表?我的意思是作为后期构建步骤?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 2012-02-19
    • 1970-01-01
    相关资源
    最近更新 更多