PC Review


Reply
Thread Tools Rate Thread

activex registration misses CLSID for some users

 
 
Robm
Guest
Posts: n/a
 
      4th Jun 2004
Here's a crazy problem that I woukd appreciate help with. I use Visual
Studio Installer to create an msi file. Two of the components to be
installed are mfc based activex controls generated using Visual Studio C++ 6
Activex Controlwizard. They were both created in the same way, using the
wizard. Both of them have the same DllRegisterServer and DllUnRegisterServer
functions. When the msi file is run, both controls register properly for the
user that ran the msi, but for another user, only one of the two registers
properly.

Before the install I make sure that there are no entries for either control
in HKEY_CLASSES_ROOT for either user. After the installation, for the first
user there is an entry for each control, including the proper CLSID and a
value Insertable.For the second user, one of the controls has the entry as
well, including the Insertable value, but without a CLSID value, while the
other correctly has the CLSID.

How can this be? Any and all help is appreciated!

Rob


 
Reply With Quote
 
 
 
 
Phil Wilson
Guest
Posts: n/a
 
      4th Jun 2004
This might be something to do with it being a per-user install instead of a
per-system. If each user logs on and looks in HKCU\Software\Classes\CLSID
does everything show up properly?
--
Phil Wilson [MVP Windows Installer]
----
"Robm" <(E-Mail Removed)> wrote in message
news:X60wc.116136$(E-Mail Removed)...
> Here's a crazy problem that I woukd appreciate help with. I use Visual
> Studio Installer to create an msi file. Two of the components to be
> installed are mfc based activex controls generated using Visual Studio C++

6
> Activex Controlwizard. They were both created in the same way, using the
> wizard. Both of them have the same DllRegisterServer and

DllUnRegisterServer
> functions. When the msi file is run, both controls register properly for

the
> user that ran the msi, but for another user, only one of the two registers
> properly.
>
> Before the install I make sure that there are no entries for either

control
> in HKEY_CLASSES_ROOT for either user. After the installation, for the

first
> user there is an entry for each control, including the proper CLSID and a
> value Insertable.For the second user, one of the controls has the entry as
> well, including the Insertable value, but without a CLSID value, while the
> other correctly has the CLSID.
>
> How can this be? Any and all help is appreciated!
>
> Rob
>
>



 
Reply With Quote
 
Robm
Guest
Posts: n/a
 
      5th Jun 2004
No, for one of the two controls it only looks OK for the user who actually
ran the msi.

I have found that the only way to get around this is to use self regitration
for the controls. That is against the rules, but it's much better than
asking users to manually register the contriols.

Rob M

"Phil Wilson" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> This might be something to do with it being a per-user install instead of

a
> per-system. If each user logs on and looks in HKCU\Software\Classes\CLSID
> does everything show up properly?
> --
> Phil Wilson [MVP Windows Installer]
> ----
> "Robm" <(E-Mail Removed)> wrote in message
> news:X60wc.116136$(E-Mail Removed)...
> > Here's a crazy problem that I woukd appreciate help with. I use Visual
> > Studio Installer to create an msi file. Two of the components to be
> > installed are mfc based activex controls generated using Visual Studio

C++
> 6
> > Activex Controlwizard. They were both created in the same way, using the
> > wizard. Both of them have the same DllRegisterServer and

> DllUnRegisterServer
> > functions. When the msi file is run, both controls register properly for

> the
> > user that ran the msi, but for another user, only one of the two

registers
> > properly.
> >
> > Before the install I make sure that there are no entries for either

> control
> > in HKEY_CLASSES_ROOT for either user. After the installation, for the

> first
> > user there is an entry for each control, including the proper CLSID and

a
> > value Insertable.For the second user, one of the controls has the entry

as
> > well, including the Insertable value, but without a CLSID value, while

the
> > other correctly has the CLSID.
> >
> > How can this be? Any and all help is appreciated!
> >
> > Rob
> >
> >

>
>



 
Reply With Quote
 
Simon Giesemann
Guest
Posts: n/a
 
      8th Jun 2004
Are you looking at the Current User reg keys or the Local Machine, you have
not specified in your question.

Check the ALLUSERS property within your MSI, you might want to set it to 1
to force a per-machine install.

"Robm" <(E-Mail Removed)> wrote in message
news:LZqwc.140835$(E-Mail Removed)...
> No, for one of the two controls it only looks OK for the user who actually
> ran the msi.
>
> I have found that the only way to get around this is to use self

regitration
> for the controls. That is against the rules, but it's much better than
> asking users to manually register the contriols.
>
> Rob M
>
> "Phil Wilson" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
> > This might be something to do with it being a per-user install instead

of
> a
> > per-system. If each user logs on and looks in

HKCU\Software\Classes\CLSID
> > does everything show up properly?
> > --
> > Phil Wilson [MVP Windows Installer]
> > ----
> > "Robm" <(E-Mail Removed)> wrote in message
> > news:X60wc.116136$(E-Mail Removed)...
> > > Here's a crazy problem that I woukd appreciate help with. I use Visual
> > > Studio Installer to create an msi file. Two of the components to be
> > > installed are mfc based activex controls generated using Visual Studio

> C++
> > 6
> > > Activex Controlwizard. They were both created in the same way, using

the
> > > wizard. Both of them have the same DllRegisterServer and

> > DllUnRegisterServer
> > > functions. When the msi file is run, both controls register properly

for
> > the
> > > user that ran the msi, but for another user, only one of the two

> registers
> > > properly.
> > >
> > > Before the install I make sure that there are no entries for either

> > control
> > > in HKEY_CLASSES_ROOT for either user. After the installation, for the

> > first
> > > user there is an entry for each control, including the proper CLSID

and
> a
> > > value Insertable.For the second user, one of the controls has the

entry
> as
> > > well, including the Insertable value, but without a CLSID value, while

> the
> > > other correctly has the CLSID.
> > >
> > > How can this be? Any and all help is appreciated!
> > >
> > > Rob
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
Robm
Guest
Posts: n/a
 
      8th Jun 2004
I am using Visual Studio Installer, and it doesn't have an ALLUSERS
property. Registering the controls is not a matter of HKCU or HKLM, they
have to end up correctly in HKCR.

"Simon Giesemann" <(E-Mail Removed)> wrote in message
news:gpcxc.90$(E-Mail Removed)...
> Are you looking at the Current User reg keys or the Local Machine, you

have
> not specified in your question.
>
> Check the ALLUSERS property within your MSI, you might want to set it to 1
> to force a per-machine install.
>
> "Robm" <(E-Mail Removed)> wrote in message
> news:LZqwc.140835$(E-Mail Removed)...
> > No, for one of the two controls it only looks OK for the user who

actually
> > ran the msi.
> >
> > I have found that the only way to get around this is to use self

> regitration
> > for the controls. That is against the rules, but it's much better than
> > asking users to manually register the contriols.
> >
> > Rob M
> >
> > "Phil Wilson" <(E-Mail Removed)> wrote in message
> > news:(E-Mail Removed)...
> > > This might be something to do with it being a per-user install instead

> of
> > a
> > > per-system. If each user logs on and looks in

> HKCU\Software\Classes\CLSID
> > > does everything show up properly?
> > > --
> > > Phil Wilson [MVP Windows Installer]
> > > ----
> > > "Robm" <(E-Mail Removed)> wrote in message
> > > news:X60wc.116136$(E-Mail Removed)...
> > > > Here's a crazy problem that I woukd appreciate help with. I use

Visual
> > > > Studio Installer to create an msi file. Two of the components to be
> > > > installed are mfc based activex controls generated using Visual

Studio
> > C++
> > > 6
> > > > Activex Controlwizard. They were both created in the same way, using

> the
> > > > wizard. Both of them have the same DllRegisterServer and
> > > DllUnRegisterServer
> > > > functions. When the msi file is run, both controls register properly

> for
> > > the
> > > > user that ran the msi, but for another user, only one of the two

> > registers
> > > > properly.
> > > >
> > > > Before the install I make sure that there are no entries for either
> > > control
> > > > in HKEY_CLASSES_ROOT for either user. After the installation, for

the
> > > first
> > > > user there is an entry for each control, including the proper CLSID

> and
> > a
> > > > value Insertable.For the second user, one of the controls has the

> entry
> > as
> > > > well, including the Insertable value, but without a CLSID value,

while
> > the
> > > > other correctly has the CLSID.
> > > >
> > > > How can this be? Any and all help is appreciated!
> > > >
> > > > Rob
> > > >
> > > >
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
Phil Wilson
Guest
Posts: n/a
 
      8th Jun 2004
That's your problem, as I was trying to say earlier. Registration of COM
classes from MSI tables depends on whether the install is per-user or
per-machine. It looks like VS Installer doesn't give you the choice which
would cause ALLUSERS to be 1 for a per-machine install. It *is* a matter of
HKCU or HKLM: a per-user install doesn't register a COM class for the whole
system, just for the installing user into HKCU.
--
Phil Wilson [MVP Windows Installer]
----
"Robm" <(E-Mail Removed)> wrote in message
news:A9lxc.27485$(E-Mail Removed)...
> I am using Visual Studio Installer, and it doesn't have an ALLUSERS
> property. Registering the controls is not a matter of HKCU or HKLM, they
> have to end up correctly in HKCR.
>
> "Simon Giesemann" <(E-Mail Removed)> wrote in message
> news:gpcxc.90$(E-Mail Removed)...
> > Are you looking at the Current User reg keys or the Local Machine, you

> have
> > not specified in your question.
> >
> > Check the ALLUSERS property within your MSI, you might want to set it to

1
> > to force a per-machine install.
> >
> > "Robm" <(E-Mail Removed)> wrote in message
> > news:LZqwc.140835$(E-Mail Removed)...
> > > No, for one of the two controls it only looks OK for the user who

> actually
> > > ran the msi.
> > >
> > > I have found that the only way to get around this is to use self

> > regitration
> > > for the controls. That is against the rules, but it's much better than
> > > asking users to manually register the contriols.
> > >
> > > Rob M
> > >
> > > "Phil Wilson" <(E-Mail Removed)> wrote in message
> > > news:(E-Mail Removed)...
> > > > This might be something to do with it being a per-user install

instead
> > of
> > > a
> > > > per-system. If each user logs on and looks in

> > HKCU\Software\Classes\CLSID
> > > > does everything show up properly?
> > > > --
> > > > Phil Wilson [MVP Windows Installer]
> > > > ----
> > > > "Robm" <(E-Mail Removed)> wrote in message
> > > > news:X60wc.116136$(E-Mail Removed)...
> > > > > Here's a crazy problem that I woukd appreciate help with. I use

> Visual
> > > > > Studio Installer to create an msi file. Two of the components to

be
> > > > > installed are mfc based activex controls generated using Visual

> Studio
> > > C++
> > > > 6
> > > > > Activex Controlwizard. They were both created in the same way,

using
> > the
> > > > > wizard. Both of them have the same DllRegisterServer and
> > > > DllUnRegisterServer
> > > > > functions. When the msi file is run, both controls register

properly
> > for
> > > > the
> > > > > user that ran the msi, but for another user, only one of the two
> > > registers
> > > > > properly.
> > > > >
> > > > > Before the install I make sure that there are no entries for

either
> > > > control
> > > > > in HKEY_CLASSES_ROOT for either user. After the installation, for

> the
> > > > first
> > > > > user there is an entry for each control, including the proper

CLSID
> > and
> > > a
> > > > > value Insertable.For the second user, one of the controls has the

> > entry
> > > as
> > > > > well, including the Insertable value, but without a CLSID value,

> while
> > > the
> > > > > other correctly has the CLSID.
> > > > >
> > > > > How can this be? Any and all help is appreciated!
> > > > >
> > > > > Rob
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
SimonX
Guest
Posts: n/a
 
      10th Jun 2004
Hi,

This link might help you get to the bottom of your problem
http://msdn.microsoft.com/library/de...us/sysinfo/bas
e/hkey_classes_root_key.asp


"Robm" <(E-Mail Removed)> wrote in message
news:A9lxc.27485$(E-Mail Removed)...
> I am using Visual Studio Installer, and it doesn't have an ALLUSERS
> property. Registering the controls is not a matter of HKCU or HKLM, they
> have to end up correctly in HKCR.
>
> "Simon Giesemann" <(E-Mail Removed)> wrote in message
> news:gpcxc.90$(E-Mail Removed)...
> > Are you looking at the Current User reg keys or the Local Machine, you

> have
> > not specified in your question.
> >
> > Check the ALLUSERS property within your MSI, you might want to set it to

1
> > to force a per-machine install.
> >
> > "Robm" <(E-Mail Removed)> wrote in message
> > news:LZqwc.140835$(E-Mail Removed)...
> > > No, for one of the two controls it only looks OK for the user who

> actually
> > > ran the msi.
> > >
> > > I have found that the only way to get around this is to use self

> > regitration
> > > for the controls. That is against the rules, but it's much better than
> > > asking users to manually register the contriols.
> > >
> > > Rob M
> > >
> > > "Phil Wilson" <(E-Mail Removed)> wrote in message
> > > news:(E-Mail Removed)...
> > > > This might be something to do with it being a per-user install

instead
> > of
> > > a
> > > > per-system. If each user logs on and looks in

> > HKCU\Software\Classes\CLSID
> > > > does everything show up properly?
> > > > --
> > > > Phil Wilson [MVP Windows Installer]
> > > > ----
> > > > "Robm" <(E-Mail Removed)> wrote in message
> > > > news:X60wc.116136$(E-Mail Removed)...
> > > > > Here's a crazy problem that I woukd appreciate help with. I use

> Visual
> > > > > Studio Installer to create an msi file. Two of the components to

be
> > > > > installed are mfc based activex controls generated using Visual

> Studio
> > > C++
> > > > 6
> > > > > Activex Controlwizard. They were both created in the same way,

using
> > the
> > > > > wizard. Both of them have the same DllRegisterServer and
> > > > DllUnRegisterServer
> > > > > functions. When the msi file is run, both controls register

properly
> > for
> > > > the
> > > > > user that ran the msi, but for another user, only one of the two
> > > registers
> > > > > properly.
> > > > >
> > > > > Before the install I make sure that there are no entries for

either
> > > > control
> > > > > in HKEY_CLASSES_ROOT for either user. After the installation, for

> the
> > > > first
> > > > > user there is an entry for each control, including the proper

CLSID
> > and
> > > a
> > > > > value Insertable.For the second user, one of the controls has the

> > entry
> > > as
> > > > > well, including the Insertable value, but without a CLSID value,

> while
> > > the
> > > > > other correctly has the CLSID.
> > > > >
> > > > > How can this be? Any and all help is appreciated!
> > > > >
> > > > > Rob
> > > > >
> > > > >
> > > >
> > > >
> > >
> > >

> >
> >

>
>



 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: HOW TO ActiveX registration Douglas J. Steele Microsoft Access Forms 0 26th Oct 2006 02:20 PM
copying a profile, misses local settings so misses email q_q_anonymous@yahoo.co.uk Microsoft Windows 2000 8 26th Jun 2006 04:13 AM
ActiveX Registration =?Utf-8?B?UmFlZCBTYXdhbGhh?= Microsoft VC .NET 3 15th Jun 2005 12:01 PM
ActiveX components registration using VBA Milan Microsoft Access Forms 0 7th Jul 2004 02:19 PM
ActiveX DLL registration in VB.NET Paul Bromley Microsoft VB .NET 3 13th May 2004 10:10 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 11:47 AM.