本文介绍了msi安装程序运行两次的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have an program that gets installed via an msi. The msi was built using a VS2008 deployment project and has a custom action to run the program once the install is complete.

一旦运行了msi,我可以简单地更新版本号,生成新的产品代码,然后可以在同一台PC上再次运行msi。但是,我想要的是能够在同一台PC上第二次运行msi(无需使用msi修复),并让它再次重新安装软件(即使没有任何更改)。

Once the msi has been run, I can simply update the version number, generate a new product code and the msi can be run again on the same PC. However, what I want is to be able to run the msi a second time on that same PC (without using msi repair) and have it re-install the software again (even if nothing has changed). Is this possible?

推荐答案

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

You can accomplish this by removing the RegisterProduct Action, RegisterUser Action, PublishProduct Action, and PublishFeatures Action from the InstallExecuteSequence Table. By removing these standard actions, the application will not get registered in system's MSI database and you can run and re-run the install over and over as if it were a first-time install.

MSDN:

这篇关于msi安装程序运行两次的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-05 23:39