.net-4.0 – .NET Framework作为Inno-Setup安装的先决条件

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

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

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

谢谢

  1. function IsDotNET35Detected(): Boolean;
  2. var
  3. ErrorCode: Integer;
  4. netFrameWorkInstalled : Boolean;
  5. isInstalled: Cardinal;
  6. begin
  7. result := true;
  8.  
  9. // Check for the .Net 3.5 framework
  10. isInstalled := 0;
  11. netFrameworkInstalled := RegQueryDWordValue(HKLM,'SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5','Install',isInstalled);
  12. if ((netFrameworkInstalled) and (isInstalled <> 1)) then netFrameworkInstalled := false;
  13.  
  14. if netFrameworkInstalled = false then
  15. begin
  16. if (MsgBox(ExpandConstant('{cm:dotnetmissing}'),mbConfirmation,MB_YESNO) = idYes) then
  17. begin
  18. ShellExec('open','http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en','',SW_SHOWNORMAL,ewNoWait,ErrorCode);
  19. end;
  20. result := false;
  21. end;
  22.  
  23. end;

解决方法

如果要在安装开始时但在显示向导表单之前执行检查,请使用 InitializeSetup事件处理程序.当您将False返回到该处理程序时,安装程​​序将中止,当为True时,安装程​​序将启动.这是您发布的一些优化脚本:
  1. [Setup]
  2. AppName=My Program
  3. AppVersion=1.5
  4. DefaultDirName={pf}\My Program
  5.  
  6. [CustomMessages]
  7. DotNetMissing=.NET Framework 3.5 is missing. Do you want to download it ? Setup will now exit!
  8.  
  9. [Code]
  10. function IsDotNET35Detected: Boolean;
  11. var
  12. ErrorCode: Integer;
  13. InstallValue: Cardinal;
  14. begin
  15. Result := True;
  16. if not RegQueryDWordValue(HKLM,InstallValue) or (InstallValue <> 1) then
  17. begin
  18. Result := False;
  19. if MsgBox(ExpandConstant('{cm:DotNetMissing}'),MB_YESNO) = IDYES then
  20. ShellExec('',ErrorCode);
  21. end;
  22. end;
  23.  
  24. function InitializeSetup: Boolean;
  25. begin
  26. Result := IsDotNET35Detected;
  27. end;

猜你在找的Delphi相关文章