如何从最终构建器设置inno设置脚本参数?

时间:2015-08-31 09:07:41

标签: inno-setup finalbuilder

我是Final Builder 7的新手并且已经完成了一些工作。

我想通过要求用户输入次要版本号,将次要版本从Final Builder 7设置为inno设置脚本。

我定义了名为minor的用户变量,通过询问用户输入来设置,我想在项目的一个.iss文件中使用这个变量。

有任何线索吗?

提前致谢。

- 最诚挚的问候 AMOL

2 个答案:

答案 0 :(得分:2)

我使用以下脚本解决了这个问题:

#define AppVersion GetFileVersion("MyApp.exe")
#define Major
#define Minor
#define Rev
#define Build
#define Version ParseVersion("MyApp.exe", Major, Minor, Rev, Build)

[Setup]
AppName=MyApp
AppVerName={#AppVersion}
VersionInfoVersion={#AppVersion}
AppVersion={#AppVersion}
OutputBaseFilename=5{#Build}

- 干杯

答案 1 :(得分:1)

看起来您正在寻找用户输入。我们每天多次运行许多构建,用户永远不需要输入任何内容。 最终构建器7具有版本控制,或者您可以增加变量。我们使用它的组合。所以,Final builder有版本,我们不接触它。例如,最终构建器具有1.1.2,并且它还具有增量变量。最后我们得到1.1.2.345,其中345是自动增加的内部编号。

现在,我们如何将Inno更新为适当的版本。在我们的脚本中,我们#define(s)列出了这样的

#define Major "@@major@@"
#define Minor "@@minor@@"
#define Anything "@@anything@@"

@@....@@是占位符。在运行Inno脚本之前,我们执行文本查找/替换操作,我们的占位符将替换为实际数据。然后我们使用运行DOS命令/批处理文件操作执行Inno并执行类似这样的操作

iscc.exe "%BaseDir%\Install Files\MyLovelyInstallScript.iss"

这样,除非您的软件完全更改版本,否则无需用户输入。然后,我们只需更改代表1.1.2中数字的变量 - 这是一种罕见的事件。