管理者としてのみインストールして実行する、Windows XP 用の .Net WinForms アプリ用の MSI インストーラーがあります。ユーザーは、実行時にアプリにログインする必要があります。顧客は、Vista のユーザー アカウントでインストールして実行し、Windows アカウントを使用することを望んでいます。
コードを予備的に見てみると、多くの問題が見られます。インストーラーはレジストリに書き込み、アプリを C:\Program Files にインストールします。アプリはユーザー設定をレジストリに保存し、データを C:\Documents and Settings\All Users\ に書き込み、C: に一時ファイルを作成します。
最初にすべきことは、データ ファイルを System.Environment.CommonApplicationData に格納し、ユーザー設定を System.Environment.LocalApplicationData に格納することだと思います。ユーザー アカウントは System.Environment.ProgramFiles にアプリをインストールできますか?
問題は、アプリがすべてのユーザーによってインストールおよびアンインストール可能である必要があり、すべてのユーザーが同じデータ ファイルを共有することです。各ユーザーには独自の好みがあります。
Vista で複数のユーザーのルールに従う WinForms アプリを構築するために何が必要かを詳しく説明している書籍または Web サイトはありますか?
編集: クライアントに確認したところ、ユーザー アカウントとしてのみインストールするという要件が確定しており、フロア スタッフから管理者アクセスを削除しています。これにより、管理者がインストールしたコンポーネントとマシンごとのインストールが除外されます。
フロア マシンがリモート経由で接続する管理マシンで実行される別のデータ アプリを作成することを考えていました。すべてのクライアント データは、このマシンに保存されます。ただし、このアプリもユーザー アカウントでインストールして実行する必要があります。
Vista ユーザー アプリが従わなければならないすべてのルールを説明している書籍またはサイトはありますか?