回答:
どうやら方法があるように見えます!最近、次のサブツリーの下にあるWindowsインストーラーによってインストールされたファイルのレジストリエントリを発見しました。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData
そこに格納されている情報を使用してファイルのインストーラーを検索する小さなPythonスクリプトを作成しました。
> python windows-installer-file-search.py opus.dll
File: C:\Program Files (x86)\Mumble\opus.dll
Product: Mumble 1.2.13
Install user: S-1-5-18
Cached installer: C:\Windows\Installer\2f6b072.msi
こちらから入手できます:https : //github.com/Zero3/windows-installer-file-search
干し草の山からもっともらしい針を見つけるだけで大丈夫な場合は、この7-Zipの乱暴な悪用がうまくいきます。
7z.exe l -an -air!C:\Windows\Installer\*.msi > needlelist.txt
次にneedlelist.txt
、任意のテキストエディターで開いて検索するneedlename.dll
と、7-Zipによって生成されたリストから対応する.msiパッケージが見つかります。
(注:このメソッドは、という名前のファイルを含む.msiパッケージを通知するだけなので、「ダーティー」ですneedlename.dll
。しかし、ほとんどのユースケースではおそらく問題ありません。)