Click here to Skip to main content
15,886,362 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I'm trying to embed some application in IE by creating activeX control. I've got xyz.dll. Normally if I register this dll through command prompt(batch file), the embedding is successful. But if i use the cab file methodolgy, only the first snapshot of application loads in IE(embedded application fails to run) inspite of the fact that registration of dll is taking place. xyz.cab file contains, xyz.dll and xyz.inf. The xyz.inf is as following:
********************************************************
[version]
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
xyz.dll=xyz.dll

[Deployment]

InstallScope=user|machine

[xyz.dll]
file-win32-x86=thiscab
clsid={HJI9D4D39-K9F5-489B-8032-CCHB1B189J10}
FileVersion=1,0,0,0
RegisterServer=yes
RedirectToHKCU=yes
HRESULT IEInstallScope(LPDWORD pwdScope);

****************************************************************

I'm making cab file through makecab.exe and im signing cab file too with signtool.exe and makecert technique and finally the excerpt from the html is as following:

...
CLASSID="clsid:HJI9D4D39-K9F5-489B-8032-CCHB1B189J10"
CODEBASE="C:\xyz\13\plugins\ie\xyz.cab#Version="1,0,0,0"
...


So i dont know why Im facing this problem.The reason may be because thers something Im mistaking inside inf file or I dont know the exact usage of "HRESULT IEInstallScope(LPDWORD pwdScope); "or is it associated with dll???? please help me!!!!!!
Posted

1 solution

well this worked out for me, but i still dont know why registerserver=yes fails to embedd activex perfectly:: new inf file is as following::

[version]
    signature="$CHICAGO$"
    AdvancedINF=2.0

[Add.Code]
         xyz.dll=xyz.dll


[Deployment]

    InstallScope=user|machine
        [Setup Hooks]
xcxc=xcxc
xcxc1=xcxc1
[xyz.dll]
    file-win32-x86=thiscab
    clsid={HJI9D4D39-K9F5-489B-8032-CCHB1B189J10}
    FileVersion=13,0,0,0
    RegisterServer=yes
    RedirectToHKCU=yes 
    HRESULT IEInstallScope(LPDWORD pwdScope);
[regDll]
hook=xcxc
[xcxc]
run=C:\Windows\System32\regsvr32.exe "C:\xyz\13\plugins\ie\xyz.dll"

[abcDll]
hook=xcxc1
[xcxc1]
run=C:\Windows\syswow64\regsvr32.exe /u /s "C:\xyz\13\plugins\ie\xyz.dll"
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900