如何验证我的.Manifest文件是否有效?

时间:2009-05-12 17:23:41

标签: vb6 manifest regfreecom

我正在转换VB6应用程序以使用Manifest进行Reg Free部署。

我使用Make My Manifest创建了一个清单,但是当我运行应用程序时出现错误(如下)。

我想确保我的清单在某种程度上无效。 (我打开它看起来很好,除了一些不可打印的字符,这对于XML格式文件来说似乎很奇怪。

** --------------------------- C:\平房\导师\ tutor.exe

此应用程序无法启动,因为应用程序配置不正确。重新安装应用程序可能会解决此问题。

好的**

摘自具有不可打印字符的清单

<file name="THREED32.OCX">
    <typelib tlbid="{0BA686C6-F7D3-101A-993E-0000C0EF6F5E}" version="1.0" flags="control" helpdir="" />
    <comClass clsid="{0BA686AA-F7D3-101A-993E-0000C0EF6F5E}" tlbid="{0BA686C6-F7D3-101A-993E-0000C0EF6F5E}" progid="Threed.SSCheck" description="A three-dimensional check box.               ***\ 1     ª8! DOCUME~1  D   ï¾1×°¬:÷   D o c u m e n t s   a n d   S e t t i n g s   ***   " />

我删除了所有不可打印的字符

5 个答案:

答案 0 :(得分:1)

如果您使用的是Vista / Server08,请在运行应用程序之前从提升的提示中使用sxstrace.exe命令行工具;它可能会为您提供更多信息。

此外,查看Windows事件日志,在那里报告清单解析失败。

我还建议在此问题中添加“regfreecom”标记。

答案 1 :(得分:0)

以下是MSDN Troubleshootingarticle部分关于无注册COM的摘录。正如Eugene的回答一样,它建议查看Windows Server中的事件日志(可能带有Virtual PC?)。

  

首先得到......您的客户正在与之合作   注册服务器;然后取消注册   服务器并验证您的错误   消息是你所期望的;和   最后......制作和部署清单   文件。这样你的故障排除   努力......将局限于   清单文件的结构(和   正确嵌入装配体   如果您选择这样做,则表明。)

     

免费注册时排除故障   COM问题,事件查看器   Windows Server 2003 是你的朋友......   在系统事件日志中查找来自COM服务器的事件。   我不建议你看看   Windows XP事件日志...   它总会包含一个   消息......这没有用   找出问题所在。

答案 2 :(得分:0)

我不知道这是否可能是您的问题,但如果您将清单包含在res文件中,我相信它必须具有4字节可以分割的大小(不要问我为什么)

答案 3 :(得分:0)

从版本0.6.7开始,Make My Manifest更好地处理“奇数”字符和符号的转义。这个版本只有0.6.6的一些变化,所以更新不应该导致大多数人有任何问题。

新版本也应该更好地处理大型COM接口版本号。这应该有助于管理界面二进制兼容性(或忽略兼容性)的程序员。

答案 4 :(得分:0)

您可能想要检查您是否在使用不同版本的Visual Studio编译的库中进行链接..(假设您正在使用它)

我有一个与此非常相似的问题...同样的错误消息......我将应用程序从VS2005移动到VS2008之后。这个错误是因为它是在一个独立的解决方案中构建的库中链接的,我没有移动到VS2008。发布版本工作正常,但调试版本遇到此错误。