1

WinForms にアプリケーションがあり、SetupDevelopment プロジェクトを作成し、Setup.exe ファイルを使用してアプリケーションをインストールします。MSAcceess db ファイルをアプリケーション フォルダ ファイルに追加しました。アプリケーションをインストールすると、データベース ファイルが読み取り専用になります。インストール後にファイルを書き込み可能にするにはどうすればよいですか?

インターネットでいくつかの解決策を見つけ、「C:\ProgramFile\」以外の別のパスにアプリケーションをインストールして、すべてのユーザーがアプリケーションを利用できるようにしようとすると、問題が解決することがわかりましたが、「 C:\ProgramFile\" を使用し、「現在のユーザー」のみが利用できるようにしたいのですが、どうすれば問題を解決できますか?

4

1 に答える 1

1

最新のWindowsオペレーティングシステムでは、フォルダ「プログラムファイル」または「プログラムファイル(x86)」は一般ユーザーに対してのみ読み取られます。この選択はセキュリティ上の理由から行われており、このルールを簡単に回避することはできません。現在のユーザーのみに使用する推奨フォルダーは、 C:\users\username\AppData\RoamingまたはでC:\users\username\AppData\Local識別されEnvironment.SpecialFolder.ApplicationDataますEnvironment.SpecialFolder.LocalApplicationData。このベースフォルダに、アプリケーションまたは会社を識別する別のサブフォルダを追加し、そこにデータベースをインストールします。

現在のPCのすべてのユーザーがデータベースを利用できるようにする場合は、Environment.SpecialFolder.CommonApplicationDataC:\programdataに解決されるにデータベースをインストールできます。(ここでも、アプリケーションまたは会社に固有のサブフォルダーを追加します)

繰り返しになりますが、オペレーティングシステムがそのルールに反して動作するように強制しようとしないでください。あなたは非常に頻繁に自分自身を困らせるでしょう。

于 2012-07-22T11:58:43.150 に答える