2012-08-10 261 views
0

我有一个MSI安装程序,它具有我的自定义安装程序项目输出,并且我添加了一个exe文件以在安装时运行。MSI安装程序安装和卸载问题

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

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

现在我有以下问题 -

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

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

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

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

在此先感谢

回答

1

这听起来像你正试图在错误的时间做的事情。在任何安装系统中,您应该先收集所有用户输入,然后一旦安装本身启动,应该不再需要用户输入,直到完成所有工作。

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

+0

感谢您的建议,但它对我没有任何帮助。 – sunder 2012-08-31 12:00:25

+0

这是我希望有我的安装过程 - 1)欢迎屏幕 2)系统检查 3)EULA 4)服务器设置为每个产品的许可,它通过用户的无线电选择。 5)基于上次选择的服务器设置。 6)我的窗口服务器设置,这将使一个休息电话和更新服务器。 7)接受域用户帐户凭证。 8)现在开始安装。 9)根据选择重定向到云门户并添加完成消息。 请让我知道这是可能的。 – sunder 2012-08-31 12:14:38

0

在我看来,你需要为你的行为设置适当的条件,比如启动你的exe文件执行。尝试设置类似“未安装”的内容,以便仅在初始安装期间发生,但不会在删除/修复或升级过程中发生。