Come faccio ad avere un valore di Registro di sistema in Inno Setup quando il valore utilizza solo il nome predefinito?

StackOverflow https://stackoverflow.com/questions/913938

Domanda

Sto cercando di ottenere la directory di installazione di un'applicazione dal registro di Windows (Google Sketchup in questo caso) con Pascal scripting di Inno Setup in modo da poter installare un plugin lì.

La chiave di registro non ha un nome, non ha solo "(Default)" in Regedit.

Ho provato questo:

RegQueryStringValue( HKLM, 'SOFTWARE\Google\Google Sketchup 6', '(Default)', pluginLoc );

, ma non restituisce un valore. Qualche suggerimento?

È stato utile?

Soluzione

Basta lasciare il SubKeyName vuoto, in questo modo:

[Code]
function InitializeSetup(): Boolean;
var
  V: string;
begin
  if RegQueryStringValue(HKLM, 'SOFTWARE\Google\Google Sketchup 6', '', V) then
    MsgBox('Value is "' + V + '"', mbInformation, MB_OK);
  Result := TRUE;
end;

La documentazione corrispondente per la chiamata API sottostante sia per RegQueryValueEx () , in cui si afferma:

  

Il nome del valore del Registro.

     

Se lpValueName è NULL o una stringa vuota, "", la funzione recupera il tipo ei dati di valore senza nome o predefinito della chiave, se presente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top