2013-07-08 48 views
0

我已创建一个名为“xyz.msi”的应用程序并进行安装。现在我创建了另一个名为“abc.msi”的应用程序并尝试安装。msi如何检测已安装的应用程序

但我的问题是如果“xyz.msi”已经安装,那么它不应该允许安装“abc.msi”。 在此先感谢

+0

你是如何创建你的msi文件的?阅读http://msdn.microsoft.com/en-us/library/windows/desktop/aa370854(v=vs.85).aspx和http://msdn.microsoft.com/en-us/library/windows /desktop/aa372375(v=vs.85).aspx – Nerielle

回答

1

您在问MSI如何检测已安装的应用程序。它的,因为每个MSI都有一个唯一的产品编号

(请参阅本:http://msdn.microsoft.com/en-us/library/windows/desktop/aa370854(v=vs.85).aspx

每当你尝试安装一个产品它查找在产品代码,如果它匹配它可以让你重新安装或升级。如果它不会,它不会。取决于你如何创建MSI。有很多创建方法,但不确定应用程序是否允许您查看属性。

+0

包含部分内容,是的,但sunil询问如何禁止安装。 – Philm

2

看看Upgrade table。您可以使用它来定义搜索条件以及msidbUpgradeAttributesOnlyDetect属性,以便为您的操作属性分配找到的ProductCode属性。然后,您可以使用LaunchCondition table中的动作属性来防止安装。

相关问题