Installation Installshield未在小升级时更新相关DLL
我目前正在使用InstallShield部署.NET Winforms应用程序。我是InstallShield的新手,不喜欢学习曲线。Winforms应用程序有三个相关的DLL,它们在小升级期间不会得到更新。例如,对于小升级,我将版本从1.0.001更改为1.0.002。每个生成的包代码都会自动更改 我已尝试将dll添加到[INSTALLDIR],并将属性设置为“始终覆盖”。由于某些原因,这会导致升级也不会更新主exe 尝试更改产品代码以强制进行重大升级。它在旧版本的旁边安装了一个新版本,但新版本仍然有旧的dll 尝试将模式从“omus”更改为“vomus”。这根本没有效果 尝试使用重新安装=全部,重新安装模式=vomus。这并没有更新dll,还导致新安装失败,并显示消息“应用程序未标记为安装” 已尝试将版本从1.0.00x更改为1.1.00x。dll仍然没有更新 我注意到,当我查看这些dll文件的属性时,它们的文件版本为1.0.0.0,产品版本为1.0.0.0。我是否需要手动增加这些版本,以便InstallShield识别它们已更新Installation Installshield未在小升级时更新相关DLL,installation,windows-installer,installshield,Installation,Windows Installer,Installshield,我目前正在使用InstallShield部署.NET Winforms应用程序。我是InstallShield的新手,不喜欢学习曲线。Winforms应用程序有三个相关的DLL,它们在小升级期间不会得到更新。例如,对于小升级,我将版本从1.0.001更改为1.0.002。每个生成的包代码都会自动更改 我已尝试将dll添加到[INSTALLDIR],并将属性设置为“始终覆盖”。由于某些原因,这会导致升级也不会更新主exe 尝试更改产品代码以强制进行重大升级。它在旧版本的旁边安装了一个新版本,但新版
关于一个典型的主要升级问题的警告:请注意,在主要升级过程中,可能会卸载在原始安装中设置为永久的已更改、未版本化的文件,然后重新安装,这会给人留下已被替换的印象,但它们实际上已被删除并重新创建。这些通常是重要的设置文件,如XML文件或类似文件,人们为此问题进行了大量的斗争。主要升级本质上是一个序列。卸载旧产品,然后安装新产品,反之亦然。在前一种情况下,可以先卸载文件,然后重新创建。在后一种情况下,如果组件引用正确,则不会发生这种情况,因为产品之间匹配的文件不会卸载,而是保留,然后在需要时覆盖(根据版本号)。最后一个问题的答案是“是”,版本号必须增加。除非将REINSTALLMODE设置为等于emus(不建议作为真正的修复程序-只是一种解决方法)。是否更新AssemblyVersion和/或AssemblyFileVersion属性?我发现在visual studio中手动更新DLL的文件版本会导致获取DLL的更新副本。对程序集版本的更改似乎没有什么不同。Jeff,正如Chris提到的,请检查AssemblyFileVersion属性:@Glytzhkof谢谢。为自动更新每个DLL AssemblyFileVersion找到了一个很好的解决方案谢谢您的全面回答。这里有很多东西需要消化和尝试。我一步一步地手动将其中一个DLL的文件版本更改为1.0.0.1,而不更改IS中的任何内容。成功了;DLL已在下次升级时更新。相反,在[INSTALLDIR]中添加一个其他DLL会自动添加一个组件并使其成为密钥文件。但正如我上面提到的,升级之后无法更新DLL,也无法更新主exe。所以现在我将在visual studio中手动更新DLL文件版本。。。