Bottesford
Posts: 11
Joined: Wed Jun 11, 2008 3:55 pm

Register OCXs for ALL users

Thu Sep 11, 2008 1:33 pm

I'm having trouble when installing our application for multiple users.
The installer is Per Machine and I register our OCXs (stored under our own directory) using 'Extract registeration info from native library' option.
I install as admin user (no problems) then switch to a standard user.
No OCX's are then registered as the app can't start. Registering these manually gets the app running ok.
How do I register OCXs/DLLs for ALL users?

Interestingly when I first start the app as the standard user, windows installer pops up and performs some maintanance before continuing- what's happening here?

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:  Website

Re: Register OCXs for ALL users

Thu Sep 11, 2008 2:02 pm

Hi,
How do I register OCXs/DLLs for ALL users?
Please note that the files which are registered should be installed in per-machine locations.
Interestingly when I first start the app as the standard user, windows installer pops up and performs some maintanance before continuing- what's happening here?
This is an auto-repair performed automatically by Windows Installer when some components in the installation are missing.

I'm not sure how your package is configured. Can you please send us the AIP which shows this behavior to support at advancedinstaller dot com so we can investigate it? Also, please attach a log of the installation.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:  Website

Re: Register OCXs for ALL users

Fri Sep 12, 2008 11:41 am

Hi,

While investigating your project I noticed that your package creates registry entries under HKEY_CURRENT_USER. Please note that this hive is available only for the current user, not for all users. Therefore, when another user logs on he will not have access to these registry entries.

A solution for this is to move the registry entries under the HKEY_LOCAL_MACHINE hive. Please note that you need to make sure that the application retrieves them from this hive and not from HKEY_CURRENT_USER.

Let me know if the problem persists after performing the necessary modifications.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Bottesford
Posts: 11
Joined: Wed Jun 11, 2008 3:55 pm

Re: Register OCXs for ALL users

Fri Sep 12, 2008 11:45 am

Yes we do use HKLU keys for our application - this is partly historical reasons (I didn't write the original application & I know they need moving!) and partly since different users on a single PC may be working on different projects. These settings relate to the current project database/directories and are often changed frequently if a user works on several projects.
We use a seperate tool to configure these entries for each user - the installer simply puts down an example set used with a sample project.

But as for the OCX/DLL registrations - I'm not sure where these get put but I did assume it'd be HKLM not HKLU...

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:  Website

Re: Register OCXs for ALL users

Fri Sep 12, 2008 1:21 pm

Hi,

The registry entries extracted from the registered files are placed in the HKEY_CLASSES_ROOT hive, therefore I'm not sure if they are the ones which cause the problem.

Please try this:
- install the package for an user
- log on as another user and try to run the application
- after the auto-repair is performed open the Event Viewer ("Start -> Run", "eventvwr.msc")
- under the Application node for "MsiInstaller" log messages of the form:

Code: Select all

Event Type: Warning
Event Source: MsiInstaller
Event ID: 1001
Description:
Detection of product '{000C1109-0000-0000-C000-000000000046}', feature 'Example' failed during request for component '{00030829-0000-0000-C000-000000000046}' 
If you find any events of this form paste their information on this thread so we can determine what components are missing for the other users.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Bottesford
Posts: 11
Joined: Wed Jun 11, 2008 3:55 pm

Re: Register OCXs for ALL users

Fri Sep 12, 2008 2:43 pm

I'm not getting the auto repair dialog anymore. I've completely removed the app & reinstalled several times now - no self repair window.
But still no OCXs or DLLs are registered.
After install and trying to run the application the only MsiInstaller entry in the event log states that the application installed succesfully.

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:  Website

Re: Register OCXs for ALL users

Fri Sep 12, 2008 3:11 pm

Hi,

Please try using the "Self register native library" option instead of "Extract registration info from native library".
But still no OCXs or DLLs are registered.
Can you please provide a small test case (or the entire package) which shows this behavior so we can investigate it? You can send it (or a link to it) to support at advancedinstaller dot com.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Bottesford
Posts: 11
Joined: Wed Jun 11, 2008 3:55 pm

Re: Register OCXs for ALL users

Fri Sep 12, 2008 3:16 pm

cosmin wrote:Hi,

Please try using the "Self register native library" option instead of "Extract registration info from native library".
Tried that - that's how I had it before trying the current option. Same results.
I'll send you a link through shortly.

Thanks

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:  Website

Re: Register OCXs for ALL users

Mon Sep 15, 2008 9:09 am

Hi,

I managed to reproduce the behavior you encountered. However, I'm not sure if the problem is caused by the installation package or by Windows Installer. I tried registering this OCX with "regsvr32.exe", but the application still did not work. Does this OCX have any dependencies? If so, are they included in your package?

Please note that if the file cannot be registered correctly outside Advanced Installer (by using Windows tools), then it cannot be registered by the installation package.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Bottesford
Posts: 11
Joined: Wed Jun 11, 2008 3:55 pm

Re: Register OCXs for ALL users

Mon Sep 15, 2008 1:26 pm

What error did you receive? (I would expect an error regarding licence not being present).

All known dependancies are included with the installer and I got our installation working ok on a freshly installed WindowsXP machine - but only when running the application as an administrator.
Upon registering our OCXs/DLLs with regsvr32 when logged in as a user the application was ok.

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:  Website

Re: Register OCXs for ALL users

Tue Sep 16, 2008 10:50 am

Hi,

We tested your package on multiple machines, installing it under an Administrator account. Each time we tried to run the application (under the same account), it showed the error:

Run-time error '339':
Component 'ApSplash.ocx' or one of its dependencies not correctly registered: a file is missing or invalid.


After we successfully register the "ApSplash.ocx" file with "regsvr32.exe", we receive this message when launching the application:

Run-time error '339':
Failed to load control 'ctlSplash' from ApSplash.ocx. Your version of ApSplash.ocx may be outdated. Make sure that you are using the version of the control that was provided with your application.


It seems that the application requires something else which is not installed by the package. Please note that we installed all the prerequisites in the package. Therefore, you can try checking what other resources are required in order to run the application correctly.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Bottesford
Posts: 11
Joined: Wed Jun 11, 2008 3:55 pm

Re: Register OCXs for ALL users

Tue Sep 16, 2008 1:01 pm

What operating system are you testing on?
We have used this installed on 15+ machines now at different clients sites with no problems at all (admittedly with problems when logging in as a standard user as per this thread).
We are very confused by your errors and can only assume you don't have the Visual Basic 6 runtime installed (something we haven't encountered until now).

I've now added VB6 run time as a prerequisite and will supply you with a new download link shortly to give it a try.

Return to “Common Problems”