使用 Inno Setup 在 IIS 中创建虚拟目录

Create Virtual directory in IIS with Inno Setup

您好,我需要帮助来创建虚拟目录。

我尝试使用这些命令,但 none 有效:

[Run]
Filename: "{cmd}"; parameters: "/C""net %systemroot%\system32\inetsrv\AppCmd add vdir /app.name: """"Default Web Site/"" /path:/SERVER1 /physicalPath:D:\server1 /username:USER /password:PWD"

Filename: "net.exe"; parameters: "%systemroot%\system32\inetsrv\AppCmd add vdir /app.name: """"Default Web Site/"" /path:/SERVER1 /physicalPath:D:\server1 /username:USER /password:PWD"

Filename: "{cmd}"; parameters: "/C""%systemroot%\system32\inetsrv\AppCmd add vdir /app.name: """"Default Web Site/"" /path:/SERVER1 /physicalPath:D:\server1 /username:USER /password:PWD"

Filename: "{cmd}"; parameters: "%systemroot%\system32\inetsrv\AppCmd add vdir /app.name: """"Default Web Site/"" /path:/SERVER1 /physicalPath:D:\server1 /username:USER /password:PWD"

Filename: "cmd.exe"; parameters: "/C "%systemroot%\system32\inetsrv\AppCmd add vdir /app.name: """"Default Web Site/"" /path:/DSERVER /physicalPath:D:\server1 /username:USER /password:PWD""

Filename: "cmd.exe"; parameters: "%systemroot%\system32\inetsrv\AppCmd add vdir /app.name: """"Default Web Site/"" /path:/SERVER1 /physicalPath:D:\server1 /username:USER /password:PWD"

这是正确的语法:

[Run]
FileName: {sys}\inetsrv\appcmd.exe; \
    Parameters: "add vdir /app.name:""Default Web Site/"" /path:/server1/ /physicalPath:D:\server1 /username:USER /password:PWD"

您的尝试没有成功,因为:

  • 很多,你试试运行net,为什么?
  • 你的引号全错了。

    To embed a double-quote character inside a quoted value, use two consecutive double-quote characters.

    参见Parameters in Sections

  • 环境变量 (%systemroot%) 在命令行或批处理文件中解析,但在向程序提供参数时通常不会解析。如果您希望 Inno Setup 为您解析变量,请使用语法 {%SystemRoot}。尽管在这种情况下,最好使用 {sys}

    参见 Inno Setup Constants

  • 虽然这本身不是问题,但尝试通过命令解释器 运行 .exe (appcmd.exe) 是没有意义的 (cmd.exe ).