トップ回答者
Visual Studio 2010 FileOpen関数でエラーが出る。

質問
-
メニューの「デバッグ」→「デバッグなしで開始」で正常に実行することを確認した後、セットアップに進みました。メニューの「プロジェクト」で「インストール」しショートカットから実行しました。ところがFileOpen関数で「ファイルへのアクセスが拒否され」てしまいます。CドライブのPrograme Fillesの指定したフォルダにはFileOpen対象のファイルは存在します。ファイルが壊れたのかと思いプロジェクトのフォルダ内のReleaseフォルダにあるファイルをコピーしてPrograme Fillesにあるアプリケーションのフォルダに上書きしましたが、同じエラーが出ます。その他いろいろ試してみましたが解決できずにいます。きわめて単純なエラーですがそれだけに対処ができずにいます。
言語はVisual Basic、OSはWindows 7です。
回答
すべての返信
-
読み取り専用で開くことを実現すれば、Program Files にあっても読み込めます。
FileOpen 関数をどのように使っているのかわかりませんが、今使っている引数が読み書き両用なので拒否されるのでしょう。
読み取り専用のモードを指定するか、FileStream など別のやり方を検討してください。なお、Program Files 以下に管理者グループのユーザーアカウントでも書き込めなくなったのは、Vista 以降です。
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。- 編集済み AzuleanMVP, Moderator 2011年9月15日 15:23
-
Visual Studio のセットアップ用「ファイルシステム」でインストール先をドライブCのルートディレクトリ(C\)に指定したところ、インストールしたアプリケーションは動くようになりました。
確かに動くでしょうけれど、単なる回避(逃げ)であることをお忘れなく。。。
どちらかというと恥ずかしい対処方法なので、どういうやり方が正攻法か、今後調べてください。# Program Files にインストールするように変更されたら動かないと言うことになるので。
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。- 編集済み AzuleanMVP, Moderator 2011年9月16日 14:35