Innosetup 多种安装 vc_redist 运行库方式

很多程序需要安装vc运行库才能正常用,那就需要安装两个exe,让用户选是否安装就选普通方式,如果无须用户选择,直接安装就选择全静默方式。 以下用vc_redist.x64.exe举栗子。

一、普通、半静默、全静默安装

[Files]
Source: “vc_redist.x64.exe”; DestDir: {app}; Flags: deleteafterinstall

1、普通安装vc_redist.x64.exe,即提示用户是否安装
[Run]
Filename:{app}vc_redist.x64.exe";

2、半静默状态安装vc_redist.x64.exe,即提示正在安装 Installing Microsoft Visual C++ Runtime
[Run]
Filename: “{app}\vc_redist.x64.exe”; Parameters: “/q /passive /Q:a /c:”“msiexec /q /i vcredist.msi”""; StatusMsg: “Installing Microsoft Visual C++ Runtime …”; Flags: skipifdoesntexist;

3、全静默状态安装vc_redist.x64.exe,即没有提示,直接安装
[Run]
Filename: “{app}\vc_redist.x64.exe”; Parameters: “/q”; StatusMsg: “Installing Microsoft Visual C++ Runtime …”; Flags: skipifdoesntexist;

二、检测是否已安装,否则全静默安装

[Files]
Source: vc_redist.x64.exe"; DestDir: “{app}”; Check: NeedInstallVC9SP1

[Run]
Filename: “{app}{#AppExeName}”; Description: “{#AppExeName}”; Flags: nowait postinstall skipifsilent
Filename: “{app}\vc_redist.x64.exe”; Parameters: /q; StatusMsg: “Installing Microsoft Visual C++ Runtime …”; Flags: skipifdoesntexist;Check: NeedInstallVC9SP1

[Code]
var vc9SP1Missing: Boolean;
function NeedInstallVC9SP1(): Boolean;
begin
Result := vc9SP1Missing;
end;
function InitializeSetup(): Boolean;
var version: Cardinal;
begin
if RegQueryDWordValue(HKLM, ‘SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{9A25302D-30C0-39D9-BD6F-21E6EC160475}’, ‘Version’, version) = false then begin
vc9SP1Missing := true;
end;
result := true;
end;

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

crushFlower

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值