【问题标题】:MSI setup installation and uninstallation issuesMSI 设置安装和卸载问题
【发布时间】:2012-08-10 04:52:54
【问题描述】:

我有一个 MSI 安装程序,它有我的自定义安装程序项目输出,我添加了一个 exe 文件以在安装时运行。

所以我的 MSI 安装文件将从源位置复制或删除文件,我的自定义 GUI 将安装我的窗口服务器调用一些服务器 api 并更新其登录凭据等。

复制和删除文件由 MSI 控制,因为它添加为 MSI 项目的输出。如果我正在安装它会复制文件,或者如果我卸载它会删除文件。

现在我有以下问题 -

1) 现在,如果我将转到控制面板并尝试卸载我的应用程序,然后如果我中止它,我的 GUI 将中止,但 MSI 将清除所有文件。

2) 如果我将选择卸载并从 GUI 中进一步选择修复。它仍然会删除文件。

所以我的安装程序不是真正的自定义安装程序,它只是同名的。

现在如何快速修复以上两个选项? 有没有更好的方法来完成这项任务->我原来的问题create single click msi file of custom installer of an application

提前致谢

【问题讨论】:

    标签: c# installation windows-installer setup-project


    【解决方案1】:

    听起来你正试图在错误的时间做事。在任何安装系统中,您都应该预先收集所有用户输入,然后在安装本身开始后,在一切完成之前不再需要用户输入。

    确保完整性的最简单方法是只让用户在 UI 收集阶段而不是安装阶段取消。如果您确实想让用户在安装阶段取消,则必须将其传递给底层引擎,以便它知道取消和回滚迄今为止所做的任何更改。

    【讨论】:

    • 感谢您的建议,但对我没有任何帮助。
    • 这就是我想要的安装过程 - 1) 欢迎屏幕 2) 系统检查 3) EULA 4) 根据产品许可的服务器设置,它是用户的无线电选择。 5) 基于上次选择的服务器设置。 6)我的窗口服务器设置将进行休息调用并更新服务器。 7) 接受域用户帐户凭据。 8) 现在开始安装。 9) 根据选择重定向到带有完成消息的云门户。请让我知道这是否可能。
    【解决方案2】:

    在我看来,您需要为您的操作设置适当的条件,例如启动您的 exe 文件执行的操作。尝试设置诸如“未安装”之类的设置,使其仅在初始安装期间出现,而不是在删除/修复或升级期间出现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-29
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多