We're migrating to Windows 7 (UAC enabled) and this is stopping standard users from installing ActiveX controls for an internal web app.
I have access to a local admin account which I can run elevated, and I can easily grab the required .cab files. Is there a simple way to install them in such a way that the .inf file is respected? The .inf files in question contain hooks to control the installation so I would rather not simply call regsvr32 on the contained .ocx files.
Basically I would like to emulate the IE installation process using C#, with files appearing in "Downloaded Program Files", all registry settings correctly written, etc.
Btw, I note that there is an "ActiveX Installation Service" available for Win7 machines, but this does not appear to be enabled/configured.
Additional Information
This question has been marked as a duplicate and it certainly appears similar to the original question, but in my scenario I have access to a local admin account so my question is specifically about emulating the IE installation process rather than overcoming UAC restrictions. @Ben suggested a solution using advpack (via rundll32) but I have been unable to get this to work in my environment, although I will continue to investigate.
In the meantime I have been able to implement a brute-force method which exactly replicates the installation behaviour using IE. This entails locating and extracting files to the "Downloaded Program Files" directory, calling regsvr32 on the extracted ocx/dll files, and then adding entries to the following registry locations:
HKLM\SOFTWARE\Microsoft\Code Store Database\Distribution Units HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ModuleUsage HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls
I am currently unable to answer my own question with this information.
Roll the required component out using group policy, MOM or similar.
You simply need to work out the correct command line to do an administrative install of the component and you can add this into a logon script or similar. Once the component is installed "for all users" then the problem should go away.
As for how to do that, that is a different question:
Ensure you run as an administrative or elevated account.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With