🛠️

IIS Express をバックグラウンドで実行する

に公開

さまざまな経緯があり、現在は PHP の開発に IIS Express と NetBeans を使用しております。これでほとんど問題はありませんが、唯一の課題として IIS Express を手動で起動しなければならない点が挙げられます。これまではコマンド プロンプトで次のように実行していました。

"C:\Program Files (x86)\IIS Express\iisexpress.exe" /siteid:8091

この方法でも動作しますが、コマンド プロンプトを閉じると IIS Express が終了してしまいます。また、複数のサイトを起動する場合は、それぞれコマンド プロンプトを開く必要があり、手間がかかります。できればサービスのようにバックグラウンドで実行したいと考え、VBScript を利用する方法を検討しました。

Set Shell = CreateObject("Wscript.Shell") 
Shell.Run "cmd /C ""C:\Program Files (x86)\IIS Express\iisexpress.exe"" /siteid:8091", vbHide
Shell.Run "cmd /C ""C:\Program Files (x86)\IIS Express\iisexpress.exe"" /siteid:8092", vbHide

WshShell.Run メソッドの intWindowStyle に vbHide を指定することで、非表示の状態で実行できます。なお、IIS Express を終了したい場合は、通知領域アイコンに常駐している iisexpresstray.exe から終了できます。

Discussion