在Inno Setup中取消安装

用户名

我正在用C#开发应用程序。我正在尝试使用Inno Setup创建安装包,但是我需要检查用户是否已安装.NET Framework。我这样做了,但是问题就出在这里:如果用户不想安装.NET 4,则程序需要取消安装。我怎样才能做到这一点?

[Run]
Filename: "{app}\dotNetFx40_Full_x86_x64.exe"; Check: FrameworkIsNotInstalled
Filename: "{app}\sis_visu_ipccV2.0.exe"; Description: "{cm:LaunchProgram,SisIPCCAR4}"; Flags: nowait postinstall skipifsilent

[Code]
function FrameworkIsNotInstalled: Boolean;
begin
  if MsgBox('Foi detectado que seu computador não possui o .NET Framework 4.0. Para que o aplicativo execute normalmente é necessário tê-lo instalado. Deseja instalar? ', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES then
   begin
     Result := not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0');
    end
    else begin
      Abort;
    end; 
end;
罗宾

我会在一开始就检查并请求.NET安装的许可。

如果用户选择NOT安装.NET,则安装过程将终止。

如果用户AGREE要安装.NET,则安装过程将正常运行,并且.NET将在安装结束时安装(通过RUN部分)。


您可以将其从RUN部分移至BeforeInstall或选择其他解决方案,但这将需要编写其他代码。


例子:

[Run]
Filename: "{app}\dotNetFx40_Full_x86_x64.exe"; WorkingDir: "{app}"; 
 Parameters: "/passive /norestart"; Flags: waituntilterminated skipifdoesntexist; 
 StatusMsg: "{cm:dotNetInstallation}"; Check: not dotNetInstalled
Filename: "{app}\sis_visu_ipccV2.0.exe"; Description: "{cm:LaunchProgram,SisIPCCAR4}"; 
 Flags: nowait postinstall skipifsilent

[CustomMessages]
dotNETnotpresent=Foi detectado que seu computador não possui o .NET Framework 4.0. Para que o aplicativo execute normalmente é necessário tê-lo instalado. %n%nDeseja instalar? 
dotNetInstallation=Installation of .NET Framework 4.0 in progress...

[Code]
var
    dotNetBool: Boolean;

function InitializeSetup(): Boolean;
var
  Q: Integer;
begin
    Result := False;
    dotNetBool := False;
    if not RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\.NETFramework\policy\v4.0') then begin
    //Registry entry was not found, quesion will appear
        Q := MsgBox(ExpandConstant('{cm:dotNETnotpresent}'), mbInformation, MB_YESNO);      
        if Q = IDYES then begin
        //If the asnwer is YES, Setup will initialize 
        //If the answer is NO, Setup will terminate
            Result := True;
        end;
    end
    else begin
    //Registry entry was found, Setup will initialize
        dotNetBool := True;
        Result := True;
    end;
end;

function dotNetInstalled: Boolean;
begin
  Result := dotNetBool;
end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Inno Setup安装JRE?

来自分类Dev

Inno Setup:仅在非常安静时安装

来自分类Dev

Inno Setup语法-OR,AND

来自分类Dev

使用Inno Setup从任务栏,开始菜单中取消固定应用程序

来自分类Dev

inno setup中的“ Not in a loop”错误

来自分类Dev

Inno Setup-用于多个安装程序的安装程序

来自分类Dev

Inno Setup“安装完成”向导页面

来自分类Dev

Inno Setup禁用安装向导页面

来自分类Dev

Inno Setup:如何将安装程序本身放入已安装的程序中

来自分类Dev

Inno Setup中的TTreeView

来自分类Dev

Inno Setup中的条件DisableProgramGroupPage

来自分类Dev

Inno Setup:在卸载过程中从安装程序读取文件

来自分类Dev

如果安装程序中的字体版本高于安装的字体版本,请使用Inno Setup安装字体

来自分类Dev

如何在Inno Setup中的安装后强制重启

来自分类Dev

在Inno Setup中跳过准备安装向导页面

来自分类Dev

在Inno Setup中检测到安装被中止/取消

来自分类Dev

在Inno Setup中安装部分后,如何移动任务部分?

来自分类Dev

阻止自动继续安装到“完成”页面,并允许返回“安装”页面以查看Inno Setup中的结果

来自分类Dev

如何从Inno Setup的[Files]部分取消文件签名?

来自分类Dev

在Inno Setup中记录TWindowsVersion

来自分类Dev

Inno Setup,[运行]中参数中的空格

来自分类Dev

从Inno Setup中的临时文件夹安装包含的安装程序

来自分类Dev

如果安装程序中的字体版本高于安装的字体版本,请使用Inno Setup安装字体

来自分类Dev

Inno Setup:仅在不静音时安装

来自分类Dev

Inno Setup“安装完成”向导页面

来自分类Dev

Inno Setup禁用安装向导页面

来自分类Dev

使用MSI / WiX安装升级Inno Setup安装时,已安装程序中的重复条目

来自分类Dev

使用Inno Setup创建透明的安装程序?

来自分类Dev

Inno Setup 中的动态密码

Related 相关文章

  1. 1

    如何从Inno Setup安装JRE?

  2. 2

    Inno Setup:仅在非常安静时安装

  3. 3

    Inno Setup语法-OR,AND

  4. 4

    使用Inno Setup从任务栏,开始菜单中取消固定应用程序

  5. 5

    inno setup中的“ Not in a loop”错误

  6. 6

    Inno Setup-用于多个安装程序的安装程序

  7. 7

    Inno Setup“安装完成”向导页面

  8. 8

    Inno Setup禁用安装向导页面

  9. 9

    Inno Setup:如何将安装程序本身放入已安装的程序中

  10. 10

    Inno Setup中的TTreeView

  11. 11

    Inno Setup中的条件DisableProgramGroupPage

  12. 12

    Inno Setup:在卸载过程中从安装程序读取文件

  13. 13

    如果安装程序中的字体版本高于安装的字体版本,请使用Inno Setup安装字体

  14. 14

    如何在Inno Setup中的安装后强制重启

  15. 15

    在Inno Setup中跳过准备安装向导页面

  16. 16

    在Inno Setup中检测到安装被中止/取消

  17. 17

    在Inno Setup中安装部分后,如何移动任务部分?

  18. 18

    阻止自动继续安装到“完成”页面,并允许返回“安装”页面以查看Inno Setup中的结果

  19. 19

    如何从Inno Setup的[Files]部分取消文件签名?

  20. 20

    在Inno Setup中记录TWindowsVersion

  21. 21

    Inno Setup,[运行]中参数中的空格

  22. 22

    从Inno Setup中的临时文件夹安装包含的安装程序

  23. 23

    如果安装程序中的字体版本高于安装的字体版本,请使用Inno Setup安装字体

  24. 24

    Inno Setup:仅在不静音时安装

  25. 25

    Inno Setup“安装完成”向导页面

  26. 26

    Inno Setup禁用安装向导页面

  27. 27

    使用MSI / WiX安装升级Inno Setup安装时,已安装程序中的重复条目

  28. 28

    使用Inno Setup创建透明的安装程序?

  29. 29

    Inno Setup 中的动态密码

热门标签

归档