Tôi có một ứng dụng tôi phải kiểm tra xem .NET FW 3.5 đã được cài đặt chưa. Nếu đã được cài đặt, tôi muốn mở một hộp thư yêu cầu người dùng tải xuống từ trang web của Microsoft và ngừng cài đặt..NET Framework là điều kiện tiên quyết để cài đặt với Inno-Setup
Tôi đã tìm thấy mã sau. Bạn có thể cho tôi biết:
a) Tôi nên gọi hàm này từ đâu? b) Tôi có nên kiểm tra xem .NET FW 3.5 hoặc phiên bản cao hơn đã được cài đặt chưa? ví dụ. Nếu cài đặt FW 4.0 - có cần cài đặt 3,5 không?
Cảm ơn bạ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;
Tôi biết tôi đã trả lời không có câu hỏi nào của bạn. Tôi sẽ quay trở lại với một bản cập nhật sớm ... Nhưng tôi phải đi ngay bây giờ ... – TLama
Cảm ơn bạn. Tôi sẽ thử nó. Điều gì về các phiên bản cao hơn (> 3.5)? Điều đó có đúng không khi nói rằng nếu FW 4.0 được cài đặt, nó bao gồm các nhu cầu cho 3.5? –
Nó phụ thuộc vào ứng dụng của bạn như được nói trong ['this article'] (http://msdn.microsoft.com/en-us/library/ff602939.aspx). Nhưng không ai nói rõ ràng rằng nếu bạn cài đặt, ví dụ: .NET 4.5 trên máy tính không có .NET Framework 3.5 được cài đặt, bạn sẽ có thể áp dụng [loại này'] (http://support.microsoft.com/kb/318785/en-us) của một phát hiện. – TLama