3

我正在为小型 Windows 应用程序使用 Advanced Installer 专业版。

我想知道在执行安装程序并且产品已经安装(并且是最新的)时是否可以运行自定义操作?

通常,当您运行安装程序时,您要么收到“已安装另一个版本的产品”消息,要么没有任何反应。据我了解它是自动执行此操作的 MSI,但我希望有一些方法可以解决它,因为 Advanced Installer 可以将 MSI 包装在它自己的 exe 文件中。

如果它已经安装,我想做的是启动应用程序。我已经在正常安装完成后自动启动应用程序,但我希望安装程序在运行时始终启动应用程序。

4

1 回答 1

3

“已安装另一个版本的产品”消息仅在开发阶段出现,您的用户将永远不会看到此消息。更准确地说,当您安装了版本 1.0.0 的产品时,会出现此消息,而不是添加一个文件,重建 MSI 并尝试再次安装它,使用相同的版本 1.0.0。

在这种情况下,您有两个具有不同包代码但产品代码和版本相同的包,因此您会看到上述包。

您的用户永远不会有机会运行两个具有相同版本的不同软件包,因为他们可以访问官方版本,因此他们不会看到该消息。

他们将看到的实际上是维护对话框,即修改/修复/删除产品的选项。

要在每次他们再次启动 MSI 时启动您的应用程序,您可以在 InstallUISequence 的开头,在自定义操作页面中设置启动文件或打开 URL 预定义的自定义操作,设置为启动您的主可执行文件,执行条件设置为:

已安装

仅当应用程序已安装在计算机上时,此确切条件才会执行自定义操作。

但是,MSI 不会关闭,因此用户仍会看到维护对话框。

于 2012-07-18T15:27:50.167 回答