繁体   English   中英

如何从Inno-setup安装DirectX可再发行组件?

[英]How to install DirectX redistributable from Inno-setup?

在Inno-Setup网站上找不到关于DirectX安装的任何提示。 那么,有任何示例安装脚本吗? 我知道我必须在[Run]部分添加如下内容:

Filename: "{src}\DirectX\DXSETUP.exe"; WorkingDir: "{src}\DirectX"; Parameters: "/silent"; Check: DirectX; Flags: waituntilterminated; BeforeInstall: DirectXProgress;

但是如何将其包含在安装文件(临时文件夹?)中,如何将其提取等?

要将其包括在设置中,您可以将其安装到{tmp} ,然后从那里[Run]

安装这种要求的正确方法是提取代码并在PrepareToInstall()事件函数中对其调用Exec()

function PrepareToInstall(var NeedsRestart: Boolean): String;
var
  InstallerResult: integer;
begin
  //Check if .Net is available already
  if NeedsDirectX() then begin
    ExtractTemporaryFile('DXSETUP.exe');
    if Exec(ExpandConstant('{tmp}\DXSETUP.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, InstallerResult) then begin
      case InstallerResult of
        0: begin
          //It installed successfully (Or already was), we can continue
        end;
        else begin
          //Some other error
          result := 'DirectX installation failed. Exit code ' + IntToStr(InstallerResult);
        end;
      end;
    end else begin
      result := 'DirectX installation failed. ' + SysErrorMessage(InstallerResult);
    end;
  end;
end;

ISXKB上有一篇有关如何检测已安装版本文章

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM