.NET - Detect framework

From ISXKB

(Difference between revisions)
Jump to: navigation, search
(Tided up)
(Code reformatted and simplyfied)
Line 14: Line 14:
function InitializeSetup(): Boolean;
function InitializeSetup(): Boolean;
var
var
-
    ErrorCode: Integer;
+
  ErrorCode: Integer;
-
    NetFrameWorkInstalled : Boolean;
+
  NetFrameWorkInstalled : Boolean;
-
    Result1 : Boolean;
+
  Result1 : Boolean;
begin
begin
-
+
  NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v1.0');
-
NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v1.0');
+
  if NetFrameWorkInstalled then
-
if NetFrameWorkInstalled =true then
+
  begin
-
begin
+
    Result := true;
-
Result := true;
+
  end else
-
end;
+
  begin
-
+
    NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v1.1');
-
if NetFrameWorkInstalled = false then
+
    if NetFrameWorkInstalled then
-
begin
+
    begin
-
NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v1.1');
+
      Result := true;
-
if NetFrameWorkInstalled =true then
+
    end else
-
begin
+
    begin
-
Result := true;
+
      Result1 := MsgBox('This setup requires the .NET Framework. Please download and install the .NET Framework and run this setup again. Do you want to download the framwork now?',
-
end;
+
        mbConfirmation, MB_YESNO) = idYes;
-
 
+
      if Result1 =false then
-
if NetFrameWorkInstalled =false then
+
      begin
-
begin
+
        Result:=false;
-
Result1 := MsgBox('This setup requires the .NET Framework. Please download and install the .NET Framework and run this setup again. Do you want to download the framwork now?',
+
      end else
-
mbConfirmation, MB_YESNO) = idYes;
+
      begin
-
if Result1 =false then
+
        Result:=false;
-
begin
+
        ShellExec('open',
-
Result:=false;
+
          'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe',
-
end
+
          '','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
-
else
+
      end;
-
begin
+
    end;
-
Result:=false;
+
  end;
-
ShellExec('open',
+
-
'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe',
+
-
'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
+
-
                end;
+
-
            end;
+
-
end;
+
end;
end;
</pre>
</pre>

Revision as of 14:19, 10 March 2008

Detect if the .NET framework is installed, and open a browser window with the download URL if it is not.

Code provided by AG and Matej Cerk

[Setup]
AppName=NETFramewrok
AppVerName=NETFramewrok
DefaultDirName={pf}\NETFramewrok
DisableStartupPrompt=true
 
[Code]

function InitializeSetup(): Boolean;
var
  ErrorCode: Integer;
  NetFrameWorkInstalled : Boolean;
  Result1 : Boolean;
begin
  NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v1.0');
  if NetFrameWorkInstalled then
  begin
    Result := true;
  end else
  begin
    NetFrameWorkInstalled := RegKeyExists(HKLM,'SOFTWARE\Microsoft\.NETFramework\policy\v1.1');
    if NetFrameWorkInstalled then
    begin
      Result := true;
    end else
    begin
      Result1 := MsgBox('This setup requires the .NET Framework. Please download and install the .NET Framework and run this setup again. Do you want to download the framwork now?',
        mbConfirmation, MB_YESNO) = idYes;
      if Result1 =false then
      begin
        Result:=false;
      end else
      begin
        Result:=false;
        ShellExec('open',
          'http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe',
          '','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
      end;
    end;
  end;
end;

See also

External links

MSKB - How to detect the installed version of the .NET Framework

Personal tools
Ads: