如何使用 Inno Setup 在 cmd.exe 中运行应用程序?

jam*_*123 1 inno-setup

假设我想app.exe用 Inno Setup安装一个,但安装完成后,我希望程序运行

cmd /k app.exe
Run Code Online (Sandbox Code Playgroud)

而不仅仅是app.exe.

目前我有:

Filename: "cmd /k {app}\app.exe"; Description: "{cm:LaunchProgram,app}"; \
    Flags: nowait postinstall skipifsilent runascurrentuser
Run Code Online (Sandbox Code Playgroud)

但是当然这会抱怨找不到具有给定文件名的文件。我该怎么办?

Mar*_*ryl 5

  1. 命令参数必须转到单独的参数Parameters。请参阅文档[Run]部分
  2. 您必须用双引号将应用程序的路径括起来,因为该路径可能包含一个空格(通常是:)Program Files。并且您需要将双引号加倍
  3. 使用{cmd}常量而不是对 的显式引用cmd.exe
Filename: "{cmd}"; Parameters: "/c ""{app}\app.exe"""; \
    Description: "{cm:LaunchProgram,app}"; \
    Flags: nowait postinstall skipifsilent runascurrentuser
Run Code Online (Sandbox Code Playgroud)

我假设使用/k仅用于调试。就像它cmd永远不会完成一样。对于生产用途,您需要/c改为。