如何从MSI设置中删除修复选项

时间:2018-07-02 09:45:29

标签: c# visual-studio-2010 windows-installer setup-project visual-studio-setup-proje

我已经在Visual Studio 2010中创建了一个安装项目,其中包含Windows Service和WPF EXE。安装程序运行良好,没有任何问题。

当用户尝试再次使用MSI安装应用程序时,会发生此问题。当前,它带有2个选项“修复”和“删除”的屏幕。删除选项对我们有用。当我尝试修复已安装的应用程序时,它被卡在一个错误中,提示“服务已在运行”并且应用程序的安装状态已删除,因此我们也无法卸载该应用程序。

有什么方法可以从msi设置中删除修复选项?

1 个答案:

答案 0 :(得分:1)

您无法真正从Windows Installer安装程序中删除“修复”,尤其是在Visual Studio生成的安装程序中。例如,无论做什么,都无法删除MSI文件上的右键单击“修复”选项。您应该解决潜在的问题,即(一个猜测)您在自定义代码中具有启动服务的代码,该服务未在调用中使用完全正确的条件。该代码或该代码假定仅当该服务刚刚安装且未运行时才会调用它。

换句话说,这是XY problem,因为实际的问题似乎是一些代码,应该检查该服务是否已安装并正在运行(使用自定义操作条件或代码),但是您正在询问如何实现您建议的摆脱Windows Installer功能的解决方案。