VC++ Redist添加/norestart被动安装后仍自动重启的问题
VC++ Redist无交互安装仍触发重启的解决方法
问题场景
尝试通过Inno Setup的Run段实现VC++ Redist无用户交互安装,已添加/norestart参数避免系统重启,但安装完成后程序仍自动尝试重启机器。原代码如下:
[Run] Filename: "{tmp}\VC_redist.x64.exe"; \ Parameters: "/passive /Q:a /c:""msiexec /qb /norestart /i vcredist.msi"" "; \ StatusMsg: Installing VC++ RunTime...
问题原因
原方案手动拆解exe调用内部msi,参数传递层级混乱:外层的/passive参数可能携带默认重启逻辑,且直接调用msi的方式会绕开exe本身的重启控制机制。
修正方案
直接使用VC++ Redist官方提供的静默安装参数,无需手动调用msi,修改后的代码如下:
[Run] Filename: "{tmp}\VC_redist.x64.exe"; \ Parameters: "/quiet /norestart"; \ StatusMsg: 正在安装VC++运行时...
参数说明
/quiet:完全无交互的静默安装模式,不显示任何安装界面/norestart:强制安装程序不触发系统重启,即使存在需要替换的锁定文件
若需要显示安装进度窗口,可替换为/passive /norestart组合,现代版本的VC++ Redist均支持该参数组合。
内容的提问来源于stack exchange,提问作者techno
相关产品推荐
相关产品推荐

