WiX升级问题 – 文件的主要版本增加了,但版本较低,现在删除了旧
我根据目录(它是一个Web应用程序)自动为我的安装程序生成一个WiX文件,它包含对以下3个.Net程序集的引用:
> Migrator.dll 这是生成的WiX片段: <Fragment> <DirectoryRef Id="bin"> <Component Id="bin.Migrator.dll" Guid="*"> <File Id="bin.Migrator.dll" Name="Migrator.dll" KeyPath="yes" Source="..WebApplicationbinMigrator.dll" /> </Component> </DirectoryRef> </Fragment> <Fragment> <DirectoryRef Id="bin"> <Component Id="bin.Migrator.Framework.dll" Guid="*"> <File Id="bin.Migrator.Framework.dll" Name="Migrator.Framework.dll" KeyPath="yes" Source="..WebApplicationbinMigrator.Framework.dll" /> </Component> </DirectoryRef> </Fragment> <Fragment> <DirectoryRef Id="bin"> <Component Id="bin.Migrator.Providers.dll" Guid="*"> <File Id="bin.Migrator.Providers.dll" Name="Migrator.Providers.dll" KeyPath="yes" Source="..WebApplicationbinMigrator.Providers.dll" /> </Component> </DirectoryRef> </Fragment> 我们一直使用相同的基本安装程序结构一年左右,但最近我们将Migrator.Net库更新为新的内部构建,看到版本号和程序集标题/描述属性发生变化(从Orca中转出) > bin.Migrator.dll bin.Migrator.dll Migrator.dll 16384 3.0.1317.0 0 512 78 在升级库之后: > bin.Migrator.dll bin.Migrator.dll Migrator.dll 16384 3.2.0.1 0 512 55 虽然次要版本较高,但修订版现在为1而不是1317. 从那时起,我们发现升级到新版本导致这3个文件没有被复制(因此升级过程会删除旧文件,但不会安装新文件). 这是否与更改程序集的版本号相关,如果有,则有任何方法可以覆盖此行为(我们只想删除所有内容,然后将所有内容复制到新版本,无论版本如何). 有趣的是,如果你安装,然后重新运行安装程序并进行“修复”,它会复制新文件 – 我认为这是因为修复文件时不再存在,所以文件版本检查逻辑不适用? 任何关于它如何工作以及如何避免我们所遇到的升级问题的提示都将不胜感激.
正如
the linked question建议的那样,您可以尝试重新安排
RemoveExistingProducts,以便在安装任何新文件之前删除旧产品,如下所示:
<InstallExecuteSequence> <RemoveExistingProducts After="InstallValidate" /> <!-- other actions --> </InstallExecuteSequence> 另一种选择是修改 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows – Power Shell的环境变量
- windows – 需要一种可以驱动两台打印机的快速编程语言
- 什么是在Windows Server 2003中运行的优秀SSH服务器?
- Wix主要升级:如何防止Windows服务重新安装?
- windows – 如果长时间在大量DC上设置-strict,如何正确删除
- active-directory – Active Directory管理中心 – 调整成员
- 在Windows上用Xerces 3.0.1和C编写XML
- 批处理文件 – 如何在Windows中连接两个文本文件,删除重复项
- hyper-v – BITS Compact Server,可以安装在Windows 10 Pro
- 收集ISAPI_Rewrite的中文资料,URL重写,URL静态化,URL简化