这是我想要实现的目标:我想调用安装程序,并将安装成功运行后要执行的 EXE 文件作为第一个参数传递。
像这样 :
c:\downloads\myinstall.exe "c:\Program Files (x86)\MyApp\Myapp.exe"
在上述情况下,我想在安装完成后调用“Myapp.exe”。
这可能吗?
这是我想要实现的目标:我想调用安装程序,并将安装成功运行后要执行的 EXE 文件作为第一个参数传递。
像这样 :
c:\downloads\myinstall.exe "c:\Program Files (x86)\MyApp\Myapp.exe"
在上述情况下,我想在安装完成后调用“Myapp.exe”。
这可能吗?
首先要提醒一句:我不太愿意让你的安装程序运行任意命令。它可能会被滥用。攻击者可能会让用户使用一些恶意代码运行你的(可能是代码签名的)无辜安装程序。它甚至可能欺骗防病毒软件。至少我的解决方案可以在没有管理员权限的情况下运行代码。但即便如此……
您提议的命令行语法与标准 Inno Setup 命令行语法冲突。如果用户使用如下
/LOG
命令行开关运行安装程序会怎样:您最好坚持使用 switch 语法。例如,添加您自己的
/RUN
switch:此外,它使实现更容易,因为您可以使用
{param}
“constant”。并且您可以轻松地在Run
部分中使用它:如果你需要更多控制,你当然可以继续使用 Pascal 代码
CurStepChanged
。要读取/RUN
开关,请使用:另请参阅是否可以使用 Inno Setup 接受自定义命令行参数。
我可以找到如何做到这一点,如果有人需要的话,这里是代码: