2012-04-11 19 views
12

.NET Framework 4'ün yüklü olup olmadığını ve yalnızca sistemde olmadığında onu kontrol etmenin bir yolu var mı?.NET Framework'ü, henüz yüklü olmadığında nasıl yüklerim?

.NET Framework 4'ün aşağıdaki kayıt defteri anahtarını denetleyerek kurulup kurulmadığını nasıl belirleyebilirim?

hasDotnet4 := 
    RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0'); 

Yukarıdaki denetimi temel alarak .NET Framework 4 yüklemesini nasıl çalıştırabilirim?

+1

[Im .net 4.0 istemci yüklü olmadığını tespit etmek için Inno kurulumu kullanarak ama iyi çalışmıyor] olası yinelenen (http: Aşağıdaki komut dosyası kodu .NET Framework 4'ün şartlı kurulumu için kullanımını gösterir : //stackoverflow.com/questions/9008905/im-using-inno-setup-to-detect-if-net-4-0-client-installed-but-it-doesnt-work-w) – Bernard

+0

Hayır, bu benzersiz, bu cevap ile herhangi bir konu bulamadı –

cevap

27

Yapabileceğiniz en kolay, [Files] bölümünden belirli bir dosya çıkarılan edilecektir veya [Run] bölümünden belli programı çalıştırılacak eğer kontrol etmenizi sağlar Check parametresini, kullanmaktır.

[Files] 
Source: "dotNetFx40_Full_setup.exe"; DestDir: {tmp}; \ 
    Flags: deleteafterinstall; Check: FrameworkIsNotInstalled 

[Run] 
Filename: "{tmp}\dotNetFx40_Full_setup.exe"; Check: FrameworkIsNotInstalled 

[Code] 

function FrameworkIsNotInstalled: Boolean; 
begin 
    Result := 
    not RegKeyExists(
     HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0'); 
end; 
+1

Teşekkürler, hastalarımı bırakın :) –

+4

Ekstraksiyon adımını atlamak için '' Dosyalar ''bölümünde bile' Check: 'ifadesini kullanabilirsiniz. – gogowitsch

+0

Neden doğrudan kayıt erişimi yerine 'ExpandConstant ('{dotnet40}')' ile değil? – i486

İlgili konular