0

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

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

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

现在我有以下问题 -

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

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

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

现在我怎样才能快速修复以上两个选项?有没有更好的方法来完成这项任务->我的原始问题创建应用程序自定义安装程序的单击 msi 文件

提前致谢

4

2 回答 2

1

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

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

于 2012-08-31T09:43:08.373 回答
0

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

于 2016-05-23T16:54:26.813 回答