3

でネットワークドライブは使用できません私は、起動時にロードするC#アプリケーションを持っている、およびログデータ:スタートアップ

マシンが最初に起動、アプリケーションがそのXエラーがスローされます:\ 利用できません。アプリを再起動すると、同じエラーが発生します。

ただし、Windowsエクスプローラを開いてダブルクリックしてドライブを参照すると、アプリケーションを実行してXに接続できます。

マップされているにもかかわらず、起動時にネットワークドライブが自動的に初期化されませんか?自動的に初期化するように設定する方法はありますか?

+0

ネットワーク接続に基づいて、システムの起動時にマップされて接続するまでに時間がかかります。待機時間を長くしたり、ネットワークがマップされているかどうかをチェックしたり、設定されたしきい値や時間を超えた場合にのみエラーをスローする機能を追加する必要があります。 –

+0

@rs:私は10分以上待ってみましたが、マップするようには見えません。 –

答えて

2

Iveは全く同じ問題がありました。そこにはもっと良いメソッドがあるかどうかは分かりませんが、マップされたドライブにアクセスする前にコードに追加しました。

Process mapDrive = new Process(); 
mapDrive.StartInfo.FileName = "net.exe"; 
mapDrive.StartInfo.Arguments = @"use c: \\server\share"; 
mapDrive.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
mapDrive.Start(); 

ドライブを起動時に使用できるかどうかは、常に利用可能になります。

+1

+1自分でマッピングしても問題ありません。 –

+0

が動作しますが、ディレクトリへのパスを設定ファイルに入力する必要があります。このファイルは起動時に読み込まれます。ネットワークドライブ上またはローカルドライブ上にある可能性があります。これをマウントしようとする前に、ローカルかネットワークかを確認する必要があります。ちょっと面倒です。ドライブを自動的にマウントする方法はありませんか? –

+0

"ドライブを自動的にマウントする方法はありませんか?" ...もしあれば、私もそれを知りたいです。 – JimDel

0

ここではHow Can I Access a Mapped Network Driveを参照してください。私の推測ドライブはあなたのユーザーのために存在しないか、またはそれにアクセスするアクセス権の問題があります。あなたがそうしていると仮定すると、もう一つの項目はorder in which you call Impersonateです。

Cannot Access Files On Mapped Drive From Windows Serviceによれば、これはまったく行うべきではありません。受諾された回答に記載されているMicrosoftのリンクを参照してください。

関連する問題