2015-10-14 153 views
0

嗨,我需要帮助来创建一个虚拟目录。用Inno Setup在IIS中创建虚拟目录

我试图使用这些命令,但没有工作:

[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" 
+0

当你在命令行上手动执行它们时,这些工作是否有效? –

+0

是的,我在DOS下使用这个命令: %systemroot%\ system32 \ inetsrv \ APPCMD add vdir /app.name:"DefaultWeb Site /“/path:/ SERVER1/physicalPath:D:\ server1/username:USER /密码:PWD – Robertopcn

回答

1

这是正确的语法:

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

你的企图没有成功,原因是:

  • 在很多情况下,您尝试运行net,为什么?
  • 你有引号全错。

    要在引用值中嵌入双引号字符,请使用两个连续的双引号字符。

    参见Parameters in Sections

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

    参见Inno Setup Constants

  • 虽然没有问题,但通过命令解释器(cmd.exe)试图运行.exeappcmd.exe)没有意义。

+0

非常感谢。有效。 此致敬礼。 – Robertopcn