我正在使用Advanced Installer专业版用于小型Windows应用程序。
我想知道在执行安装程序并且产品已经安装(并且是最新的)时是否可以运行自定义操作?
通常在运行安装程序时,您会收到“已安装的另一个版本产品”消息,或者没有任何操作。根据我的理解,这是自动执行此操作的MSI,但我希望有一些方法可以绕过它,因为Advanced Installer可以将MSI包装在它自己的exe文件中。
我想要的是启动应用程序(如果它已经安装)。我在正常安装完成后已经自动启动了应用程序,但我希望安装程序在运行时始终启动应用程序。
答案 0 :(得分:3)
消息“已安装的另一个版本产品”仅在开发阶段出现,您的用户将永远不会看到此消息。更确切地说,当您使用版本1.0.0安装产品时,会显示此消息,而不是向其添加一个文件,重建MSI并尝试使用相同版本1.0.0重新安装它。
在这种情况下,您有两个包含不同包裹代码的包裹,但产品代码和版本相同,因此您会看到上面提到的包裹。
您的用户永远不会有机会使用相同版本运行两个不同的软件包,因为他们可以访问官方版本,因此他们不会看到该消息。
他们将看到的实际上是维护对话框,即修改/修复/删除产品的选项。
要在每次再次启动MSI时启动应用程序,您可以在InstallUISequence开头的“自定义操作”页面中启动启动文件或Open URL预定义自定义操作,设置为启动主可执行文件,执行条件设置为:
安装的
只有在计算机上已安装应用程序时,此确切条件才会使自定义操作执行。
但是,MSI不会关闭,因此用户仍会看到维护对话框。