Windowsで複数のプログラムを同時にアンインストールできないのはなぜですか?
あなたがあなたのWindowsシステムであなたがアンインストールしたいプログラムの小さな群を持っていると仮定しなさい、しかしWindowsはあなたが一度に一つずつそれらをアンインストールすることを可能にします。何故ですか?同時に複数のプログラムをアンインストールできないようにしているもの?
本日の質疑応答セッションは、コミュニティ主導のQ&A Webサイトのグループである、Stack Exchangeの下位区分であるSuperUserの好意により提供されます。.
質問
SuperUserの読者Jeroen Bollenは、ある人がWindowsで複数のプログラムを同時にアンインストールできない理由を知りたいのです。
なぜWindowsは、あなたが同時にあなたが複数のプログラムをアンインストールまたは削除するのを防ぎますか?この背後にある推論は何ですか?それは内部システムをめちゃくちゃにしますか?
同時に複数のプログラムをアンインストールすることは望まない、なぜそれが選択肢にならないのかという理由を探しているだけである.
それは何が人々がWindowsで複数のプログラムを同時にアンインストールするのを防ぐのですか?
答え
SuperUserの貢献者ultrasawbladeとtechie007が私たちに答えを持っています。まずは超ウルトラブレード:
Windowsインストーラーシステムがどのように動作するかについて何かを読んだことがあるなら、それらがトランザクションデータベースからプログラムのインストールとメンテナンスにいくつかのアイデアを適用したことは明らかです。 .msi ファイル自体はデータベースです.
データベースの設計には常に疑問があります - あなたはスピードや正確性/安全性を望みますか?インストーラーがシステムの設定を変更する可能性があり、事故によりシステムが動作不能になる可能性があることを考えると、安全性がスピードよりも優先されてきました.
その理由の一つ .msi インストールが非常に遅いのは、ファイルごとにロールバックファイルが作成されるためです。変更されたファイルは後で削除され、途中で問題が発生した場合は変更を「ロールバック」できます。システムクラッシュ).
今、私はMSIエンジン自体が一度に1つのプログラムだけをインストール、修正、削除することを強制すると信じています。あなたが実行しようとした場合 .msi たとえば、他のユーザーがアンインストールしている間にファイルが実行されないか、現在実行中のアンインストールプロセスが完了するのを待機します。 MSI以外のインストーラーはMSIエンジンを使用しないため、このように動作しない可能性があります。しかし、この安全設計の決定のために、これはおそらく理由です appwiz.cpl 一度に1つのアンインストーラだけを呼び出すことを許可する.
CCleanerを使用すると、以前に実行していたアンインストーラが終了するのを待たずにアンインストーラを起動することができますが、MSIインストーラは上記のためにまだ並行して動作しない可能性があります。.
techie007からの回答が続きます。
これは、Windowsインストーラシステムを使用するプログラムにのみ当てはまります。.
プログラムが独自の(アン)インストーラーシステムを使用している場合、他のアンインストーラーを同時に実行することを妨げるものは何もありません。.
Windowsインストーラは、複数のプログラムがシステム全体の(多くの場合共有される)設定とファイルを変更している間に競合が発生するのを防ぐためにインスタンスの数を制限します。.
ほとんどのアンインストーラは、何が変更されているのかを追跡するため、障害が発生した場合でも正常にロールバックできます。他のアンインストーラによって行われたすべての変更を認識していない場合、失敗したインストールをロールバックしようとすると実際には状況が悪くなる可能性があります。.
Windowsインストーラシステムは、このような問題を回避するために、(Windows上で)すべてのアプリケーション開発者が使用できる統一システムであることを意図して作成されました。.
説明に追加するものがありますか?コメントで音を消す。他の技術に精通したStack Exchangeユーザーからの回答をもっと読みたいですか?こちらのディスカッションスレッドをチェックしてください。.