2009-08-17 3 views
0

Windows XP(32ビット)は私の開発デスクトップ(パーソナルプロジェクト)でした。私は多くの趣味のプロジェクトを開発し、それをオープンソースとして配布しており、Vistaでの確認について心配したり、心配することはありませんでした(私はVistaを1週間しか使用していません)。しかし、私のユーザーの誰もVistaの私のアプリについて多くの不平を感じていません。開発用にWindows 7(64)に移行しました。 UACの設定はどうですか? [Windowsアプリケーション]

私はWindows 7 64ビットOS(RTM)に移行しました。私はVisual Studio 2008を使用しています。私は販売しようとしているアプリケーションを開発しています。私は私のラップトップの私の最初のバージョンを備え付けることを決めたまで、私は、データストレージおよびすべてのためにSQLiteのDBを使用しています

はうまくいきました。ブーム!アプリが期待どおりに動作しませんでした。私は管理者ユーザーであっても、アプリケーションはDBに書き込むことができませんでした(読み取り専用と言っています)。

注:ログインしているユーザーの管理者権限を持っている場合でも、プロセスは(時にはドライブ間のペーストをコピー)管理者のアクセスを必要とする場合、Windows 7には、確認のプロンプトが表示されます。これが新しいかどうかはわかりません。これが古いものであれば無視してください。

私は "管理者として実行"としてアプリを実行したときにうまくいきました。

app.manifestファイルの設定は次のとおりです。

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

私は私の質問は、私は「requireAdministrator」に設定を変更する場合には、管理者previleagesを持っていけない、通常のユーザーに影響しますでしょうか?私は、次の

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> 
<requestedExecutionLevel level="highestAvailable" uiAccess="false" /> 

のいずれかに変更することができます理解しますか

DBを通常のユーザに書き込み可能にするにはどうすればよいですか?

この設定はどのようにWindows XPユーザーに影響しますか?

誰もが問題なくDBを更新できるようにする最適な設定は何ですか?

私がセキュリティに関するこのような問題に直面しているのは初めてのことです。どんなアドバイス?

注:このアプリケーションはすべてのOSでテストされます。私はVista 32ビットOS(管理ユーザー)でテストを実行し、正常に動作しました。しかし、Windows 7での私の経験は私を混乱させました。

+1

?同様のシナリオがあり、Windows 7ではうまく動作します。通常のユーザーが書き込み可能な場所(例:Application Dataフォルダ)にデータベースファイルを配置するだけで済みます。 –

+0

今のところ私は、アプリケーションが置かれているのと同じフォルダにDBを置いています。 – Shoban

+0

それはあなたの問題です。ユーザーは、アプリケーションが存在するフォルダーへの書き込みアクセス権を持っていません。 パスを取得するために、CSIDL_APPDATAを指定するShGetFolderPath(http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx)を使用します。 –

答えて

3
  1. はい、通常のユーザーは、管理者の資格情報を提供する必要があります。
  2. 書き込み可能な場所にDBをインストールするか、サービス/ IPCを使用してDBに書き込みます。
  3. 可能な場合は、ユーザー単位のデータベース。 AppDataのようなユーザー書き込み可能な場所にユーザーごとのものを格納することができます。そうでない場合は、サービス/ IPCを使用して書き込みを行います。あなたは、データベースを格納しないとどのようにあなたがそれを作成するのです
0

ターゲットOSがインストールされている状態で仮想マシンをインストールすることをお勧めします。テストするまで何が起こるかは決して分かりません。

+0

はい、友人のVista 32ビットOSでアプリをテストしたところ、正常に動作しました。 Windows 7での私の経験は私を混乱させました。 – Shoban

関連する問題