HTMLファイルをcmsに入れたり、それらを話したりするためのプログラムを作成しました。このプログラムには、さまざまなブラウザーでプレビューできるように、いくつかのコードがあります。ただし、実行すると、「ファイル名が指定されていないため、プロセスを開始できません」という未処理の例外が発生します。
- これは、chrome または firefox を起動しようとしたときにのみ発生し、IE は正常に動作します。
- Advanced Installer を使用してプログラムを実行し、マシンにインストールした場合にのみ発生します。リリース モードで VS2012 から直接ビルドする場合に機能します。
私のコードは次のとおりです。
if (chk_ExternalBrowser.Checked)
{
string ffTempFilePath = "\"" + tempFilePath + "\"";//tempFilePath is an absolute path to the html file
Process.Start(browserPaths[1], ffTempFilePath);//launch FF, browserPaths[1] contains an absolute path to firefox.exe
}
あなたが提供できる洞察を前もって感謝します。
更新: browserPaths[1] の内容を引用符で囲まなかったため、エラーが発生しました。エラーは発生しませんが、Firefox ブラウザーではなく Windows エクスプローラー ウィンドウが開きます。私の修正されたコードは以下の通りです:
if (chk_ExternalBrowser.Checked)
{
string ffTempFilePath = "\"" + tempFilePath + "\"";//after this line ffTempFilePath == \"C:\\Users\\<username ommitted>\\Documents\\Visual Studio 2012\\Projects\\Local_IMP\\Local_IMP\\bin\\Release\\TEMP.html\"
string tempTest = "\"" + browserPaths[1] + "\"";//after this line tempTest == \"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\"
Process.Start(tempTest, ffTempFilePath);//launch FF
}