当前位置 : 主页 > 编程语言 > c语言 >

vb.NET DLL注册免费COM与VB6

来源:互联网 收集:自由互联 发布时间:2021-06-24
我正在努力让最简单的免注册COM项目在64位 Windows7中运行! COM组件也是最简单的vb.NET DLL,它在注册时可以从VB6 EXE中正常工作. 任何人都可以建议为什么清单不起作用? 我已经尝试用mt.
我正在努力让最简单的免注册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>
网友评论