一部のインストーラは、64ビットのWindowsでも32ビットアンインストールハイブの下に登録します。 エントリーを想定する前に、両方のビューを確認してください。
ベンダーがクリーンアップユーティリティを出荷する場合、マニュアルレジストリが削除する前に実行します。 これにより、サービスやドライバーをストリングするチャンスが減少します。
x86 と x64 の両方のエントリが存在するとき、実際にインストールしたビットをアンインストールします。 不一致の順序は、時には幽霊のエントリを復活させます。
「アンインストーラを解除する」から「ファイルを削除」を分離します。ゴーストエントリは、まだ有効な製品コードでポイントされますが、UninstallStringターゲットは削除されました。 レジストリ内のGUIDスタイルの識別子に注意してください。あなたが持っている任意のMSIログとそれらを比較します。 不一致のGUIDは、インストーラが期待するよりも異なるエディションを見ていることを意味します。
64ビットのWindowsでは、32ビットの登録は、WOW6432Nodeネイティブ64ビットのエントリは、そのサフィックスなしでそれらを横に座っています。 1つの側面だけをクリアするので、それらを並列電話帳として扱います コントロールパネルはまだアプリが存在すると主張しています。
失敗したアンインストール後、ベンダーの現在のインストーラーを再び実行します。多くの船は、手動でのキー削除よりも、独自のproductCodeをよりよく理解する「クリーンアップ」または「すべてのコンポーネントを削除」モードを出荷します。 マニュアル編集は、開口部の動きではなく、最後のリゾートです。
Windows Updateまたはストアコンポーネントが関与している場合は、Microsoftのガイダンスを一時停止して読みます。 間違ったservicingキーを削除すると、コンポーネントベースのservicingを破ることができます。 ベンダーの文書を製品固有のサブツリーに貼り付けます。
OS が最終的に製品がなくなった場合、古い USB コピーではなく、ベンダーサイトから最新のビルドを使用して再起動して再インストールするので、ProductCode のアライメントは、サポートスクリプトが何を仮定するかにマッチします。
ARPCache は 1 つの再起動サイクルの現実をマスクできます。コントロールパネルがまだクリーンアップ直後に削除された製品をリストしている場合, より多くのレジストリの削除を追い出す前に一度再起動; キャッシュされたUIエントリは、実際のアンインストールハイブの背後にあることがあります.
サイドバイサイド x86/x64 ペアは、単一のショートカットを共有します。 ショートカットを削除するPublic\Desktopアンインストールのエントリーを外すことなく、「ゴースト」ショートカットは、何も指摘して再出現する方法です。
MSI ベースのスイートが壊れたアップグレードパスを離れると、ベンダーの “cleanup” がログで実行され、サポート行列に対して残りの製品コードを比較します。 レジストリ内の盲目のGUIDハンティングは、共有PCで不適切にスケールアップ - 参照複数のユーザーWindows PC. .
ベンダーのクリーンアップ後に「既にインストール済み」が表示された場合、キャプチャmsiexec /i product.msi同じOSのパッチレベルを持つサブウェイトVMからログを冗長化します。 スタッキングの差は、1つのマシンで不可能なインストールを説明することが多いです。