MSIでアンインストールを続行するために元の.msiファイルが必要なのはなぜですか?
-
03-07-2019 - |
質問
お気づきのとおり、MSIパッケージをアンインストールすると、Windowsは元の .msi
ファイルを要求します。なぜですか?
私はそれに対する欠点しか見ることができません:
- ネットワークの変更に対して回復力がありません。
- ローカルディスクの変更に対して回復力がありません。
- ユーザーが予期していません。
- 通常、ユーザーは正しいCDを入手するために机を出て十字軍を開始する必要があります。
- 証明インストールは自己完結型ではありません。
- msizapなどの安全でないツールの使用を促進します。
- 次に「次回zipファイルを使用する」ことを促進しますメンタリティ。
これについて誰かが光を当てることができますか?
解決
壊れたアンインストールを修正 :最新の MSIのアンインストールに問題がある場合は、MicrosoftのFixItアンインストールツール。そしてもう1つのリンク:アンインストールmsiexecを使用せずにコマンドラインからMSIファイルを作成(MSIをアンインストールするさまざまな方法があります)。
更新:
この新しいサポートツール (このツールは非推奨になりました)は、アンインストールが必要な古いMSIパッケージ(古い、非推奨、サポートされていないものではなく) msizap.exe )。
saschabeaumontによってここにリンクされているツールを使用することを提案している人がいます: MSIファイルなしでアンインストール 。あなたがそれを試して、それが機能するなら、私たちに知らせてください。その回答のフィードバックは、それが機能することを示しています(現在のところ、テストするためのスタック設定はありません)。
元のインストールメディアを要求される理由 :
- MSI自体の設計が不適切であるか、キャッシュされたMSIが欠落していない限り、アンインストールに元のMSIは不要です(以下の詳細を参照)。
- インストールされているすべてのMSIファイルは、ランダムな16進数名を使用して、%SystemRoot%\ Installer \ *。* にキャッシュされます。
- キャッシュされたMSIファイルは、メンテナンス、修復、およびアンインストールのすべての操作に使用され、大部分のアンインストールに十分です。ケース。
- 場合によってはこのキャッシュファイルが欠落している可能性があります、場合によってはアンインストールがまったくできない(これが発生する理由に関するいくつかの理論-
MSI設計エラー
、アンチウイルス検疫
、システムの復元
、いじくり回す
、開発作業から誤った状態の開発者システム
、etc ...
)。以下の詳細情報と、製品のアンインストールまたは登録解除を強制するリンクを参照してください。 - 元のソースは、ファイルをディスクにコピーする必要がある場合(メンテナンスインストール用)、またはMSIが元のソースを解決するために明示的な要求を行う場合にのみ必要です標準アクション ResolveSource またはカスタムアクション(適切に作成されたパッケージでは実行しないでください-MS OfficeパッケージにはこのResolveSourceエラーが含まれていると思います全員がインストールCD / DVDを探しに行くようになります。
- 以前のバージョンのWindowsでは、このキャッシュされたMSIからすべてのキャビネットが削除されたため、インストーラー構造のみが含まれ、ファイルは含まれていませんでした。
- Windows 7( MSIバージョン5 )以降、 MSIファイルはフルサイズでキャッシュされるようになりました。セットアップの起動時のUACプロンプトに影響するファイル署名の破損を回避します(a Vistaの既知の問題)。これにより、ディスク領域の消費が大幅に増加する場合があります(一部のシステムでは数ギガバイト)。 この記事、特にd詳細については、下部のディスカッションをご覧ください。
- 巨大なMSIファイルのキャッシュを防ぐために、インストールの前にパッケージの admin-install を実行できます。これは、管理されたネットワークに適切に展開されている会社が行う方法であり、cabファイルを削除し、小さなMSIファイルとそれ以外のファイルでネットワークインストールポイントを作成します。 抽出されたMSIファイルは署名されていないため、 UACプロンプトが表示される場合があることに注意してください。これは、SOE /デスクトップ構成でテストする必要があります。
- 管理者用インストールの詳細な説明については、このスレッドの回答を参照してください: msiexec / aを使用して開始された管理インストールの目的は何ですか?またはこれに類似した、おそらくアクセスしやすい回答: 管理者インストールとその使用
- まれに、キャッシュされたMSI(ランダムな名前)が誤って失われることがあり、アンインストールはアンインストールを完了するために元のMSIを要求します。これは頻繁には発生しません。以前は、
MsiZap.exeを使用してこのようなインストールをクリーンアップすることができましたが、このツールは古い、非推奨および未サポート。使用しないでください-新しいWindowsバージョンとの非互換性が多すぎるため、新しい問題が発生します。このサポートツール代わりに(非推奨)。私が今提案できる唯一のオプションは、 saschabeaumontからのこの回答 。このツールを試してみる場合は、動作するかどうかをお知らせください u。キャッシュされたMSIが失われる原因を理解したい場合は、ここのセクション12を読んでみてください: msiexecを使用せずにコマンドラインからMSIファイルをアンインストールする(短い間、システムの復元、ウイルス対策、クリーンアップスクリプトへの干渉からの範囲、誤った手動調整、低ディスク容量、停電、開発者ボックスのデバッグエラー、重複したパッケージコードを含む不適切に設計されたMSIファイル、失敗したパッチなど...多くの理論、私は恐れていることはほとんどありません)。 - 最後の手段として、 システムの復元を試すことができます a> (完全にまたは部分的に無効にされていない限り)以前のインストール状態に戻り、アンインストールの問題が解決するかどうかを確認します(このデモはYouTubeまたは同様のサイトで見ることができます)。
- システムの復元は、他の多くのシステム設定と同様に、再適用が必要なWindows Updateに影響する可能性があることに注意してください。システムの復元に起因する、解決できない新しいインストールの問題を見てきましたが、通常は正常に機能します。明らかにこの機能を楽しみのために使用しないでください、それは最後の手段です、新しいドライバーのロールバックまたはインストールされたばかりですぐに発生することがわかっているセットアップに最適です問題およびそのような問題。長く戻るほど、自分で作成する手直しが増えます。自明なことはたくさんありますが、言及する必要があると思います。
- システムの復元について言及したので、最後の正常な構成機能について言及する必要があります。この機能は、国連とは関係ありません
他のヒント
元のmsiを保持する理由はいくつかあります:
- アンインストーラーはこれを使用して、インストールされたファイルとレジストリキーを確認し、それらがすべてクリーンアップされていることを確認します。
- msiには、実行する必要がある特別なアンインストールアクションのコードが含まれている場合があります。
- インストールファイルを自分で保存したかどうかに関係なく、[プログラムの追加と削除]メニューから[修復]操作を実行できます。
Windowsの通常の方法は、ファイルをキャッシュしておくことなので、考える必要はありません。 %WINDIR%\ Installer \フォルダを参照してください。元のmsiを要求する唯一の理由は、保存されたファイルに問題がある場合です。これにより、ほとんどの懸念事項に対処できますが、新しい問題(ディスク領域)が発生します。