unable to run activeX control in IE

317 views Asked by At

Im 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!!!!!!

EDIT:::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"
0

There are 0 answers