msdeploy を使用して IIS 7 に Web サイトを展開するための winform アプリケーションを作成しています。私のフォームには、txtName、txtPort、txtSelectedFile という名前の 3 つのテキスト ボックスがあります。これら 2 つのテキスト ボックスへの入力は、コマンドの作成に使用されます。以下は、文字列の連結です。
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 を使用してコマンドを実行しています。ただし、Web サイトはインストールされません。ただし、デバッガーを配置してコマンドという名前の変数にテキストをキャプチャし、コマンド プロンプトを使用して手動で実行すると、Web サイトが展開されます。