加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.NET DLL注册免费COM与VB6

发布时间:2020-12-17 07:13:09 所属栏目:百科 来源:网络整理
导读:我正在努力让最简单的免注册COM项目在64位 Windows7中运行! COM组件也是最简单的vb.NET DLL,它在注册时可以从VB6 EXE中正常工作. 任何人都可以建议为什么清单不起作用? 我已经尝试用mt.exe更新任何VB6内部清单,但一般错误表明Project2.exe中没有内部清单 V
我正在努力让最简单的免注册COM项目在64位 Windows7中运行!
COM组件也是最简单的vb.NET DLL,它在注册时可以从VB6 EXE中正常工作.

任何人都可以建议为什么清单不起作用?

我已经尝试用mt.exe更新任何VB6内部清单,但一般错误表明Project2.exe中没有内部清单

VB6程序(Project2.exe)清单是……

????????
????????

<assemblyIdentity name="Project2.exe" version="1.0.0.0" type="win32"    processorArchitecture="x86"/>

    <dependency>
     <dependentAssembly>
      <assemblyIdentity name="ClassLibrary1" version="1.0.0.0" type="win32"/>
     </dependentAssembly>
    </dependency>

    </assembly>

并且DLL(ClassLibrary1.dll)清单是…..
????????
????????

<assemblyIdentity name="ClassLibrary1" version="1.0.0.0" type="win32"/>

    <clrClass
       name="ClassLibrary1.Class1"
       clsid="{D9531C2A-3822-4222-8D45-BC507FCDF5F3}"
       progid="ClassLibrary1.Class1"
       threadingModel="Both"/>

    <file name="ClassLibrary1.tlb">
     <typelib
         tlbid="{DA8A00C1-1E14-4295-AEDE-F8F23DD8E43D}"
         version="1.0"
         helpdir=""
         flags="hasdiskimage"/>
    </file>

    </assembly>

解决方法

假设Ids是正确的,清单是正确的.所以你的问题是别的.你得到什么错误信息?

我成功地使用了RegFree Com,一旦你有了清单,它就给我带来了无数的麻烦.我不嵌入它们.我为此使用了Maze软件中的Side-by-Side Manifest Maker,它们非常有用,非常值得投资.我粘贴了应用程序清单和其中一个dll的清单,为您提供了一个工作示例.

Filename = MyVB6App.exe.Manifest(注意.exe.标记)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity name="MyVB6App.exe" version="2.8.0.127" type="win32" processorArchitecture="x86"/>
<description>Built with: Side-by-Side Manifest Maker (3.7.1.4434) (x86)</description>

<dependency>
 <dependentAssembly>
  <assemblyIdentity name="MyNetComWrapper" version="1.0.24.0" type="win32" publicKeyToken="6ABF096D69195FE6"/>
 </dependentAssembly>
</dependency>

</assembly>

Filename = MyNetComWrapper.Manifest(注意.dll.标记的abscense)

<assemblyIdentity name="MyNetComWrapper" version="1.0.24.0" type="win32" publicKeyToken="6ABF096D69195FE6"/>

<description>Built with: Side-by-Side Manifest Maker (3.7.1.4434) (x86)</description>

<clrClass
   name="MyComNetWrapper.SomeClass"
   clsid="{A68F56A1-8425-3E06-BA83-856EC8422F5B}"
   progid="MyComNetWrapper.SomeClass"
   runtimeVersion="v4.0.30319"
   threadingModel="Both"/>
<clrClass
   name="MyComNetWrapper.SomeOtherClass"
   clsid="{D5156DAF-0421-36AE-84B6-5D915068B2DC}"
   progid="MyComNetWrapperc.SomeOtherClass"
   runtimeVersion="v4.0.30319"
   threadingModel="Both"/>

<file name="MyComNetWrapper.tlb">
 <typelib
     tlbid="{D189D056-66F1-4C01-8EB9-1F95BA11254A}"
     version="1.0"
     helpdir=""
     flags="hasdiskimage"/>
</file>

</assembly>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读