RegDBGetKeyValueEx returns -1
Asked Answered
C

1

0

I am using below installscript code to identify whether SharePoint is installed or not. but its not working. The function returns -1. Not sure what is the issue. can someone please help? I want to do below steps

  1. Reach to this registry location first ""SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\15.0""

  2. Read Name "SharePoint" and its value "Installed"

refer attached image.

function IsSharePointInstalled()
STRING szKey, svValue, szName;
NUMBER nvType, nvSize;

begin           
    RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE);        
    szKey = "SOFTWARE\\Microsoft\\Shared Tools\\Web Server 
             Extensions\\15.0";         
    szName = "SharePoint";          

    if(RegDBKeyExist (szKey) >=1) then          
        MessageBox("Key found", INFORMATION);       

    if(RegDBGetKeyValueEx(szKey, szName, nvType, svValue, nvSize) < 0) then
        MessageBox("Failed to get value", INFORMATION);
    else                        
        MessageBox("Successfully got value", INFORMATION);
    endif;
   endif;

RegDBSetDefaultRoot(HKEY_CLASSES_ROOT);                 
end;                    

Image

Cultivar answered 5/6, 2018 at 7:40 Comment(0)
J
1

Installscipt: Where is your value located? Have you accounted for the 64- versus 32 bit sections of the registry?

  • HKEY_LOCAL_MACHINE\SOFTWARE

  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node

Perhaps investigate the 64-bit option here (REGDB_OPTION_WOW64_64KEY) if you need the 64-bit section of the registry.


AppSearch: for a simple registry retrieval like this, you could use AppSearch instead (System Search View). I don't have the time to make a sample for that right now. You can also see the System Search View / Wizard.

Jabez answered 5/6, 2018 at 10:25 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.