Hi, I created a new Active-x with Visual C++ 6, MFC.
This Active-x is using 3 of my dlls.
I'm using the Active-x on my site with "CODEBASE".
When I'm loading my site from a system that owns MFC, it works perfectly, but when the user doesn't own it, I'll get an error on the installation.
I have 2 questions:
1. Do I need to register the 3 dlls on the user system?
2. what's is the current problem in my INF file:
my INF file:
-------------------------------------------------------
[version]
; version signature (same for both NT and Win95) do not remove
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Funk_AX.ocx=Funk_AX.ocx
amsdb.dll=amsdb.dll
amsgdb.dll=amsgdb.dll
EFunkDll.dll=EFunkDll.dll
EFunk_EffectsDll.dll=EFunk_EffectsDll.dll
; These are the necessary supporting DLLs for MFC 4.2 ActiveX Controls
mfc42.dll=mfc42.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll
[Funk_AX.ocx]
file-win32-x86=thiscab
file=thiscab
CLSID={A0E0E878-803A-4311-831D-8E0FDC7A2EAE}
FileVersion=1,0,1,5
RegisterServer=yes
[amsdb.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,8
[EFunkDll.dll]
file-win32-x86=thiscab
FileVersion=1,0,1,5
[EFunk_EffectsDll.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,5
; dependent DLLs
[msvcrt.dll]
; This is an example of conditional hook. The hook only gets processed
; if msvcrt.dll of the specified version is absent on client machine.
FileVersion=4,20,0,6164
hook=mfc42installer
[mfc42.dll]
FileVersion=4,2,0,6256
hook=mfc42installer
[olepro32.dll]
FileVersion=4,2,0,6068
hook=mfc42installer
[mfc42installer]
file-win32-x86=VALUE=; If dependent DLLs are packaged directly into the above cabinet file
; along with an .inf file, specify that .inf file to run as follows:
;InfFile=mfc42.inf
; The mfc42.cab file actually contains a self extracting executable.
; In this case we specify a run= command.
run=%EXTRACT_DIR%\mfc42.exe
-----------------------------------------------------------
This is the log file I get when the user doesn't own the MFC:
----------------------------------------------------------
*** Code Download Log entry (16 May 2004 @ 12:44:16) ***
Code Download Error: (hr = 8007007e)
Operation failed. Detailed Information:
CodeBase: CLSID: {A0E0E878-803A-4311-831D-8E0FDC7A2EAE}
Extension:
Type:
LOG: Item Funk_AX.ocx being processed.
--- Detailed Error Log Follows ---
LOG: Download OnStopBinding called (hrStatus = 0 / hrResponseHdr = 0).
LOG: Item Funk_AX.ocx being processed.
LOG: Item amsdb.dll being processed.
LOG: Item EFunkDll.dll being processed.
LOG: Item EFunk_EffectsDll.dll being processed.
LOG: Item mfc42.dll being processed.
LOG: Item msvcrt.dll being processed.
LOG: Item olepro32.dll being processed.
LOG: URL Download Complete: hrStatus:0, hrOSB:1, hrResponseHdr:0, URL
WRN: OCX Registration: no DllRegisterServer entry point in (C:\WINDOWS\Downloaded Program Files\CONFLICT.3\EFunk_EffectsDll.dll). Skipping registration. INF Author: mark this section with RegisterServer=No as a performance optimization.
LOG: Setup successful installing: EFunk_EffectsDll.dll to (null) destination code(0)
WRN: OCX Registration: no DllRegisterServer entry point in (C:\WINDOWS\Downloaded Program Files\CONFLICT.3\EFunkDll.dll). Skipping registration. INF Author: mark this section with RegisterServer=No as a performance optimization.
LOG: Setup successful installing: EFunkDll.dll to (null) destination code(0)
WRN: OCX Registration: no DllRegisterServer entry point in (C:\WINDOWS\Downloaded Program Files\CONFLICT.3\amsdb.dll). Skipping registration. INF Author: mark this section with RegisterServer=No as a performance optimization.
LOG: Setup successful installing: amsdb.dll to (null) destination code(0)
LOG: File C:\WINDOWS\Downloaded Program Files\CONFLICT.3\Funk_AX.ocx being registered.
ERR: Setup Failed Error Code: (hr) = 8007007e, installing: Funk_AX.ocx to (null) destination code(0)
LOG: Reporting Code Download Completion: (hr:8007007e (FAILED), CLASSID: a0e0e878..., szCODE
MainType
null), MainExt
null))
This Active-x is using 3 of my dlls.
I'm using the Active-x on my site with "CODEBASE".
When I'm loading my site from a system that owns MFC, it works perfectly, but when the user doesn't own it, I'll get an error on the installation.
I have 2 questions:
1. Do I need to register the 3 dlls on the user system?
2. what's is the current problem in my INF file:
my INF file:
-------------------------------------------------------
[version]
; version signature (same for both NT and Win95) do not remove
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
Funk_AX.ocx=Funk_AX.ocx
amsdb.dll=amsdb.dll
amsgdb.dll=amsgdb.dll
EFunkDll.dll=EFunkDll.dll
EFunk_EffectsDll.dll=EFunk_EffectsDll.dll
; These are the necessary supporting DLLs for MFC 4.2 ActiveX Controls
mfc42.dll=mfc42.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll
[Funk_AX.ocx]
file-win32-x86=thiscab
file=thiscab
CLSID={A0E0E878-803A-4311-831D-8E0FDC7A2EAE}
FileVersion=1,0,1,5
RegisterServer=yes
[amsdb.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,8
[EFunkDll.dll]
file-win32-x86=thiscab
FileVersion=1,0,1,5
[EFunk_EffectsDll.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,5
; dependent DLLs
[msvcrt.dll]
; This is an example of conditional hook. The hook only gets processed
; if msvcrt.dll of the specified version is absent on client machine.
FileVersion=4,20,0,6164
hook=mfc42installer
[mfc42.dll]
FileVersion=4,2,0,6256
hook=mfc42installer
[olepro32.dll]
FileVersion=4,2,0,6068
hook=mfc42installer
[mfc42installer]
file-win32-x86=VALUE=; If dependent DLLs are packaged directly into the above cabinet file
; along with an .inf file, specify that .inf file to run as follows:
;InfFile=mfc42.inf
; The mfc42.cab file actually contains a self extracting executable.
; In this case we specify a run= command.
run=%EXTRACT_DIR%\mfc42.exe
-----------------------------------------------------------
This is the log file I get when the user doesn't own the MFC:
----------------------------------------------------------
*** Code Download Log entry (16 May 2004 @ 12:44:16) ***
Code Download Error: (hr = 8007007e)
Operation failed. Detailed Information:
CodeBase: CLSID: {A0E0E878-803A-4311-831D-8E0FDC7A2EAE}
Extension:
Type:
LOG: Item Funk_AX.ocx being processed.
--- Detailed Error Log Follows ---
LOG: Download OnStopBinding called (hrStatus = 0 / hrResponseHdr = 0).
LOG: Item Funk_AX.ocx being processed.
LOG: Item amsdb.dll being processed.
LOG: Item EFunkDll.dll being processed.
LOG: Item EFunk_EffectsDll.dll being processed.
LOG: Item mfc42.dll being processed.
LOG: Item msvcrt.dll being processed.
LOG: Item olepro32.dll being processed.
LOG: URL Download Complete: hrStatus:0, hrOSB:1, hrResponseHdr:0, URL
LOG: Setup successful installing: EFunk_EffectsDll.dll to (null) destination code(0)
WRN: OCX Registration: no DllRegisterServer entry point in (C:\WINDOWS\Downloaded Program Files\CONFLICT.3\EFunkDll.dll). Skipping registration. INF Author: mark this section with RegisterServer=No as a performance optimization.
LOG: Setup successful installing: EFunkDll.dll to (null) destination code(0)
WRN: OCX Registration: no DllRegisterServer entry point in (C:\WINDOWS\Downloaded Program Files\CONFLICT.3\amsdb.dll). Skipping registration. INF Author: mark this section with RegisterServer=No as a performance optimization.
LOG: Setup successful installing: amsdb.dll to (null) destination code(0)
LOG: File C:\WINDOWS\Downloaded Program Files\CONFLICT.3\Funk_AX.ocx being registered.
ERR: Setup Failed Error Code: (hr) = 8007007e, installing: Funk_AX.ocx to (null) destination code(0)
LOG: Reporting Code Download Completion: (hr:8007007e (FAILED), CLASSID: a0e0e878..., szCODE