仕事で作成したソフトを使っている人から、保存先にネットワークドライブを指定しようと思ったけど、保存ダイアログに表示されないと連絡がありました。
他のソフトではネットワークドライブが表示されているようなので、作成したソフトの問題のようです。
ネットワークドライブが表示されないことを確認
ネットワークドライブは、ネットワーク上にある他のパソコンなどの共有フォルダを、自分のパソコン上に割り当てたものです。
上の画面では「Z」ドライブとして他のパソコンの共有フォルダを設定しています。
この状態で、作成したソフトの保存ダイアログを表示してみました。
たしかに存在するはずのZドライブが表示されていません。
保存のダイアログはWindows標準のものを使用しているので、特別なことは何もしていないはずです。
原因はネットワークドライブのアクセス権限
表示されない原因を色々と調べて結果、どうやらアクセス権限が絡んでいることが判明しました。
ネットワークドライブのアクセス権限は、設定したユーザーのみに与えられます。
他のユーザーは割り当てられたドライブを参照することはできません。
具体的な例をあげると「A」というユーザーが「Z」ドライブを設定したとします。
この「Z」ドライブは、「B」というユーザーでログインしても見えません。
ユーザーの切り替えはログインしなおす必要があるので分かりやすいですが、同様のことがソフトを起動するに発生することがあります。
つまり、管理者権限で起動するソフトはログインしている「A」というユーザーが起動するのではなく、管理者の権限をもつ別のユーザーで起動していることになるのです。
その結果、管理者権限で起動したソフトは、ユーザー「A」が割り当てたネットワークドライブを参照することができないので、保存先として表示されません。
レジストリ設定の変更で共有情報を共有する
これを解決する方法は、レジストリ設定を変更することです。
レジストリの設定変更は、コマンドプロンプトから「regedit」と入力してレジストリエディタを使います。
バックアップを取っておくなど、必ず自己責任で作業してください。
EnableLinkedConnections : 1(DWORD)
コメント
管理者権限で起動しているソフトの、ファイルオープンダイアログでネットワークドライブが表示されなくなって困ってました。
記事を参考にレジストリに値を追加して問題は解消しました。
ありがとうございます。
前日まで表示されていたのに、なぜ表示されなくなったのか原因は不明のままですが。
RINTAさん
コメントありがとうございます。
お役に立てて嬉しいです。
Winodws Update等によって環境が微妙に変化したのかもしれませんね。