害人的VS2008,manifest导致“应用程序配置不正确,应用程序未能启动” – DoubleLi

在VC 2008伸出中,以任何方式显示地委派要运用的C++库的版本? 

功劳发生轻松氛围的:VS2008 SP1 + Win2003 SP2 
        因我的VS2008骑上了SP1补丁,因而有人家MFC库纸 MSVCR90.DLL)。 

创立了人家新的MFC应用程序,编制版本,叫做“”,您可以从程序切中要害清单纸(清单)中牧座上面的使满意。: 

XML code

... <dependency>

<dependentAssembly>

<assemblyIdentity typeWin32 name='''' version='''' processorArchitecture=''x86'' publicKeyToken=''1fc8b3b9a1e18e3b''/>

dependentAssembly>

dependency>

<dependency>

<dependentAssembly>

<assemblyIdentity typeWin32 name='''' version='''' processorArchitecture=''x86'' publicKeyToken=''1fc8b3b9a1e18e3b''/>

dependentAssembly>

dependency> ...

如此程序需求援用MFC库和运转库。。 

成绩一:程序运转的解释,装满的责任版本的却是版本的运转库?这是在哪里停止设置的?以任何方式交换如此版本号? 

成绩二:(轻蔑的拒绝或不承认如同先前处理了,但据我看来确信更多。
摆设工夫,把X:\VS骑上列入目录\VC\redist下对应的运转库和.manifest纸(都是版本的)重现到与同样的事物列入目录下。在人家完整彻底的新体系中,会涌现“应用程序配置不正确,应用程序启动失律。 

后头,传球不休的化验,显示证据应用程序切中要害清单纸委派版本。,与,我运用.Noestfile的版本来交换.NoScript的版本。,结合的前30729个版本,程序运转主力队员。 

复杂稍微,执意,一次运用DLL行使职责的新发行的应用程序,有以下证明某事属实的证据: 
应用程序切中要害清单纸[运用新发行O的行使职责] 再委派了旧版本号。 + 运转时清单纸的新发行 + 运转库DLL的新发行 –> 不克不及运转
应用程序切中要害清单纸[运用新发行O的行使职责] 再委派了旧版本号。 + 运转时清单纸的旧版本 + 运转库DLL的旧版本 –> 不克不及运转
应用程序切中要害清单纸[运用新发行O的行使职责] 再委派了旧版本号。 + 运转时清单纸的旧版本 + 运转库DLL的新发行 –> 可以运转 

注:运转时清单纸是.清单和.清单。,运转时DLL指的是MSVCR90.DLL  

程序的列表纸不嵌入,运用内部清单纸,与手工把生利的切中要害version=””改成新发行号version=”” ,你可以跑到以下目的: 
应用程序 外置清单纸[运用DLL的新发行的行使职责]。 再它先前被委派了版本号 + 运转时清单纸的新发行 + 运转库DLL的新发行 –> 可以运转! 
(嵌入列表也资源),自然,可以修正。,但这是不新郎的。,何苦这样的事物做。)

卒卒,在微软网站上显示证据了如此成绩的描绘。。 
 
这真是人家颠倒,当你要经修理的东西它的时分,你不确信。。。。。。。。。 

因而,嵌入列表切中要害版本号要不是用于旧版本N。,因而要不是在眼前运用,运转时清单纸的旧版本 + 运转库DLL的新发行 ,运转孤独的公映的新影片程序是能够的。。。。

在VS2008中,“伸出”–>“属性”–>“配置属性”–>“清单器”–>“输入和输入”–>“嵌入清单”–>否。

本程序编制使臻于完善后,授给物是,A.清单将被捏造,在公映的新影片软件时最好运用如此清单纸。,用写字板记事本翻开,您可以牧座有重大意义的的MFC版本。。

在VS2008中,“伸出”–>“属性”–>“配置属性”–>“清单器”–>“输入和输入”–>“嵌入清单”–>是。将克制.manifest,不额定发生.manifest。

配置属性其余的设置:(1)例行程序-MFC的运用:在共享DLL中运用MFC;(2)C/C 反省64位齐性成绩:否;(3)C/C 加密生利->运转时库:多线索调试DLL(/MDD);(4)交链器>列表纸>生利列表:是

发表评论

电子邮件地址不会被公开。 必填项已用*标注