我正在创建一个 winform 应用程序,用于使用 msdeploy 将网站部署到 IIS 7。我的表单上有三个文本框,名为 txtName、txtPort 和 txtSelectedFile。这两个文本框中的输入用于创建命令。以下是字符串连接:
string command = "\"%PROGRAMFILES%\\IIS\\Microsoft Web Deploy\\msdeploy.exe\" -verb:sync
-presync:runCommand=\"md %SystemDrive%\\inetpub\\wwwroot\\" + txtName.Text.Trim() +
" & %systemroot%\\System32\\inetsrv\\appcmd add site /name:" + txtName.Text.Trim() +
" /id:22 /bindings:http/*:" + txtPort.Text.Trim() + ": /physicalPath:%SystemDrive%\\inetpub\\wwwroot\\" +
txtName.Text.Trim() + " \" -source:package=" + txtSelectedFile.Text +
" -dest:contentPath=%SystemDrive%\\inetpub\\wwwroot\\" + txtName.Text.Trim();
我正在使用 ProcessStartInfo 来运行命令。但是网站没有安装。但是,如果我放置一个调试器并捕获名为 command 的变量中的文本并使用命令提示符手动执行它,则该网站将被部署。