Visual studio 2008 msi安装程序将运行两次
我有一个通过msi安装的程序。msi是使用VS2008部署项目构建的,安装完成后有一个自定义操作来运行该程序Visual studio 2008 msi安装程序将运行两次,visual-studio-2008,windows-installer,custom-action,Visual Studio 2008,Windows Installer,Custom Action,我有一个通过msi安装的程序。msi是使用VS2008部署项目构建的,安装完成后有一个自定义操作来运行该程序 一旦运行了msi,我只需更新版本号,生成新的产品代码,msi就可以在同一台电脑上再次运行。然而,我想要的是能够在同一台电脑上再次运行msi(无需使用msi修复),并让它重新安装软件(即使没有任何更改)。这可能吗?编辑:我看错了 一次性的不,这是不可能的。即使您更改了ProductCode和ProductVersion,它第二次运行时也将始终以修复模式运行。甚至修补方法也在实现修复模式,基
一旦运行了msi,我只需更新版本号,生成新的产品代码,msi就可以在同一台电脑上再次运行。然而,我想要的是能够在同一台电脑上再次运行msi(无需使用msi修复),并让它重新安装软件(即使没有任何更改)。这可能吗?编辑:我看错了
一次性的不,这是不可能的。即使您更改了ProductCode和ProductVersion,它第二次运行时也将始终以修复模式运行。甚至修补方法也在实现修复模式,基本上使用修补文件作为转换 实现这一点的唯一方法是以某种方式防止应用程序进入ARP,但我怀疑这会破坏应用程序的弹性,在这种情况下,您可能不想使用MSI作为交付系统
我过去使用纯InstallScript设置完成了这项工作。一旦安装完成,我将删除与ARP相关的注册表项,这样另一次安装将像新安装一样进行 可以通过从InstallExecuteSequence表中删除RegisterProduct操作、RegisterUser操作、PublishProduct操作和PublishFeatures操作来完成此操作。通过删除这些标准操作,应用程序将不会在系统的MSI数据库中注册,您可以像第一次安装一样反复运行安装 MSDN:
第二次安装时使用实例转换
谢谢,效果很好!AdvtExecuteSequence表中也有一些条目需要删除。