Asked by:
DCOMCNGF and 32 bit COM component running on a Windows 7 x64 machine

Question
-
Hi all,
During some test in order to check the behavior of some old 32 bit COM components on a 64 bit Windows 7, I note a very strange thing: they were not available from the DCOMCNFG utility (Dcomcnfg.exe). This problem does not allow to customize the security settings for these application.
Performing the same test on a Windows server 2008 32machine the DCOMCNFG utility shows the following warning message regarding my component: “The CLSID {xxxxxxxx-xxx..}, item “MyCmpPath\MyCmp.exe” and title MyComponent Class has the named value AppID, but it is not recorded under the path \\HKCR\AppId. Do you wish to record it?”
I choose No and once the GUI stops to raise errors like the one described above, I did not find my component in the list view, so I made a check on the registries on both the machines for the ApplId guid of my components with no result.
In a next test I answer yes to the dcomcnfg utility request and then my component appears in the list view allowing me to configure every setting.
Now the answer is: why the dcomcnfg utility on windows 7 x64 behaves in a different way and does not raise the same message?
Also note that trying to use these components from a client application on Windows 7 x64 they are successfully started by COM and run with no error. Looking at the Windows registry they seem to be correctly registered, the only missing thing is the applicationid entry under the path \\HKCR\AppId.
My components are developed in MS VS 6.0 sp5 with the ATL framework and contain the registry resource about the ApplicationID:
HKCR
{
NoRemove AppID
{
{%UUID_ModuleLib%} = s '%ModuleName%'
'%ModuleName%.EXE'
{
val AppID = s {%UUID_Application%}
}
}
}
Looking at these articles regarding the DCOMCNFG utility and the AppID\.exe mapping say that the registration Is managed by the tool itself:
http://support.microsoft.com/kb/246054/f#top
http://blogs.msdn.com/b/jigarme/archive/2007/10/09/what-is-appid.aspx
Does anyone encounter a similar problem?
Thanks for your help!
Tuesday, July 5, 2011 7:17 PM
All replies
-
I found some news running the utility described in this article (mmc comexp.msc /32) my components are correctly diplayed
Setting Process-Wide Security Using DCOMCNFG
http://msdn.microsoft.com/en-us/library/ms678426(VS.85).aspx#dcomcnfg.exe_and_64-bit_applications
Tuesday, July 5, 2011 8:12 PM -
Here there're some interesting additional resources that help me to better understand this problem:
· My COM server is gone from Component Services (DCOMCNFG)
· Removal of Windows Registry Reflection
http://msdn.microsoft.com/en-us/library/dd464643%28VS.85%29.aspx
· Best Practices for WOW64:
http://msdn.microsoft.com/en-us/windows/hardware/gg463051.aspx
Wednesday, July 6, 2011 12:58 PM -
Hi,
According to your description, I suggest you asking MSDN for further help:
http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/threads
The reason why we recommend posting appropriately is you will get the most qualified pool of respondents, and other partners who read the forums regularly can either share their knowledge or learn from your interaction with us. Thank you for your understanding.
Regards,
Leo Huang
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.- Marked as answer by Leo Huang Thursday, July 14, 2011 9:08 AM
- Unmarked as answer by Simone78GE Tuesday, July 19, 2011 4:13 PM
Thursday, July 7, 2011 6:19 AM -
Hi Leo,
thanks for you answer, I followed your suggestion and I post my question on the General Windows Development Issues forum. Here the link of the question:
Tuesday, July 19, 2011 1:44 PM