Inno setup 如何在Inno安装程序中从同一脚本构建两个不同的安装程序?

Inno setup 如何在Inno安装程序中从同一脚本构建两个不同的安装程序?,inno-setup,Inno Setup,我想做一个外部使用的“标准”安装,但我也想使用相同的脚本,并告诉它(可能带有命令行参数?)为我们的实验室安装包含另一组文件(用于调试的PDB文件)。(并进行完全不同的安装) 我该怎么做?可能吗 我不知道如何在[Files]部分中设置(根据某些值/参数有条件地添加文件) 注意–这不允许用户在安装过程中选择。我想在我的hudson构建或批处理文件中设置一个构建时选项 我想我可以为PDB创建一个单独的安装程序,但我更愿意用一个文件来完成所有工作。答案很简单:为每个版本创建两个文件,但将常见内容放在第三

我想做一个外部使用的“标准”安装,但我也想使用相同的脚本,并告诉它(可能带有命令行参数?)为我们的实验室安装包含另一组文件(用于调试的PDB文件)。(并进行完全不同的安装)

我该怎么做?可能吗

我不知道如何在
[Files]
部分中设置(根据某些值/参数有条件地添加文件)

注意–这不允许用户在安装过程中选择。我想在我的hudson构建或批处理文件中设置一个构建时选项


我想我可以为PDB创建一个单独的安装程序,但我更愿意用一个文件来完成所有工作。

答案很简单:为每个版本创建两个文件,但将常见内容放在第三个文件中,并将其包含在其他两个文件中

您只需使用

#ifdef DebugVersion
File: *.pdb ...
#endif
然后像这样调用Inno编译器:

iscc.exe -DDebugVersion ...
我还将添加类似的内容,以便获得不同的输出文件名:

#ifdef DebugVersion
OutputBaseFileName=mysetup-dbg
#else
OutputBaseFileName=mysetup
#endif

请注意,您可能需要使用InnoSetup预编译程序来完成此操作,由于某些无法解释的原因,它不是默认InnoSetup包的一部分。获取它的最简单方法是从InnoSetup下载页面获取“快速入门包”。

啊,我还没想过要这么做。好主意。我宁愿只调用一个带有命令行参数的文件,但这可能会起作用。这就是我要找的。丢失的预编译器就是我要找的。