web-dev-qa-db-ja.com

通常、特定のユーザー向けにプログラムはどこにインストールされますか?

Windowsでは、昇格された権限なしでPythonのようなプログラムをインストールすると、デフォルトでインストールディレクトリが「%LocalAppData%\ Programs」になります。このディレクトリは「ProgramFiles」と同等ですが、その特定のユーザーのみが対象ですか?

4
nickylego10

ジョンがアプリをインストールしなければならない場所について正しいとは思わない。限られたユーザープロファイル内にインストールするプログラムはWindowsで比較的新しいものですが、VS Codeだけではなく、実際にユーザープロファイル内のディレクトリにインストールされ、インストール、実行、または更新するための管理者権限を必要とせず、実際には拡張権限を必要としないプログラムを実行するための推奨される方法。

論理は、制限された非管理者ユーザーアカウントプロファイルのはるかに制限された権限内で完全に実行できるプログラムとそのより厳しい制限は、本質的にはるかに安全なアプリケーションになるということです。

Google Chromeには、これを提供する別の著名なプログラムに名前を付けるために、制限付きのユーザーインストールモードもあります。

VS Codeは、限定ユーザーバージョンをリリースした後、それを推奨される選択肢としてプッシュします。これは、Microsoft製品であると考えると、この方法の受け入れ可能性を物語っています。

4
music2myear

Windowsでは、管理者なしでPythonのようなプログラムをインストールすると、デフォルトでインストールディレクトリが "%LocalAppData%\ Programs"になります。一部のプログラムは、ユーザーフォルダのルートに直接インストールします。どちらが正しいですか?

私が言おうとしているのは、インストーラー(昇格された特権なし)がバイナリーをインストールするためのWindows推奨ディレクトリは何ですか?たとえば、VS Codeのユーザーインストーラーは、デフォルトでインストールディレクトリを "%localappdata%\ Programs"に設定します。これは、昇格された特権で実行しない場合、Pythonインストーラーの場合も同じです。

%LocalAppData%\Programsは、Electron Frameworkを利用しているため、Visual StudioCodeの絶対に正しいインストール場所です。 Atomエディター これも Electron Framework に基づいて構築されており、デフォルトの場所でもWindowsのユーザープロファイル内の%LocalAppData%ディレクトリが使用されます。 それがPythonの正当なインストールディレクトリでもないと信じる理由はありません。

私がインストールしたElectron Frameworkに基づいて構築されたすべての正当なアプリケーション、インストールディレクトリは%LocalAppData%内にあったという事実に基づいて、ElectronFrameworkに基づくすべてのアプリケーションも%LocalAppData%にインストールされると結論付けることができます。ディレクトリ。

Visual Studio Codeは、主に標準のWebテクノロジ(HTML、CSS、JavaScript)で構築されています。クロスプラットフォームホストとしてElectron [以前のAtom]を活用しています。これにより、コアエクスペリエンスに集中し、開発者の生産性(編集、コードナビゲーション、コード理解、およびデバッグ)に注力し、Mac OSX、Linux、およびWindowsでこれらの機能を提供できます。私たちはElectronチームと協力して、そのフレームワークに積極的に貢献しています。

出典: MicrosoftのクロスプラットフォームのVisual Studio Codeアプリは、GithubのAtomエディター のテクノロジーに基づいています

たまたまAtomをインストールし、プロファイル内の%LocalAppData%ディレクトリにインストールしました。また、Authyをシステムにインストールしました。これもビルドされています。 Electron Frameworkにあり、その実行可能ファイルも%LocalAppData%内にあります。

Chromeは、実行可能ファイルを保存するために%AppData%ディレクトリも使用していました。これにより、基本的に、%AppData%ディレクトリへの完全な権限があるため、すべてのユーザーがPCにChromeをインストールできます。関係ありませんが、Chromeは、さまざまな理由で、かなりの数年前にそのディレクトリから削除されました

より具体的には、Windowsで、インストーラーが特定のユーザーのバイナリ/実行可能ファイルをインストールするためのディレクトリはどれですか?

アプリケーションの実行可能ファイルが存在する必要があるディレクトリは、アプリケーションを実行しているユーザーの権限に完全に依存します。 %LocalAppData内のディレクトリにアプリケーションをインストールする正当な理由があります。権限が制限されているユーザーを含む多くの理由の1つは、アプリケーションをインストールして実行できることです。 Chromeのインストールディレクトリは%LocalAppData%内に存在しなくなりましたが、そこにインストールされた多くの理由の1つは、Chromeのインストール時にUAC要求を回避するためです。

このディレクトリは「ProgramFiles」と同等ですか?ただし、その特定のユーザー専用ですか?

%LocalAppData%は、Program FilesおよびProgram Files x86

Windowsはプログラムに何も伝えません。インストーラーは、デフォルトでインストールディレクトリーに設定され、ユーザーの許可が与えられると、インストールの続行が許可されるか、ユーザーがインストールとディレクトリーを選択し、ユーザーにインストールの続行が許可される正しい許可が与えられます。

本当に必要な場合は、すべてをシステムドライブのルートディレクトリにインストールできます。ただし、インストールしたすべてのものを昇格されたアクセス許可で実行した場合、Windowsは実際にはアプリケーションの実行可能ファイルの場所を気にしません。

2
Ramhound