msm-合并模块和vs可重新分配的行为... [英] msm - merge module and vs redistribuatble behavior...

查看:51
本文介绍了msm-合并模块和vs可重新分配的行为...的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好
我在使用Microsoft的合并模块.msm文件时遇到问题.在我们的应用程序中,我们在安装程序中包括了合并模块版本MFC.msm,ATL.msm,CRT.msm,MFCLOC.msm等8.0.50727.762,在以后的版本中,我们包括了版本8.0.50727.4053.但是相关的dll并未从旧版本.762更新到WinSXS文件夹中的.4053.但是,如果我们使用vs2005redist.exe,则替换dll效果很好.但是不同之处在于vs2005redist.exe替换了Windows/System32文件夹中的dll.我不知道为什么合并模块.msm文件(当包含在installshield中时)不会替换旧版本的dll..任何人都可以对此进行说明吗?

Hello all
I am having an issue with the Microsoft''s merge module, the .msm files . In our application we included the merge module version MFC.msm , ATL.msm , CRT.msm , MFCLOC.msm etc 8.0.50727.762 in our setup and in our later build we included version 8.0.50727.4053 . But the relevant dlls are not updated from the older version .762 to .4053 in WinSXS folder . But the replacement of the dlls works fine if we use the vs2005redist.exe . But the difference being that the vs2005redist.exe replaces the dlls in Windows/System32 folder. I have no idea why the merge modules .msm files ,when included in the installshield , setup is not replacing the older dlls .. can anyone throw some light on this please ?

推荐答案

VS的依赖行为在不久前发生了变化.新版本与旧版本并排安装.然后,您的应用程序exe和dll将包含清单清单条目,该清单条目引用其所需的MFC或ATL的版本.

为确保已安装msm,请检查Windows \ WinSXS文件夹,其中应包含所有dll(包括该dll的多个版本).
当您安装VS2005redist.exe时,您要安装的是较新版本(SP1)还是较旧的版本?我怀疑redist较旧,因为它不应直接安装到System32.

简而言之,更高的版本将不会取代旧的版本.主要问题是:您的应用程序仍然可以正常运行吗?如果您运行depends.exe(Visual Studio工具)并检查依赖关系,是否表明它已绑定到新版本?在这种情况下,就没有问题.
如果您的应用程序无法正常运行,请在此处查看: http://msdn. microsoft.com/en-us/library/ms235342(VS.80).aspx
The behaviour of dependancies for VS changed a while ago. The newer version install side-by-side with older versions. Your application exe''s and dll''s will then include a manifest entry referring to the versions of MFC or ATL it requires.

To ensure that the msm is being installed, inpect the Windows\WinSXS folder, it should include all the dll''s (including multiple versions of the dll''s).
When you install the VS2005redist.exe, are you installing the newer version (SP1) or the older version? I suspect that the redist is older, since it should not be installing directly to System32.

So in short, later versions will not replace older versions. The main question is: does your application still run correctly? If you run depends.exe (Visual Studio Tools) and inspect the dependancies, does it show that it is bound to the new versions? In that case, there are no issues.
If your application does not run correctly, take a look here: http://msdn.microsoft.com/en-us/library/ms235342(VS.80).aspx


这篇关于msm-合并模块和vs可重新分配的行为...的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆