.net - asp - vb net framework download
इनो सेटअप: सत्यापित करें कि.NET 4.0 स्थापित है (2)
@ कोडी ग्रे - आपके समाधान के लिए धन्यवाद। बहुत मददगार!
अगर किसी को दिलचस्पी है, तो यहाँ स्ट्रिंग के बजाय गणना मूल्यों का उपयोग करते हुए मेरा कार्य है। यह बदलाव विशुद्ध रूप से व्यक्तिगत पसंद का मामला है। कोड में v4.5 के लिए परिवर्तन शामिल हैं और मेरे सीमित परीक्षण के आधार पर ठीक से काम करने के लिए लगता है।
डेविड
[Code]
//
// Enumeration used to specify a .NET framework version
//
type TDotNetFramework = (
DotNet_v11_4322, // .NET Framework 1.1
DotNet_v20_50727, // .NET Framework 2.0
DotNet_v30, // .NET Framework 3.0
DotNet_v35, // .NET Framework 3.5
DotNet_v4_Client, // .NET Framework 4.0 Client Profile
DotNet_v4_Full, // .NET Framework 4.0 Full Installation
DotNet_v45); // .NET Framework 4.5
//
// Checks whether the specified .NET Framework version and service pack
// is installed (See: http://www.kynosarges.de/DotNetVersion.html)
//
// Parameters:
// Version - Required .NET Framework version
// ServicePack - Required service pack level (0: None, 1: SP1, 2: SP2 etc.)
//
function IsDotNetInstalled(Version: TDotNetFramework; ServicePack: cardinal): boolean;
var
KeyName : string;
Check45 : boolean;
Success : boolean;
InstallFlag : cardinal;
ReleaseVer : cardinal;
ServiceCount : cardinal;
begin
// Registry path for the requested .NET Version
KeyName := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\';
case Version of
DotNet_v11_4322: KeyName := KeyName + 'v1.1.4322';
DotNet_v20_50727: KeyName := KeyName + 'v2.0.50727';
DotNet_v30: KeyName := KeyName + 'v3.0';
DotNet_v35: KeyName := KeyName + 'v3.5';
DotNet_v4_Client: KeyName := KeyName + 'v4\Client';
DotNet_v4_Full: KeyName := KeyName + 'v4\Full';
DotNet_v45: KeyName := KeyName + 'v4\Full';
end;
// .NET 3.0 uses "InstallSuccess" key in subkey Setup
if (Version = DotNet_v30) then
Success := RegQueryDWordValue(HKLM, KeyName + '\Setup', 'InstallSuccess', InstallFlag) else
Success := RegQueryDWordValue(HKLM, KeyName, 'Install', InstallFlag);
// .NET 4.0/4.5 uses "Servicing" key instead of "SP"
if (Version = DotNet_v4_Client) or
(Version = DotNet_v4_Full) or
(Version = DotNet_v45) then
Success := Success and RegQueryDWordValue(HKLM, KeyName, 'Servicing', ServiceCount) else
Success := Success and RegQueryDWordValue(HKLM, KeyName, 'SP', ServiceCount);
// .NET 4.5 is distinguished from .NET 4.0 by the Release key
if (Version = DotNet_v45) then
begin
Success := Success and RegQueryDWordValue(HKLM, KeyName, 'Release', ReleaseVer);
Success := Success and (ReleaseVer >= 378389);
end;
Result := Success and (InstallFlag = 1) and (ServiceCount >= ServicePack);
end;
मेरे पास एक घटक है जिसे चलाने के लिए .NET 4.0 की आवश्यकता है, मेरे इनो सेटअप इंस्टॉलर यह कैसे स्थापित कर सकते हैं कि यह सत्यापित करें, और यदि नहीं, तो उपयोगकर्ता को इसे स्थापित करने के लिए संकेत दें
अगर आपको परवाह नहीं है कि "पूर्ण" या .NET 4 का "क्लाइंट" संस्करण स्थापित है:
try
ExpandConstant('{dotnet40}');
// Installed
except
// Not installed
end;