我在Inno-Setup网站上没有找到任何关于DirectX安装的提示。那么,有没有什么示例安装脚本呢?我知道要运行sction,我必须添加如下内容:
Filename: "{src}\DirectX\DXSETUP.exe"; WorkingDir: "{src}\DirectX"; Parameters: "/silent"; Check: DirectX; Flags: waituntilterminated; BeforeInstall: DirectXProgress;但是如何将其包含到安装文件中(临时文件夹?),如何提取它,等等?
发布于 2012-01-04 17:45:39
要将其包含在安装程序中,您可以将其安装到{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有一个article on how to detect the versions installed。
https://stackoverflow.com/questions/8723836
复制相似问题