Inno setup 如何安装Microsoft VC++;在Inno设置中以静默方式重新发行?

Inno setup 如何安装Microsoft VC++;在Inno设置中以静默方式重新发行?,inno-setup,Inno Setup,如何在Inno安装程序中以静默方式安装Microsoft VC++可再发行文件?我使用了以下代码,除了安装进度窗口外,大多数安装部分都是静默的 这是我的[Run]部分代码:- [Run] Filename: "{app}\bin\vcredist_x86.exe"; \ Parameters: "/passive /verysilent /norestart /q:a /c:""VCREDI~3.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""

如何在Inno安装程序中以静默方式安装Microsoft VC++可再发行文件?我使用了以下代码,除了安装进度窗口外,大多数安装部分都是静默的

这是我的
[Run]
部分代码:-

[Run]
Filename: "{app}\bin\vcredist_x86.exe"; \
    Parameters: "/passive /verysilent /norestart /q:a /c:""VCREDI~3.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; \
    Check: VCRedistNeedsInstall; WorkingDir: {app}\bin;Flags: runminimized nowait; \
    StatusMsg: Installing CRT...

我修改了上面的代码如下。然后我让它正常工作,整个安装过程非常顺利和安静

[Run]
Filename: "{app}\bin\vcredist_x86.exe"; \
    Parameters: "/q /norestart /q:a /c:""VCREDI~3.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; \
    Check: VCRedistNeedsInstall; WorkingDir: {app}\bin;
参考链接:


您可以将这些添加到设置脚本中:

[Files]
Source: "vcredist_x86.exe"; DestDir: {tmp}; Flags: deleteafterinstall

[Run]
Filename: {tmp}\vcredist_x86.exe; \
    Parameters: "/q /passive /Q:a /c:""msiexec /q /i vcredist.msi"""; \
    StatusMsg: "Installing VC++ 2008 Redistributables..."
请注意,如果您使用的是与2008年不同的可再发行版本,则运行参数将略有变化。

以下是我的解决方案:

Filename: "{tmp}\vc_redist.x86.exe"; Parameters: "/q /norestart"; \
    Check: VCRedistNeedsInstall; StatusMsg: "Installing VC++ redistributables..."

为了顺利安装,请检查是否有必要安装可再发行版本。如果安装的版本已经是最新的(很可能),甚至不要解压缩它

[Files]
; VC++ redistributable runtime. Extracted by VC2017RedistNeedsInstall(), if needed.
Source: ".\Redist\VC_redist_2017.x64.exe"; DestDir: {tmp}; Flags: dontcopy

[Run]
Filename: "{tmp}\VC_redist_2017.x64.exe"; StatusMsg: "{cm:InstallingVC2017redist}"; \
  Parameters: "/quiet"; Check: VC2017RedistNeedsInstall ; Flags: waituntilterminated
[代码]
函数VC2017RedistNeedsInstall:Boolean;
变量
版本:字符串;
开始
如果RegQueryStringValue(HKEY_本地_机器,
'软件\Microsoft\VisualStudio\14.0\VC\Runtimes\x64','版本',版本),然后
开始
//安装的版本是否至少为14.14?
日志('VC Redist版本检查:找到'+版本);

结果:=(比较(版本'v14.14.26429.03')PrasAM我想悄悄地安装微软VC++重新分配表,但它仍然显示安装窗口。VC++的版本是什么?你需要的命令对于不同的版本有轻微的不同。你也可以尝试用标志符作为RunPosits,而不是RunMeimZEDE,你能告诉我C++ 2005吗?是参数吗?@Kushal这篇来自microsoft网站的文章可能会帮助您:有没有办法在安装时下载它们,而不是将它们包含在安装程序中。这将减少安装程序的大小。@user8123187希望这会有帮助,而不是
标志:dontcopy
,重新使用
检查:VC2017RedistNeedsInstall
,然后您就可以了无需使用
ExtractTemporaryFile
显式提取文件–可以多次调用
Check
函数,因此不应执行昂贵的操作。