2011-12-29 32 views
0

MMMを使用して、VB6.exeクライアント経由でOCX依存関係のVB6 DLLを呼び出すためのマニフェストファイルを生成しました。Excelからのocx依存関係を持つRegFree COM vb6 dllを呼び出す

マニフェストファイルの抽出物はVB6 MS Chartコントロールの依存性を示しており、以下のとおりである(MSCHRT20.ocx)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <!-- Make My Manifest 0.9.305 --> 
    <assemblyIdentity name="DLL_Tester" processorArchitecture="X86" type="win32" version="1.0.0.0" /> 

    <file name="TankChecker3_DLL.dll"> 
    <typelib tlbid="{A23FD5EC-6750-4454-8417-A53FB6436646}" version="14.0" flags="" helpdir="" /> 
    <comClass clsid="{265A4F7E-3380-41F9-B3D2-624D0B9DD0FA}" tlbid="{A23FD5EC-6750-4454-8417-A53FB6436646}" progid="TankChecker3_DLL.CChart" description="" /> 
    </file> 
    <file name="MSCHRT20.OCX"> 
    <typelib tlbid="{65E121D4-0C60-11D2-A9FC-0000F8754DA1}" version="2.0" flags="control" helpdir="" /> 
    <comClass clsid="{3A2B370C-BA0A-11D1-B137-0000F8753F5D}" tlbid="{65E121D4-0C60-11D2-A9FC-0000F8754DA1}" progid="MSChart20Lib.MSChart.2" description="Microsoft Chart Control 6.0 (OLEDB)" /> 
    </file> 

: 
: etc 
: 

</assembly> 

私はWindowsを使用して、Excelとこの作品REGをフリーにしたいですWindows 7の私はいないの.ocx依存関係を持つ簡単なテストのHelloWorld VB6のDLLを使用している場合で.ActCtxオブジェクトは、これは

は私が

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <!-- Make My Manifest 0.9.305 --> 
    <assemblyIdentity name="SideBySide2Client" processorArchitecture="X86" type="win32" version="1.0.0.0" /> 

    <file name="SideBySide2.dll"> 
    <typelib tlbid="{DD83DC2F-C5C0-40F2-B2F4-B7310B098A16}" version="6.0" flags="" helpdir="" /> 
    <comClass clsid="{EDF044DE-A6EF-4FE9-9446-67384C1CA8E4}" tlbid="{DD83DC2F-C5C0-40F2-B2F4-B7310B098A16}" threadingModel="Apartment" progid="SideBySide2.SideBySideClass" description="" /> 
    </file> 
</assembly> 
を使用したテストマニフェストファイルは以下を参照のターゲット・マシン上のExcel 2010で正常に動作します

しかし、ocxの依存関係を持つ完全なdllで同じ手法を試してみると、ターゲットマシンでエラーコード339(ocx依存関係が見つかりません)が返されます

すべてのファイルはXCOPY配備

要約すると、VB6クライアントでは正常に動作しますが、VBA/ActCtxクライアントでは正常に動作しません。 これはなぜ機能しないのでしょうか?

デビッド

答えて

0

感謝これはVB 6.0およびその他の開発ツールの一部として提供されるライセンス付きコントロールです。

あなたはそれをグロムにすることはできませんし、Excelなどのアプリケーションから使用することはできません。あなたがOffice Developer Edition、VSTA/VSTOなどを持っている場合でもこれが正しいと言えます。

これは唯一の問題ではないかもしれませんが、このライブラリはVB 6.0の一部を除いて再配布できないため、用途などはほとんどありません。

関連する問題