2012-03-06 6 views
0

Azure Webロールを使用して簡単な実行ファイルを実行しようとしています。Azure Webロールを使用してローカルストレージから実行可能ファイルを実行する

  • 実行ファイルは、Webロールのローカルストレージに格納されます。
  • 実行可能ファイルは、一度実行されるとlog.txtファイルを生成します。

このは私が実行可能ファイルを実行するために使用しています方法です:

パスは、私が直面しています問題は、私はローカルストレージフォルダを開いたときに実行可能であるということです localStorage.RootPath + "Application.exe"

ある

public void RunExecutable(string path) 
    { 
     Process.Start(path); 
    } 

ただし、log.txtファイルはありません。

私は実行可能ファイルをテストしました。手動で実行すると、log.txtファイルが生成されます。

誰でも問題を見ることができますか?

答えて

1

プロセスの明示的なWorkingDirectoryを設定してみてください... log.txtが作成されているかどうか、あなたが期待している場所ではないかと思います。 (または、アプリケーションがlog.txtを作成しようとしているが、作成しようとしているディレクトリのアクセス権が原因で失敗している可能性があります)

+0

は私のように、ローカルストレージを維持したいあなたは、アプリケーションのルートにURLを構築するためにEnvironment.GetEnvironmentVariable(「RoleRoot」)を使用することができますログファイルをblobストレージコンテナにアップロードしたいと思っています。 – Sami

+2

それは素晴らしいです。それからあなたはそれを使うべきです。これはデフォルトの作業ディレクトリではありません。作業ディレクトリの設定方法については、http://stackoverflow.com/questions/114928/net-process-start-default-directoryを参照してください。 – smarx

+0

これは完璧に機能しました。私は、作業ディレクトリが、アプリケーションが保持されているディレクトリであると仮定しました。 – Sami

1

リモートデスクトップをインスタンスにインストールした場合、 E:\ approot \ folder?スティーブは問題に修正するプロセスのためのWORKINGDIRECTORYを使用して、言ったように

+0

あなたの回答をありがとう、私は作業ディレクトリに慣れていないので、プロセスの作業ディレクトリを割り当てる方法を説明してください。 Directory.SetCurrentDirectoryを使用しますか? – Sami

関連する問題