Ich habe eine Anwendung, bei der ich prüfen muss, ob .NET FW 3.5 bereits installiert ist. Wenn sie bereits installiert ist, möchte ich eine Messagebox öffnen, die den Benutzer auffordert, sie von der Microsoft-Website herunterzuladen und die Installation zu beenden.
Ich habe den folgenden Code gefunden. Können Sie mir bitte sagen:
a) Von wo aus soll ich diese Funktion aufrufen? b) Sollte ich prüfen, ob .NET FW 3.5 oder höhere Version bereits installiert ist? z.B. Wenn FW 4.0 installiert ist - ist es dann notwendig, 3.5 zu installieren?
Dankeschön
function IsDotNET35Detected(): Boolean;
var
ErrorCode: Integer;
netFrameWorkInstalled : Boolean;
isInstalled: Cardinal;
begin
result := true;
// Check for the .Net 3.5 framework
isInstalled := 0;
netFrameworkInstalled := RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5', 'Install', isInstalled);
if ((netFrameworkInstalled) and (isInstalled <> 1)) then netFrameworkInstalled := false;
if netFrameworkInstalled = false then
begin
if (MsgBox(ExpandConstant('{cm:dotnetmissing}'), mbConfirmation, MB_YESNO) = idYes) then
begin
ShellExec('open',
'http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en',
'','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
end;
result := false;
end;
end;