開発者がWindowsでインストールを自動化しないのはなぜですか?[閉まっている]


35

これは、「開発者がLinuxでインストールウィザードを作成しないのはなぜですか?」のですが、興味深いことですが、「自動インストールは自然な方法です。なぜウィザードを使用するのですか?」
したがって、逆の質問があります:

怠などの問題ではないと確信していますが、開発者は、主に消費者向けのアプリであっても、まったく煩わされない完全な自動インストールを行わない理由を理解できません。通常、同じアプリがLinuxに自動インストールされるので、WindowsとMac OSはどうでしょうか?

この傾向には技術的な理由がありますか、それとも単なる慣習ですか?


6
MacOsも自動的に(ほぼ)-通常、アイコンを「アプリケーション」フォルダにドラッグするだけです。私はそれがためにいくつかの奇妙なレジストリものでは動作しませんウィンドウに推測
ロヴィス

3
「間違った道を尋ねた」というのは本当に意見です。あなたはそれがどのように尋ねられたのが好きではないので、その逆の質問でその質問への答えを断片化することは公平だとは思いません(そして少し面倒なイモ)。ここで終わる回答は、単に他の回答に対する有効な回答の逆になります。質問が後方にあると感じた場合の適切な回答は、そのように感じる理由を説明する独自の回答を追加し、その観点から質問に回答することです。
セラリアドボール14

2
Windows 8アプリストアは、ほとんどのLinuxディストリビューションが持つように、集中化されたソフトウェアリポジトリを確立する試みです。
フィリップ14

10
自動化する場合、裁判所を避けずに悪意のあるアドウェアをどのようにバンドルできますか?
レストロス14

3
この質問の前提は間違っていると思います-多くのWindowsアプリケーションは、インストーラーの合理化された「標準設定を使用する」オプションを介してインストールできます。プログラムをインストールする場所など、追加のオプションを提供することは、単に丁寧なことです。ドライブのどこにインストールするかを決めさせないプログラムは本当に嫌いです。
GrandmasterB

回答:


49

インフォームドコンセント

ユーザーはまず、プログラムをコンピューターにインストールするかどうかを決定できる必要があります。人々が明らかにプログラムのインストールを選択していることは自明のように思えるかもしれませんが、悪意のあるプログラムの最大の特徴は、コンピューターのユーザーが知らないうちにインストールできることです。

インフォームドコンセントは、UACを通じてさらに明確にされます。

ライセンス契約

最新のソフトウェアのほとんどは、ライセンスの「クリックスルー」モデルに従っています。つまり、ユーザーは、プログラムをインストールする条件として、インストールプロセス中にライセンスの条件に同意します。ユーザーがこれらの契約をめったに読まないということは、特に「これらの条項に同意します」というラベルのチェックボックスをクリックした場合に、それらに拘束されないという意味ではありません。

オプションの構成

多くのソフトウェアパッケージには、ソフトウェアのインストール方法を特定の方法で変更できるオプションがあります。これらの最も簡単な方法では、デスクトップにアイコンが必要かどうかを決定できますが、より大きなアプリケーションでは、インストールする機能を決定できます。

インストールの進捗

Windowsエコシステムのプログラムは、インストールプロセス(たとえば、レジ​​ストリを使用しないインストール)の際の邪魔にならないという点で向上していますが、インストールは多くの場合、簡単な操作ではありません。進行状況バーやその他の視覚資料は、実際に何かが起こっていることを示します。ウィザードの最後のページには、インストールが成功したかどうかが表示されます。

入門

最後に、最高のソフトウェアパッケージが次に何をすべきかを教えてくれます。最初のステップ、開始方法、ヘルプの入手方法は何ですか。ほとんどのソフトウェアをインストールすると、起動アイコンが表示されますが、それだけです。ユーザーの専門知識のレベルを過大評価しないでください。信じられないかもしれませんが、インストールしたばかりのソフトウェアプログラムを見つけて起動する方法を知らない人もいます。


5
インストールプロセスが迅速かつ無痛だったという錯覚。
ロテム14

6
ソフトウェア自体が迅速かつ無痛ではないことを犠牲にして。迷惑なインストーラは、迷惑なアプリケーションよりも簡単に許されます。
-nwp

18
インストール後に誰かに条件に同意するように頼むことは、物事を進める上で問題のある方法のように思えます。
エリックキング14

6
「インフォームドコンセント」の最初の理由は偽です。自動インストールとは、ユーザーがインストールしていることさえ知らないサイレントインストールを意味するものではありません。自動インストールとは、インストーラーを起動し、そこから残りを処理することを意味します。ユーザーがインストール前にプログラムが何をするのかを知りたい場合、インストーラー自体を起動するという事実はすでに同意です。その後、インストーラーをダウンロードしたウェブサイトまたはパッケージ内のパッケージの説明からそれをすでに長い間把握しています。マネージャー。
ライライアン14

8
@LieRyan:多くのWindowsインストーラプログラムには「サイレント」スイッチが含まれています。人がそれについて知ってそれを使用するのに十分賢いなら、はい、インフォームドコンセントです。
ロバートハーベイ14

21

私が見たものから、それは本当に「Windowsエクスペリエンス」全体に要約されます。つまり、アクションまたはオプションをできる限りユーザーに見えるようにします。

私がこれを言う理由は、インストールにGUIが必要ないからです。MSIベースのインストーラーは、Linuxベースのパッケージと同様の方法でサイレントインストールできます。GUIは完全にオプションですが、ユーザーにバックグラウンドで何が起こっているかを視覚的に表現するためにあります。

Linuxでは、これはパッケージマネージャーを使用して簡単に実現できます。パッケージをインストールする場合は、そのパッケージを具体的に要求する必要があります。あまり技術的には含まれていないため、通常、ユーザーはGUIベースのパッケージマネージャーを使用して目的のソフトウェアをインストールできます。

Windowsでは、そのようなものは存在しません。ユーザーがWindowsベースのソフトウェアをインストールする場合、ソフトウェアを個別に検索してダウンロードする必要があります。ユーザーがソフトウェアを構成およびインストールするのを支援する標準化されたツールはありません。したがって、各ソフトウェアにバンドルされているインストールGUIは、LinuxのパッケージマネージャーGUIと非常によく似ています。ユーザーがインストールを構成し、進行状況を追跡できるようにするためだけに存在します。

管理GUIが存在するため、インストールGUIが不要な場合が多くあります。たとえば、人気のあるSteamプラットフォームは、インストールスクリプトを利用して、Steamストアで利用可能なゲームやソフトウェアを自動的にインストールします。

もう1つの素晴らしい例はSCCMです。System Center Configuration Manager(略してSCCM)は、ネットワーク上のコンピューターのグループを管理するために使用されるソフトウェアです。Software Centerと呼ばれるGUIを介してソフトウェアをインストールできるようにする機能が含まれています。ボタンをクリックするだけで、MSIベースのインストーラをインストールできます。私が働いている環境では、AdobeのCreative SuiteからWinZipなどのソフトウェアまで、さまざまなソフトウェアを使用できます。ユーザーが行う必要があるのは、カタログを検索して利用可能なものを見つけ、[インストール]をクリックし、確認を待つことだけです。Linux Mintを実行している自宅のコンピューターに何かをインストールしたい場合とほぼ同じプロセスです。


5
「つまり、アクションやオプションをできるだけユーザーに見えるようにします。」 - 間違いなく。Windowsがバックグラウンドでインストールする更新プログラムを喜んで詳述するように。「67個のアップデートのインストールを完了するために再起動します」という簡単なメッセージに満足する人は誰ですか?
ラファエル14

OS XのApp StoreまたはHomebrewのかなり前から、インストールプロセスはまだ自動でした。ここでは、一元化されたパッケージ管理は主要なドライバーではありません。
james_womack 14

6

Windowはmsiファイルを使用します。これは、他のプログラムパッケージとほぼ同じように機能します。これらはフラグを設定することでサイレントインストールできますが、デフォルトの動作では、Windowsはパッケージで定義されたすべての構成オプションを含むGUIを表示します。したがって、通常のユーザーにとっては、msiファイルはexeインストーラーのように動作します。

多くの場合、デフォルトを変更することを選択するユーザーとして、GUIを使用することは、プログラムをインストールするときにどのようなオプションがあるかを知る最も簡単な方法であり、同時に変更するのに便利であることがわかりました。

デフォルトで完全にサイレントであるインストーラーの可能性に関して。Windowsでは、ユーザーがインストールディレクトリを選択できるのが慣例であり、GUIでそのオプションを許可しなかった場合、多くのユーザーの間違った側に行くことになります。また、ユーザーは、プログラムをインストールするときに少なくとも最小限のダイアログを見ることに慣れています。何も表示しない場合、インストールが失敗したと思われるかもしれません。


5

開発者はWindowsでインストールを自動化しますが、すべてのソフトウェアがこの形式で提供されるわけではありません。ここでの他の多くの回答とは異なり、Windowsには標準で広く使用されている「パッケージマネージャー」がありますが(エンドユーザーではなく企業を対象とするため、開発者の間でもあまり知られていません)。

SCCMと呼ばれ、すべての大企業がWindowsインストールを管理するために使用します。パッケージ(プッシュソフトウェアとクライアントマシンへの依存関係)を管理できることに加えて、Windowsおよびその他のインストール済みソフトウェアの更新も管理します。

SCCMは、技術ユーザーでも自分のコンピューターを管理するためには使用されません。単一のコンピューターを管理することで多くの利点を提供することを意図したものではありません。実際、Active Directory /ドメインに参加していないマシンなしでは機能しない場合があります。したがって、ソフトウェアと更新プログラムの展開を管理していても、Windows パッケージマネージャーとは実際には呼びません。

ただし、ここでの私のポイントは、Windows自動インストールがあり、大企業のシステム管理者によって広く使用されていることです。.msiダウンロードを提供する製品が表示される場合、SCCMを介して何千台ものマシンに自動的に展開できるようにしたいと考えられます。

免責事項:私自身はSCCMを使用していないため、SCCMについてほとんど知識がないため、上記の微妙な点について間違っている可能性があります。


0

技術的な面では、WindowsはLinuxよりも(レジストリを介して)プログラム間の統合を強化する傾向があります。これには、プログラムをハードドライブにコピーするだけではなく、公式の「インストール」プロセスが必要です(たとえば、コンテキストメニューを有効にするため)。一部のOS(たとえばMac OS)は、その一部をバックグラウンドで実行したり、最初に実行したりしますが、Windowsはインストールの明示的な一部にすることを好みます。

技術的ではない面では、Windowsは設定するモデルを好み、それを忘れます。たとえば、Linuxではセットアップ(インストールオプション)がそれほど多くない傾向がありますが、多くの場合、プログラムを実行するときにフラグを使用します。または、プログラムに入ったらオプションを変更します。Windowsは、指定された時間(インストール)中にオプションを設定することを好み、ユーザーがコマンドラインフラグを使用することや、プログラムが実行されるたびにオプションを設定することを期待しません。これにより、柔軟性が低下します(毎回異なるフラグを使用できるため)。多くの場合、これはパワーユーザーに公開されます(ショートカットのオプションなど)。しかし、ほとんどのユーザーにシンプルなインターフェースを提供し、開発者は必要なオプションとデフォルトを設定するためのきれいなインターフェースをユーザーに提示できます。


0

免責事項:これは大部分が推測ですが、インストールと展開のためにWindowsアプリケーションをパッケージ化した経験に基づいています。

そのすべてが、インストールのための事実上の標準がプラットフォーム上にあるものまでです。Linuxでは、標準ではapt(dpkg / Debianベース)やyum(rpm / RedHatベース)などのパッケージ管理ツールを使用してインストールします。展開用のパッケージを提供した後、ウィザードを構築することは、ほとんどのユーザーがとにかく(標準として)パッケージを使用するだけなので、時間の無駄です。

常にWindowsでは、標準はGUIベースのインストールです。選択肢はあります、これらの選択肢はいずれもインストーラーの100%の代替品としては適していません。

  • パッケージ管理ツール(Chocolateyなど)がありますが、どれもまだクリティカルマスに達していません。パッケージ管理ベースのインストールのみを提供する場合、多くのユーザーは、インストールするために他のソフトウェアをインストールする必要があることに悩まされます。プログラム(迷惑なダウンロードマネージャーのしくみを考えてください。)ほとんどのパッケージ管理ツールは、テクニカルユーザーを対象としています。したがって、ソフトウェアがそのユーザーベースを対象としない場合、Chocolateyにパッケージを提供するのは時間の無駄になります。誰も使用しないので。
  • 一部のソフトウェアはXCopy展開に適していますが、これは比較的単純なソフトウェア製品でのみ機能します。(たとえば)フラッシュドライブにインストールするユーザーには適していますが、他のすべてのユーザーには便利です。その結果、XCopyインストール用にファイルをリリースすることを選択する多くのプロジェクトもインストーラーを提供します。
  • Chocolateyは、インストールをダウンロードして実行するコマンドラインスニペットを提供します。繰り返しになりますが、技術ユーザーにとっては迅速かつ適切に機能しますが、非技術ユーザーはこのインストール方法に苦労し、先送りされます。

ソフトウェアが展開を必要とするほど複雑な場合、ユーザーが期待するとおりにGUIインストールを提供することはほとんど必須です。これらのウィザードの構築をかなり簡単にする製品も多数あるため、GUIベースのインストーラーを提供することは、一般的に開発時間の面で最も手間がかからないオプションの1つです。GUIベースのインストーラーを作成したら、上記のそれぞれの費用便益比を評価する必要があります(新しい機能はマイナス100ポイントで始まることに注意してください)。

ある種の「サイレント」モードのインストーラーはWindowsではかなり一般的ですが、これはデフォルトモードではない傾向があります-これも標準ではないためです。ほとんどのWindowsユーザーは、インストーラーを実行するとすぐにそれをインストールしてしまい、かなり混乱します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.