Inno setup Inno安装程序中的自定义命令行参数具有默认值,因此我可以传递生成配置

Inno setup Inno安装程序中的自定义命令行参数具有默认值,因此我可以传递生成配置,inno-setup,Inno Setup,我正在使用Inno Setup.iss文件为.NET项目创建安装程序。 我希望默认安装程序生成使用调试生成输出路径,这样开发人员就可以创建本地安装程序进行测试,但我希望能够向Inno编译器传递一个参数,告诉它在执行正确的生产生成时使用发布输出路径 根据我所能收集到的信息,我无法将自定义变量添加到[Setup]部分,因为我尝试了 [Setup] Config = {param:config|Debug} 如中所述,但我 无法识别的[Setup]节指令“Config” 因此,在我看来,唯一的选

我正在使用Inno Setup.iss文件为.NET项目创建安装程序。
我希望默认安装程序生成使用调试生成输出路径,这样开发人员就可以创建本地安装程序进行测试,但我希望能够向Inno编译器传递一个参数,告诉它在执行正确的生产生成时使用发布输出路径

根据我所能收集到的信息,我无法将自定义变量添加到
[Setup]
部分,因为我尝试了

[Setup]  
Config = {param:config|Debug}
如中所述,但我

无法识别的[Setup]节指令“Config”

因此,在我看来,唯一的选择是在
#define
部分中添加一些内容

我发现可以在命令行中使用
/Dparamname=value
定义参数。 因此,我尝试了中建议的
{param:Config | Debug}
{param:#Config | Debug}
,但再次出现编译器错误:

未知的文件名前缀“.\project\bin\{param:”

如果我在iss文件中定义了Config“Debug”,那么在命令行中传递
/DConfig=Release
不会覆盖调试值

那么,有没有什么好办法来完成我想要的任务呢?如果没有任何东西传递到命令行,我可以使用默认值运行编译,如果命令行值可用,我可以使用它?
还是有一个更简单的方法来做这件事,而我却错过了

当前,我的命令行调用如下所示:
iscc path\to\my\iss\file/DConfig=Release

我正在使用Inno Setup 5.5.9。

使用:


也许您可以使用我的Visual Studio第三方扩展名Visual&Installer(),而不是批处理文件和使用cmd行参数调用编译器

它将Inno安装项目添加到VisualStudio中,这样您就可以在单个解决方案中将所有内容(安装程序、.NET项目、库等)放在一起

它支持许多VS功能,例如,您可以设置项目属性(对于Inno Setup installer):

它还接受平台和配置,因此您可以在VisualStudio中简单地将配置从调试切换到发布,这将应用于Inno安装程序,同样适用于平台等

#ifndef Config
#define Config "Debug"
#endif