5

現在、私が販売している .NET アプリケーションのインストール プロセスを管理者以外のユーザー向けにスムーズにすることを計画しています (読み取り: 「可能」)。Google Chrome や Microsoft SkyDrive などのアプリケーションに出くわしました。

通常の「Program Files」フォルダーではなく、現在のユーザーの「Local Application Data」フォルダーにインストールされるようです。

このフォルダはユーザー単位であるため、現在のユーザーが書き込み可能であり、書き込みに管理者権限は必要ありません。

NSIS セットアップを正しく機能するように変更し、このフォルダーにインストールすることができましたが、これが良い方法であり、欠点があるかどうかはまだわかりません。

私の質問は:

「Local Application Data」フォルダーにインストールする理由、またはインストールしない理由について、何か推奨事項はありますか?

(この質問がプログラミングに関連していて、ここに留めておくのに十分であることを願っています)

4

1 に答える 1

5

あなたの質問からは明確ではありませんでしたが、プログラムを $LocalAppdata\Programs だけでなく $LocalAppData (Win7 では FOLDERID_UserProgramFiles 定数) にインストールする必要があります。

非管理者としてインストールできるアプリが好きなのは知っていますが、少なくともアプリがドライバーを必要としないこと、または他の方法でマシン構成を台無しにすることを知っています.

マシン全体のインストールを好む人もいますが、このオプションをユーザーに提供することは、NSIS ではそれほど難しくありません。

  • RequestExecutionLevel highest
  • 2 つのラジオ ボタン (Just Me と All Users) を含むカスタム ページを追加し、ユーザーが管理者でない場合はマシン全体の選択肢をグレー表示します (UserInfoプラグイン) 。
  • $Instdirインストール モードにSetShellVarContext基づいて設定する
  • SHCTXレジストリ HKEY として使用

一部の IT 担当者/ドメイン管理者は、ユーザーが何かをインストールできる場合に満足しない可能性があります。これは私が考えることができる唯一のマイナス点ですが、問題だと思う場合はシステムを適切にロックダウンする必要があります IMHO...

于 2012-06-19T08:42:03.247 に答える