Inno setup打包软件run段了存在.EXE或者.BAT问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Inno setup打包软件run段了存在.EXE或者.BAT问题?相关的知识,希望对你有一定的参考价值。

我源码RUN段里要执行一个EXE和一个BAT文件,不过这两个文件都会跳出好多提示确认窗口,影响美观和用户体验,我想把exe和bat执行时的提示窗口都隐藏到后台执行了。不知有何方法。

参考技术A 注册这个regsvr32,带上/s参数就可以静默执行,即regsvr32 /s xxx.dll追问

额能讲解下具体的操作,比如说我的EXE文件名叫setup.EXE。BAT文件叫REGISTRY.BAT

追答

我不清楚你这个注册dll是在哪一步做的,你要自己看看,比如那个bat里有没有调用过regsvr32,如果有,加上这个/s 就行了,如果是在inno setup脚本里写的,那一样的,比如是
Filename: regsvr32; Parameters: "c:\windows\system32\macromed\flash\flash9f.ocx /s";

追问

我好像都没有接触过regsvr32,bat静默执行我也试过,只能把cmd窗口隐藏掉,提示窗口还是会跳。

追答

已经说的很清楚了

本回答被提问者采纳
参考技术B bat里这样写:
regsvr32 /s dllname

就不会提示上面的对话框了。
安装程序也有静默参数,setup.exe /h 就可以查询参数的用法,自己找找看吧,都是很浅很入门的东西。

Inno Setup Section [Run] with condition

【中文标题】Inno Setup Section [Run] with condition【英文标题】: 【发布时间】:2016-05-15 20:40:28 【问题描述】:

我需要 [Run] 的条件方面的帮助。如果可能的话... 我需要运行一个取决于条件的命令。

像这样:

if (UserPage.Values[0] = 'NC') then FileName: sys\inetsrv\appcmd.exe; Parameters: "set......"

或其他方式。

问候。

【问题讨论】:

【参考方案1】:

您正在寻找Check parameter:

[Run]
FileName: "sys\inetsrv\appcmd.exe"; Parameters: "set......"; Check: ShouldRun
[Code]

function ShouldRun: Boolean;
begin
  Result := (UserPage.Values[0] = 'NC');
end;

【讨论】:

以上是关于Inno setup打包软件run段了存在.EXE或者.BAT问题?的主要内容,如果未能解决你的问题,请参考以下文章

Inno Setup软件如何把多个安装包程序打包在一起,并一起运行呢?我看你的问题你会了吧,谢谢

NSIS 或 Inno Setup打包软件如何得到当前文件名

用inno setup或者其他软件打包exe程序 怎么防止重复安装的问题

如何使用Inno Setup Compiler制作安装软件包

Winfrom打包教程(Inno Setup工具)

[Run] 部分中带引号的 Inno Setup 参数