Vista と XP の両方で Chromium が AppData にインストールされていることに気付きました。Googleがそれを行い、他のアプリケーションがこれを行う場合、それは何らかの形の保護があるためでしょうか? Google と同じことを行うインストーラーを作成する必要がありますか?
8 に答える
Windows には、ユーザーごとのインストールに関する規則がまだありません。
- インストーラーが現在のユーザーまたはすべてのユーザーに対してインストールするかどうかを尋ねるとき、実際にはショートカットの配置 ([スタート] メニュー、デスクトップ) のみを参照します。実際のアプリケーション ファイルは引き続きシステム全体の
%PROGRAMFILES%
. - Microsoft 独自の ClickOnce は、完全に非標準
%USERPROFILE%\Local Settings\Apps
(%USERPROFILE%\AppData\Roaming
Vista / Server 2008 上) のディレクトリを作成し、そこにプログラム ファイルと構成データの両方を配置することで、この問題を回避します。
(Microsoft がユーザーごとの Program Files ディレクトリを Vista に追加できなかった理由がわかりません。たとえば、OS X では、~/Applications
. AIR は自動的にそれを使用し、デフォルトでユーザーごとのアプリになります。したがって、権限の問題はありません。)
おそらくすべきこと: ユーザーが管理者でない場合は、ユーザー ディレクトリにインストールします。もしそうなら、両方の選択肢を与えてください。
誰も言及していない利点の1つは、サイレント自動更新です。Chromeには、常に実行され、Chromeのインストールをすぐに更新するアップデータプロセスがあります。
彼らのユースケースは非標準だと思います。彼らは(ブラウザなので)脆弱性の問題をできるだけ早く修正する方法を必要としています。管理者が全社的なすべての更新を承認するのを待つだけでは十分ではありません。
私の知る限り、Chrome が Application Data フォルダにインストールされる唯一の理由は、管理者以外のユーザーがインストールできるようにするためです。
現在、Chrome インストーラーでは、アプリケーションをインストールする場所をユーザーが選択することはできません。そうしないでください。代わりに、ユーザーごとのインストール (App Data など) とコンピューター全体のインストール (Program Files) のどちらかを選択できるようにします。
Windows 7 と Windows インストーラー 5.0 は、実際のユーザーごとのインストール機能を提供します。
http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx
~/AppData/Local または Chrome のように同等のものを使用して、Vista および XP でそれをごまかすことができます。Microsoft 自身が ClickOnce インストーラーにこれを使用しています。
したがって、少なくとも Windows 7 以降では、ソリューションは簡単です。
率直に言って、ユーザーごとのインストールとマシンごとのインストールの両方を実際に許可する最初のインストーラーはまだ見たことがありません。多くのインストーラーは GUI でこのオプションを提供していますが、設定はショートカットなどの場所にのみ影響します。バイナリは常に %ProgramFiles% に保存されます。
実際、控えめに言っても、両方の種類のインストールを許可する Windows インストーラー パッケージを作成するのは非常に困難です。UAC の出現により、それは不可能だと思います。ユーザーごとのインストールでは昇格が必要ではなく、マシンごとのインストールでは昇格が必要です。しかし、MSI パッケージが昇格を必要とするかどうかは、概要情報ストリームのビットによって制御されます。ユーザー入力がそれに影響を与える方法はありません。
ユーザーごととマシンごとのどちらがより適切な選択であるかは、アプリケーションによって大きく左右されます。ただし、小さなパッケージの場合は、ユーザーごとのインストールを好む傾向があります。UACプロンプトやrunasを必要としないことでユーザーフレンドリーになるだけでなく、セットアップがコンピューターに大きな害を及ぼさないことをユーザーに知らせます(ユーザーが管理者ではない場合).
Chrome インストーラーは、ユーザーごとに加えて、グローバル インストール (昇格を使用) を許可する必要があります。ユーザーごとにインストールを維持する必要はありません。アップグレードなどを一元管理できるようにしたい。Chrome はそれを許可しません。
そうは言っても、ユーザーごとにインストールするオプションは、権限の問題がないことを意味するため、非常に優れています.
Win7 の %PROGRAMFILES% に何も表示されません。マシンのユーザーごとに Chrome をインストールする必要があるようです。
おそらく、これを行う本当の理由は、Chrome のインストール数を数回偽造することです。したがって、世界で最初のブラウザになります!
ご存知のように、Google はグローバル システムのインストールと管理のために MSI インストーラを作成しました。ここにあります: