在WIX中如何防止降级和重新安装相同版本的应用程序?
根据,以下代码应防止降级和重新安装同一版本的应用程序在WIX中如何防止降级和重新安装相同版本的应用程序?,wix,windows-installer,Wix,Windows Installer,根据,以下代码应防止降级和重新安装同一版本的应用程序 <CustomAction Id='AlreadyUpdated' Error='Foobar 1.0 has already been updated to 1.0.1 or newer.' /> <CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' /> <Ins
<CustomAction Id='AlreadyUpdated' Error='Foobar 1.0 has already been updated to 1.0.1 or newer.' />
<CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' />
<InstallExecuteSequence>
<Custom Action='AlreadyUpdated' After='FindRelatedProducts'>SELFFOUND</Custom>
<Custom Action='NoDowngrade' After='FindRelatedProducts'>NEWERFOUND</Custom>
</InstallExecuteSequence>
自找的
纽尔费
此功能应如何工作?是否应该出现一些错误消息并停止安装?
如我所见,这些示例根本不起作用-可以使用命令“msiexec/I SampleUpgrade.msi REINSTALLMODE=vomus”多次降级并安装同一版本的应用程序。
没有任何错误消息。
我使用WIX 3.8和Windows 7。可能有一些我们不知道的假设,但您不能安装相同的MSI设置两次。已安装的产品由其ProductCode和PackageCode定义,但更重要的是,您要完成的是什么?如果您想要“相同”产品的多个副本,那么(例如)使用新的ProductCode和PackageCode制作另一个副本。如果要使用新文件更新现有安装的产品,请进行主要升级。如果出于某种原因,这意味着重新安装相同的设置以替换现有设置,那么使用AllowSamenVersionUpgrades的WiX MajorUpgrade元素可能就是您想要的。REINSTALLMODE命令行是更新现有已安装产品的一种方式,而不是安装另一个副本 换句话说,在不知道你的目标的情况下,不清楚如何让你达到你想去的地方