4

最も単純なRegistrationFreeCOMプロジェクトを64ビットWindows7で動作させようとしています!COMコンポーネントは、登録時にVB6EXEから正常に動作する最も単純なvb.NETDLLでもあります。

マニフェストが機能しない理由を誰かが提案できますか?

すでに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>
4

1 に答える 1

2

Id が正しいと仮定すると、マニフェストは正しいです。だからあなたの問題は別のものです。どのようなエラー メッセージが表示されますか?

私は RegFree Com をうまく利用しており、マニフェストが正しく作成されると、数え切れないほどの頭痛の種から解放されました。私はそれらを埋め込みません。これには、Maze ソフトウェアの Side-by-Side Manifest Makerを使用します。これらは非常に役立ち、投資する価値があります。実際の例を示すために、アプリケーション マニフェストと dll の 1 つのマニフェストを貼り付けました。

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. タグがないことに注意してください)

<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>
于 2012-11-21T07:46:00.103 に答える