[wintrust] Only register actions when
HKLM\Software\Microsoft\Cryptography\Providers\Trust can be opened
Paul Vriens
Paul.Vriens at xs4all.nl
Wed Sep 6 03:04:27 CDT 2006
Hi,
there is no need to try and register actions when
HKLM\Software\Microsoft\Cryptography\Providers\Trust can not be opened as the
actions are all subkeys of this key.
Changelog
Only register actions when
HKLM\Software\Microsoft\Cryptography\Providers\Trust can be opened
Cheers,
Paul.
---
dlls/wintrust/register.c | 44 ++++++++++++++++++++++++++------------------
1 files changed, 26 insertions(+), 18 deletions(-)
diff --git a/dlls/wintrust/register.c b/dlls/wintrust/register.c
index 9f229cb..90cc063 100644
--- a/dlls/wintrust/register.c
+++ b/dlls/wintrust/register.c
@@ -719,9 +719,6 @@ HRESULT WINAPI DllRegisterServer(void)
TRACE("\n");
- /* Create the necessary action registry structures */
- WINTRUST_InitRegStructs();
-
/* FIXME:
*
* A short list of stuff that should be done here:
@@ -742,22 +739,33 @@ HRESULT WINAPI DllRegisterServer(void)
/* Check if we can open/create HKLM\Software\Microsoft\Cryptography\Providers\Trust */
if (RegCreateKeyExW(HKEY_LOCAL_MACHINE, Trust, 0, NULL, 0, KEY_WRITE, NULL, &Key, NULL) != ERROR_SUCCESS)
+ {
+ /* If the opening/creation of the key fails, there is no need to do the action registrations as they
+ * will fail as well.
+ */
Res = S_FALSE;
- RegCloseKey(Key);
-
- /* Register several Trust Provider actions */
- WINTRUST_RegisterGenVerifyV2();
- WINTRUST_RegisterPublishedSoftware();
- WINTRUST_RegisterPublishedSoftwareNoBadUi();
- WINTRUST_RegisterGenCertVerify();
- WINTRUST_RegisterTrustProviderTest();
- WINTRUST_RegisterHttpsProv();
- WINTRUST_RegisterOfficeSignVerify();
- WINTRUST_RegisterDriverVerify();
- WINTRUST_RegisterGenChainVerify();
-
- /* Free the registry structures */
- WINTRUST_FreeRegStructs();
+ }
+ else
+ {
+ RegCloseKey(Key);
+
+ /* Create the necessary action registry structures */
+ WINTRUST_InitRegStructs();
+
+ /* Register several Trust Provider actions */
+ WINTRUST_RegisterGenVerifyV2();
+ WINTRUST_RegisterPublishedSoftware();
+ WINTRUST_RegisterPublishedSoftwareNoBadUi();
+ WINTRUST_RegisterGenCertVerify();
+ WINTRUST_RegisterTrustProviderTest();
+ WINTRUST_RegisterHttpsProv();
+ WINTRUST_RegisterOfficeSignVerify();
+ WINTRUST_RegisterDriverVerify();
+ WINTRUST_RegisterGenChainVerify();
+
+ /* Free the registry structures */
+ WINTRUST_FreeRegStructs();
+ }
return Res;
}
--
1.4.2
More information about the wine-patches
mailing list