Delphi   发布时间:2022-04-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了.net-4.0 – .NET Framework作为Inno-Setup安装的先决条件大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序,我必须检查是否已安装.NET FW 3.5.如果已安装,我想打开一个消息框,要求用户从Microsoft网站下载并停止安装.

我找到了以下代码.你能告诉我吗:

a)我应该从哪里调用此函数?
b)我应该检查是否已安装.NET FW 3.5或更高版本?例如如果安装了FW 4.0 – 是否需要安装3.5?

谢谢

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('{CR_338_11845@: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;

解决方法

如果要在安装开始时但在显示向导表单之前执行检查,请使用 InitializeSetup事件处理程序.当您将false返回到该处理程序时,安装程​​序将中止,当为True时,安装程​​序将启动.这是您发布的一些优化脚本:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Custommessages]
DotNetMissing=.NET Framework 3.5 is missing. Do you want to download it ? Setup will now exit!

[Code]
function IsDotNET35Detected: Boolean;
var
  ErrorCode: Integer;
  InstallValue: Cardinal;  
begin
  Result := True;
  if not RegQueryDWordValue(HKLM,Installvalue) or (InstallValue <> 1) then
  begin
    Result := false;
    if MsgBox(ExpandConstant('{CR_338_11845@:DotNetMissing}'),MB_YEsno) = IDYES then
      SHellExec('',ErrorCodE);
  end;
end;

function InitializeSetup: Boolean;
begin
  Result := IsDotNET35Detected;
end;

大佬总结

以上是大佬教程为你收集整理的.net-4.0 – .NET Framework作为Inno-Setup安装的先决条件全部内容,希望文章能够帮你解决.net-4.0 – .NET Framework作为Inno-Setup安装的先决条件所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。