.NET FW 3.5'in kurulu olup olmadığını kontrol etmem gereken bir uygulama var. Zaten yüklenmişse, kullanıcının Microsoft web sitesinden indirmesini ve yüklemeyi durdurmasını isteyen bir mesaj kutusu açmak istiyorum.Inno-Setup ile kurulum için bir ön koşul olarak .NET Framework
Aşağıdaki kodu buldum. Bana söyler misiniz?
a) Bu işlevi nereden aramalıyım? b) .NET FW 3.5 veya daha yüksek bir sürüm zaten yüklü olup olmadığını kontrol etmeli miyim? Örneğin. FW 4.0 yüklü ise - 3.5 yüklemek için gerekli mi? Eğer sihirbaz formu gösterilmektedir önce kurulum başlar ama, bunun için InitializeSetup
olay işleyicisi kullandığınızda kontrolü gerçekleştirmek istiyorsanız
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;
Hiçbir sorunuza cevap vermediğimi biliyorum. Yakında bir güncelleme ile geri geleceğim ... Ama şimdi gitmeliyim ... – TLama
Teşekkür ederim. Deneyeceğim. Daha yüksek (> 3.5) sürümleri nedir? Eğer FW 4.0 kurulu ise 3.5 için ihtiyacı karşıladığını söylemek doğru mu? –
['Bu makale'] 'de anlatıldığı gibi uygulamanıza bağlıdır (http://msdn.microsoft.com/en-us/library/ff602939.aspx). Ama kimse açıkça söylesin, eğer ör. .NET Framework 3.5 yüklü olmayan bir bilgisayarda .NET 4.5, bir algılamanın ['bu tür '] (http://support.microsoft.com/kb/318785/en-us) uygulayabileceksiniz. – TLama