14

お気づきの方も多いと思いますが、MSI パッケージをアンインストールするときに、Windows は元の.msiファイルを要求します。何故ですか?

私はそれに対する欠点しか見ることができません:

  • ネットワークの変更に対する回復力がありません。
  • ローカル ディスクの変更に対する回復力がありません。
  • ユーザーの予想外。
  • 通常、ユーザーは自分のデスクを離れて正しい CD を入手するためのキャンペーンを開始する必要があります。
  • インストールが自己完結型ではないことを証明します。
  • msizap などの安全でないツールの使用を促進します。
  • これにより、「次回は zip ファイルを使用する」という考え方が促進されます。

誰かがこれに光を当てることができますか?

4

2 に答える 2

31

壊れたアンインストールの修正: MSIのアンインストールで問題が発生した場合はの最新のFixItアンインストールツールを試すことができます。そしてもう1つのリンク: msiexecを使用せずにコマンドラインからMSIファイルをアンインストールする(MSIをアンインストールするためのさまざまな方法がたくさんあります)。


更新

この新しいサポートツール(このツールも非推奨になりました)アンインストールが必要な古いMSIパッケージがある場合は、最近のWindowsバージョンで試すことができます(古い、非推奨、サポートされていない)msizap.exe)。

saschabeaumontによってここにリンクされているツールを使用することを提案する人もいます:MSIファイルなしでアンインストールします。試してみてうまくいったら、必ずお知らせください。その回答のフィードバックは、それが機能することを示しています(現在、テストするためのスタックしたセットアップはありません)。


なぜ元のインストールメディアを求められるのですか?

  • MSI自体が適切に設計されていない場合、またはキャッシュされたMSIが欠落している場合を除き、元のMSIをアンインストールする必要はありません(以下の詳細を参照)。
  • インストールされているすべてのMSIファイルは、ランダムな16進名を使用して%SystemRoot%\ Installer\*。*にキャッシュされます。
  • キャッシュされたMSIファイルは、メンテナンス修復、およびアンインストール操作に使用されます。ほとんどの場合、アンインストールには十分です。
  • 場合によっては、このキャッシュされたファイルが欠落している可能性があり、アンインストールがまったく不可能な場合もあります(これが発生する理由に関するいくつかの理論- 、、、、、、)。以下の詳細情報と、製品のアンインストールまたは登録解除を強制するためのリンクを参照してください。MSI design errorsanti-virus quarantiningsystem restoretinkeringdeveloper system in erroneous state from development worketc...
  • 元のソースは、ファイルをディスクにコピーする必要がある場合(メンテナンスインストールの場合)、またはMSIが標準アクションResolveSourceまたはカスタムアクション(実行しないでください)を介して元のソースを解決するための明示的な要求を行う場合にのみ必要です。適切に作成されたパッケージ内-MSOfficeパッケージには、このResolveSourceエラーが含まれていたため、誰もがインストールCD / DVDを探しに行くようになったと思います)。
  • 以前のエディションのWindowsでは、このキャッシュされたMSIからすべてのcabが削除されたため、インストーラー構造のみが含まれ、ファイルは含まれていませんでした。
  • Windows 7(MSIバージョン5)以降、セットアップの起動時にUACプロンプトに影響を与えるファイル署名の破損(既知のVistaの問題)を回避するために、 MSIファイルがフルサイズでキャッシュされるようになりました。これにより、ディスクスペースの消費量が大幅に増加する可能性があります(一部のシステムでは数ギガバイト)。詳細については、この記事、特に下部のディスカッションを確認してください
  • 巨大なMSIファイルのキャッシュを防ぐために、インストールする前にパッケージのadmin-installを実行できます。これは、管理対象ネットワークに適切に展開されている企業が行う方法であり、cabファイルを取り除き、小さなMSIファイルとそれ以外のファイルを使用してネットワークインストールポイントを作成します。抽出されたMSIファイルは署名されていないため、 UACプロンプトが表示される場合があることに注意してください。これは、SOE/デスクトップ構成でテストする必要があります
  • 管理者インストールの完全な説明については、このスレッドの私の回答を読んでください。msiexec / aを使用して開始された管理者インストールの目的は何ですか? または、これに似ていますが、おそらくよりアクセスしやすい答え:adminインストールとその使用法
  • まれに、キャッシュされたMSI(ランダムな名前)が誤って欠落している可能性があり、アンインストールは、アンインストールを完了するために元のMSIを要求します。これは頻繁には起こりません。かつてはMsiZap.exeこのようなインストールをクリーンアップしますが、このツールは古く非推奨で、サポートされていません。使用しないでください。新しいバージョンのWindowsとの非互換性が多すぎて、新しい問題が発生します。おそらく試してみてくださいこのサポートツール代わりに(非推奨)。私が今提案できる唯一のオプションは、saschabeaumontからのこの回答ですこのツールを試してみる場合は、それがあなたのために働くかどうか私たちに知らせてください。キャッシュされたMSIが失われる原因を突き止めたい場合は、セクション12を読んでみてください:msiexecを使用せずにコマンドラインからMSIファイルをアンインストールする(要するに、システムの復元への干渉、ウイルス対策、クリーンアップスクリプト、誤った手動調整、ディスクスペースの不足、停電、開発者ボックスのデバッグエラー、重複したパッケージコードを含む不適切に設計されたMSIファイル、失敗したパッチなど...多くの理論、私が恐れているいくつかの確実性)。
  • 最後の手段として、システムの復元を試して(完全にまたは部分的に無効にされていない限り)、以前のインストール状態に戻り、これでアンインストールの問題が解決するかどうかを確認できます(これのビデオデモはYouTubeまたは同様のサイトで見つけることができます) 。
  • システムの復元は、Windows Updateに影響を与える可能性があることに注意してください。この場合、Windows Updateは、他の多くのシステム設定と同様に、再適用する必要があります。システムの復元に起因する新しい解決できないインストールの問題を確認しましたが、通常は問題なく動作します。明らかに、この機能を楽しみのために使用しないでください。これは最後の手段であり、インストールされたばかりで、差し迫った問題やそのような問題を引き起こすことが判明した新しいドライバーまたはセットアップのロールバックに最適です。戻る時間が長いほど、自分で作成するリワークが多くなります。自明なことはたくさんありますが、言及する必要があると思います。
  • システムの復元について言及したので、最後の既知の正常な構成機能について言及する必要があると思います。この機能は、アンインストールやシステムの復元とは関係ありませんが、システムが機能した、または実行された最後のブート構成です。起動中にブルースクリーンまたは停止した場合に、システムを再度実行するために使用できます。これは、ドライバーのインストール後によく発生します。ただし、これは失敗したアンインストールを修正するためには何もしません(または私は非常に驚かれることでしょう)。

関連する回答:


この回答に加えて、MSIパッケージをアンインストールするさまざまな方法に関するこの記事も興味深いでしょう。これは、ビュー数が多いかなり人気のある記事です:

于 2009-07-27T17:28:57.280 に答える
2

元のmsiを保持する理由はいくつかあります。

  • アンインストーラーはこれを使用して、インストールされているファイルとレジストリキーを認識し、それらがすべてクリーンアップされていることを確認します。
  • msiには、実行する必要のある特別なアンインストールアクションが含まれている場合があります。
  • インストールファイルを自分で保存したかどうかに関係なく、[プログラムの追加と削除]メニューから「修復」操作を実行できます。

通常の方法では、Windowsがファイルをキャッシュしておくので、それについて考える必要はありません。%WINDIR%\Installer\フォルダを参照してください。元のmsiを要求する唯一の理由は、保存されたファイルに問題があるかどうかです。これはほとんどの懸念に対処しますが、新しい懸念(ディスクスペース)が発生します。

于 2008-10-16T13:29:26.413 に答える