代码之家  ›  专栏  ›  技术社区  ›  Paul Michaels

msi安装程序运行两次

  •  3
  • Paul Michaels  · 技术社区  · 14 年前

    我有一个通过msi安装的程序。msi是使用VS2008部署项目构建的,它有一个自定义操作,可以在安装完成后运行该程序。

    一旦msi已经运行,我可以简单地更新版本号,生成一个新的产品代码和msi可以再次运行在同一台电脑上。然而,我想要的是能够运行msi的第二次在同一台电脑上(不使用msi修复)和重新安装软件(即使没有任何改变)。这可能吗?

    4 回复  |  直到 14 年前
        1
  •  3
  •   William Leara    14 年前

    可以通过从InstallExecuteSequence表中删除RegisterProduct操作、RegisterUser操作、PublishProduct操作和PublishFeatures操作来完成此操作。通过删除这些标准操作,应用程序将不会在系统的MSI数据库中注册,并且您可以像第一次安装一样反复运行和重新运行安装。


    Adding and Removing an Application and Leaving No Trace in the Registry

        2
  •  0
  •   OneSHOT    14 年前

        3
  •  0
  •   Daniel Lee    14 年前

    实现这一点的唯一方法是以某种方式阻止应用程序进入ARP,但我怀疑这会破坏应用程序的弹性,在这种情况下,您可能不想使用MSI作为您的传递系统。

    我以前使用纯InstallScript安装程序完成了这项工作。一旦安装完成后,我删除与ARP相关的注册表项,这样另一个安装就会像一个新的安装一样。

        4
  •  0
  •   Hangman_1966    14 年前