レジストリ内の重複しているが異なる Windows アンインストール

レジストリ内の重複しているが異なる Windows アンインストール

HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall の GUID キーと非 GUID キーの違いを理解しようとしています。

いくつかのものにはGUIDキーと非GUIDキーがあり、UninstallStringsが大きく異なります。たとえば、Autodesk RevitにはGUIDキーに適切なUninstallStringがあります。

MsiExec.exe /X{7346B4A0-1900-0510-0000-705C0D862004})

しかし、非 GUID キーでは、UninstallString は実際には Patch 文字列であると思います。

C:\Program Files\Autodesk\Revit 2019\Setup\Setup.exe /P {7346B4A0-1900-0510-0000-705C0D862004} /M RVT /LANG en-US)

ただし、Autodesk デスクトップ アプリなどには GUID キーがないため、非 GUID キーの UninstallString は適切です。

C:\Program Files (x86)\Autodesk\Autodesk Desktop App\removeAdAppMgr.exe

これは正常なことなのか、それとも Autodesk だけが行うおかしなことなのか、疑問に思います。また、さまざまなアンインストール フォルダーにどのような情報が期待されるかを詳しく説明している優れた Microsoft リソースはありますか? これまでのところ、詳細な情報は見つかりませんでした。

編集: 同様の点ですが、Microsoft も重複しているようですが、GUID とそうでないものは重複していません。ここには、同じ DisplayName を持つ 3 つの異なるアンインストールがありますが、3 つの異なる GUID が参照されています。さらに、これらはすべて x64 インストールですが、WOW6432Node にあります。イライラします。

Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {8CCEA24C-51AE-3B71-9092-7D0C44DDA2DF} /qb+ REBOOTPROMPT=""

Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {C3A57BB3-9AA6-3F6F-9395-6C062BDD5FC4} /qb+ REBOOTPROMPT=""

Visual C++ 2008 - x64 (KB958357) - v9.0.30729.177
C:\Windows\SysWOW64\msiexec.exe /x {F6F09DD8-F39B-3A16-ADB9-C9E6B56903F9} /qb+ REBOOTPROMPT=""

答え1

良い回答がすでに投稿されています。質問が削除される前に書き始めたものを投稿します。

GUIDキーは一般的にWindows Installer setups(ファイルには*.MSI拡張子) - 企業で頻繁に使用される Microsoft 展開の古い標準です。

インストーラーにはさまざまな種類がありますが、通常はsetup.exeファイルとしてラップされているか、 (すでに廃止)、 (新興) などMSI filesの新しい種類のインストーラー形式になっています。可能性は実にたくさんあります。APPXMSIX

オートデスクsetup.exは に基づかないレガシー スタイルの e インストーラを使用しているようですが、指されている が Windows インストーラ パッケージを起動するラッパーであるWindows Installer可能性はまだあります。setup.exe

以下に、さまざまな種類のセットアップと、セットアップを処理するときに必要なタスク (ファイルの抽出など) に関する情報へのリンクをいくつか追加します。


いくつかのリンク:

これらの回答には、同様の内容のリンクが他にも多数埋め込まれています。

答え2

開発者がアプリケーションを作成する場合、通常はインストール方法を選択します。一般的なオプションの 1 つは、Windows インストーラを使用して MSI を作成することです。MSI ファイルは基本的に、Windows インストーラにソフトウェアのインストール方法 (ドロップするファイル、作成するレジストリ キー、作成するサービスなど) を指示するデータベースです。MSI ファイルを作成するための一般的なツールは次のとおりです。ウィックスまたはインストールシールド

MSI の作成の一環として、製品には ProductCode と呼ばれる一意の GUID を割り当てる必要があります。Uninstall キーの下に表示されるのはこの製品コードです。UninstallString 値は ProductCode を使用します。Windows インストーラーはこれを使用して、/X スイッチを使用してアプリケーションをアンインストールできます。

開発者は、Windowsインストーラーを使用せずに独自のインストーラーを作成することもできます。ただし、プログラムと機能に表示させるには、開発者がアプリケーションのアンインストールキーを手動で作成する必要があります。少なくとも、DisplayNameとUninstallString (参照)。アプリケーションを識別するために GUID を作成することはまずありませんが、可能です。

開発者がカスタム インストーラーを作成した場合、開発者はアプリケーションをアンインストールするための何らかの方法も提供する必要があります。その結果、ほとんどの開発者は、UninstallString からポイントされる別のアンインストール アプリケーションを作成します。このアプリケーションは、アプリケーションを変更、修復、またはアンインストールするためのオプションを表示するためにも使用できます。

それは本当に開発者の好みです。

関連情報