2011-12-29 91 views
0

我使用MMM生成清單文件,通過VB6.exe客戶端調用帶有OCX依賴項的VB6 DLL,並且在目標計算機上可正常工作。從Excel中調用RegFree COM vb6 dll與ocx依賴關係

清單文件的提取物是按以下,這顯示了VB6 MS圖表控件的依賴(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> 

我想使這個工作REG-免費使用Excel,使用Windows在Windows 7。如果我只是用不帶的.ocx依賴一個簡單的測試HelloWorld的VB6的dll .ActCtx對象,能正常工作在Excel 2010中的目標機器

請參閱下面的我用

<?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> 
測試清單文件上

但是,如果我嘗試使用與ocx相關性的完整dll相同的技術,它會在目標機器上給出錯誤代碼339(找不到ocx依賴項)部署。

總之,它適用於VB6客戶端,但不適用於VBA/ActCtx客戶端。 任何想法爲什麼這不起作用?

感謝大衛

回答

0

這是作爲VB 6.0部分和其他開發工具提供的授權控制。

你不能僅僅用它來從Excel等應用程序中使用它。據我所知,當你有Office開發版,VSTA/VSTO等時,甚至是這樣。

這可能不是唯一的問題,但由於這個庫不是可重新發布的,除非作爲VB 6.0的一部分,等應用沒有多大意義。