Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Install ActiveX Controls in Internet Explorer Usin


4 replies to this topic

chitech

chitech
  • Members
  • 2 posts

Posted 27 February 2006 - 10:17

Full title: ActiveX Controls in Internet Explorer Using the Active Directory

Alo

I have followed this tutorial from microsoft http://support.micro...com/kb/q280579/ but it's not working properly.

My step.
- Created a msi package with my activex componment
- Publish the msi in Active Directory as policy group
- I can see the msi package in Add/Remove programs for any of the users

My page contains this:
<object id="sigSrvClnt" <
classid="CLSID:3374F746-02DB-44BE-7995-B92E46F452F1"
>
</object>

The same CLSID is used for COM Objects in Windows installer (Type libraries is not used)

The problem is then I access my page containing the controls the msi package is not called/installed. If I manuel install the control from Add/Remove programs the controls is available from the web-page.

Thx in advance

Edited by chitech, 27 February 2006 - 10:24.


Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 27 February 2006 - 22:28

You should "assign" the software installation GPO, not "publish". The latter merely adds the package to Add/Remove Programs, at Install from the network.

chitech

chitech
  • Members
  • 2 posts

Posted 01 March 2006 - 11:33

The same problem happen with "assign".

I don't think IE is activating the msi package at all.

How does IE use the clsid to find the right msi package when using Active Directory?

I am using windows 2000 with IE 6.0.

Thx in advance

Edited by chitech, 01 March 2006 - 11:33.


VBScab

VBScab
  • Full Members
  • 436 posts

Posted 01 March 2006 - 13:21

Get yourself FileMon and RegMon from sysinternals.com - you can't really do this job without them, RegMon in particular.

These tools will show you what the machine is doing in terms of file and registry access so you will be able to see immediately what the installer is trying to do and where it's failing.


- Don't know why 'x' happened? Want to know why 'y' happened? ProcMon will tell you.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.

Zweitze

Zweitze
  • Full Members
  • 522 posts

Posted 01 March 2006 - 21:32

QUOTE
How does IE use the clsid to find the right msi package when using Active Directory?


When an app is deployed using 'assign' in active directory, it is actually advertised. This means that the app is not installed at all, but that the target system gets some starting points. When such a point is hit, the actual installation is started. The user sees a small progress while the the software is installed.

It works like this (I think):
- IE detects it has to create an object with this CLSID, so it calls CoCreateInstance()
- In normal operation this function just looks up the CLSID in the registry, in HKCU\CLSID\<your clsid>
- But it doesn't exist, so a technology called "Active Desktop" kicks in. Active Desktop is capable of rerouting certain resource calls, regarding to registry values and shortcuts.
- Active Desktop detects that Windows Installer is responsible for this part, so it tells Windows Installer to fix this.
- Windows Installer looks in its registry if any software is installed, that is responsible for that particular key.
- When it detects the software, it checks its installstate. If it is already installed, it is now repaired. But your package is advertized, so it just runs the installation.
- Actually not the whole package is repaired/installed, but ONLY the feature containing the CLSID. If that feature has parent features, they will be installed too. But other features are not, even when they are supposed to be mandatory.
- After this installation (or failure) control is passed back to the CoCreateInstance call, which tries again.

Hope this helps.