Answered by:
32 bit credential provider on 64 bit platform

Question
-
Can a credential provider built as a 32 bit app execute without modification on a windows vista/7.0 64 bit platform?Monday, August 31, 2009 4:21 PM
Answers
-
Hi Fisnik
I think that you hit "paydirt!" In the second message from the above link, Eric Perlin [MSFT] states "For logon, you need a native (i.e. 64-bit) provider. Logonui.exe (the host for the credential providers) is native. It can only load native dlls."
Thereby my original question "Can a credential provider built as a 32 bit app execute without modification on a windows vista/7.0 64 bit platform?" has been resolved. The answer is simply: "NO!"
Many thanks to you and Mounir for your help!
dmm3
- Marked as answer by dmm3 Friday, October 30, 2009 12:18 PM
Thursday, October 29, 2009 3:02 PM
All replies
-
Hi,
Yes/No, it depends, if Windows Vista is x64 then,
a program that is (x86 (32-bits)) will be saved on the
following path (only if install) = C:\Program Files (x86)\.
Anyway, you can run x86 on x64, since the Central Process Unit (CPU)
is backward compatible with x86.
Have a nice day...
Best regards,
Fisnik
Coder24.com- Proposed as answer by Fisnik Hasani Saturday, October 10, 2009 8:11 AM
Saturday, October 3, 2009 7:39 AM -
Hello dmm3:
Is this issue solved? How is the situation on your side?
Please provide some information, thanks!
Have a nice day...
Best regards,
Fisnik
Coder24.comFriday, October 9, 2009 7:52 PM -
Hi Fisnik
My 32bit credential provider installed OK on the 64bit platform. That's the last of the good news. It did not execute after rebooting the Vista-64 system. My thinking at this point is that the credential provider build environment must match the target system.
Thanks
dmm3Tuesday, October 13, 2009 2:58 PM -
Hi again:
I am not sure, if it really must match the TARGET SYSTEM.
However, I added some good and helpful links below:
Credential Management with the .NET Framework 2.0
http://msdn.microsoft.com/en-us/library/aa480470.aspx
Create Custom Login Experiences With Credential Providers For Windows Vista
http://msdn.microsoft.com/en-us/magazine/cc163489.aspx#edupdate
Implementing Protected Configuration With Windows Apps
http://www.codeproject.com/KB/security/ProtectedConfigWinApps.aspx
I hope this helps...
Have a nice day...
Best regards,
Fisnik
Coder24.comTuesday, October 13, 2009 4:47 PM -
Hi Fisnik
Unfortunately the aforementioned links do not address the issue at hand, namely "Can a credential provider built as a 32 bit app execute without modification on a windows vista/7.0 64 bit platform?"
Thanks anyhow
dmm3Thursday, October 15, 2009 8:01 PM -
Hi dmm3:
Well, as far as I know, you can run x86 (32-bit) program
on x64 (64-bit) Operating System (OS).
I think you can: I must work since 64-bit CPUs are backward compatible with x86.
Else, see if Microsofts own Support Page has any good information!
I hope this helps...
Best regards,
Fisnik
Coder24.comFriday, October 16, 2009 6:08 AM -
Hello dmm3:
How is the situation on your side?
Is this thread solved or NOT?
Please tell me!
Have a nice day...
Best regards,
Fisnik
Coder24.comSaturday, October 24, 2009 12:38 PM -
Hi all,
To Fisnik : I think you are missing the point of the question posed by dmm3. Credential Provider is an interactive authentication plug-in model for Windows that replaced the old GINA interface. Credential Providers are usually implemented as dlls . So, when dmm3 asks about the credential provider execution, he asks if his credential provider will be called by the LogonUI process that handles credential providers under Vista and Windows 7.
To dmm3 : Since LogonUI will access the credential provider through the CLSID that have been put in the registry, you must ensure that this CLSID is written both in the 64-bit registry and the 32-bit registry. Also, your credential provider's COM interface should be registered in the 64-bit registry under [HKEY_CLASSES_ROOT\CLSID ]. Did you do this?
Cheers,
--
Mounir IDRASI
IDRIX
http://www.idrix.frSunday, October 25, 2009 2:29 PM -
Hi Mounir
I've added my comments to your reply:
Since LogonUI will access the credential provider through the CLSID that have been put in the registry, you must ensure that this CLSID is written both in the 64-bit registry and the 32-bit registry.
dmm3: As far as I can tell, there is only one Registry. There are some new folders that apply to 32 bit applications (WOW) but these are not a factor in registering a credential provider.
Also, your credential provider's COM interface should be registered in the 64-bit registry under [HKEY_CLASSES_ROOT\CLSID ]. Did you do this?
dmm3: As part of the sample credential provider code from microsoft, there are boilerplate register/unregister "reg" files which install/uninstall the credential provider in the appropriate locations in the Registry. None of these locations are either 32 or 64 bit specific.
My question remains the same: Can a credential provider built as a 32 bit app execute without modification on a windows vista/7.0 64 bit platform? I am assuming that the answer must be "no" since it appears that no one has yet accomplished this feat.
Thanks
dmm3Monday, October 26, 2009 3:51 PM -
Hi dmm3,
Concerning the registry, you are mistaken : on a 64-bit Windows machine, there are two independent registry trees, one for 32-bit applications and one for 64-bit applications. That's why there are two copies of regedit.exe : one on C:\Windows\SysWOW64\regedit.exe for 32-bit registry tree and one in c:\Windows\regedit.exe for 64-bit registry tree. Note that you can not launch both on the same time.
To convince yourself, launch the one on SysWOW64 and create a dummy key somewhere. Then close it and launch the one on c:\Windows: you will notice that the key is not there!! WIN32 API will redirect automatically an application to the right registry tree depending on it type (32-bit or 64-bit).
I think this explains the problems you are having since you never interact with the 64-bit registry and LogonUI is a 64-bit app.
Cheers,
--
Mounir IDRASSI
IDRIX
http://www.idrix.frMonday, October 26, 2009 4:18 PM -
Hi Mounir
Thanks for the correction. However I am still unclear whether or not a 32 bit credential provider will execute on a 64 bit vista platform. My concern is as follows: On a 64 bit vista platform, my understanding is that a 32 bit application cannot execute in the program space of a 64 bit application and vice versa. As you have pointed out, a credential provider is a DLL which executes in the program space of its container. In this case, LogonUI is the container but is a 64 bit application while my credential provider is a 32 bit application. It would seem that this would make them incompatible with each other.
What do you think?
Thanks
dmm3Wednesday, October 28, 2009 12:32 PM -
Hi dmm3:
Yes, you should be able to. The 64-bit version of Windows Vista can run 32-bit applications with the help of the
WOW64 emulatot.
Also: Yes, Mounir is correct, it's about a plug-in for LogonUI (I was thinking of the credential provider and the manager in Windows, sorry).
To get a faster and better answer send the question to: credprov@microsoft.com
I hope this helps...
Have a nice day...
Best regards,
Fisnik
Coder24.comWednesday, October 28, 2009 12:57 PM -
hi fisnik
my comments below:
fisnik: Yes, you should be able to. The 64-bit version of Windows Vista can run 32-bit applications with the help of the
WOW64 emulatot
dmm3: this is not the issue -- we already know this. the question is whether a 32 bit dll such as a credential provider can execute in the process space of a 64 bit application on a vista 64 bit platform?
fisnik: To get a faster and better answer send the question to: credprov@microsoft.com
dmm3: my experience with this email address is that it serves as a "black hole."
thanks anyhow
dmm3Wednesday, October 28, 2009 4:21 PM -
Hi dmm3:
Well I do not know what to say! Except that the given e-mail might answer your question.
credprov = means Credential Provider.
I've got the e-mail from one of Microsoft's compatibility guidelines [A MS online freeware document].
Have a nice day...
Best regards,
Fisnik
Coder24.comWednesday, October 28, 2009 7:56 PM -
Hi dmm3:
Check this link: http://groups.google.com/group/microsoft.public.platformsdk.security/browse_thread/thread/ad453dfa40fbad1d/dbf72cda5d8d92e4?hl=en&ie=UTF-8&q=%E2%80%9DCredential+Provider%E2%80%9C+64+bit#dbf72cda5d8d92e4 (A Forums discussion regarding a similar issue).
Have a nice day...
Best regards,
Fisnik
Coder24.com- Proposed as answer by Fisnik Hasani Thursday, October 29, 2009 7:28 PM
Thursday, October 29, 2009 8:41 AM -
Hi Fisnik
I think that you hit "paydirt!" In the second message from the above link, Eric Perlin [MSFT] states "For logon, you need a native (i.e. 64-bit) provider. Logonui.exe (the host for the credential providers) is native. It can only load native dlls."
Thereby my original question "Can a credential provider built as a 32 bit app execute without modification on a windows vista/7.0 64 bit platform?" has been resolved. The answer is simply: "NO!"
Many thanks to you and Mounir for your help!
dmm3
- Marked as answer by dmm3 Friday, October 30, 2009 12:18 PM
Thursday, October 29, 2009 3:02 PM -
Hi Fisnik
I think that you hit "paydirt!"
dmm3
Hello dmm3:
"I think that you hit "paydirt!" " - I am sorry if I did something bad, note, I was thinking in different forms,
like: CPU forms, of types: like, x86 and x64.
Anyways, I am glad that we could confirm this.
Have a nice day...
Please mark something as answer so we can close this thread!
Best regards,
Fisnik
Coder24.comThursday, October 29, 2009 7:27 PM