Out of Memory

本ブログは更新を停止しました。Aerieをよろしくお願いいたします。

目次

Blog 利用状況

ニュース

2009年3月31日
更新を停止しました。引き続きAerieを御愛顧くださいませ。
2009年2月3日
原則としてコメント受付を停止しました。コメントはAerieまでお願いいたします。
詳細は2月3日のエントリをご覧ください。
2008年7月1日
Microsoft MVP for Developer Tools - Visual C++ を再受賞しました。
2008年2月某日
MVPアワードがVisual C++に変更になりました。
2007年10月23日
blogタイトルを変更しました。
2007年7月1日
Microsoft MVP for Windows - SDKを受賞しました!
2007年6月20日
スキル「ニュース欄ハック」を覚えた!
2006年12月14日
記念すべき初エントリ
2006年12月3日
わんくま同盟に加盟しました。

カレンダー

中の人

αετο? / aetos / あえとす

シャノン? 誰それ。

顔写真

埼玉を馬鹿にする奴は俺が許さん。

基本的に知ったかぶり。興味を持った技術に手を出して、ちょっと齧りはするものの、それを応用して何か形にするまでは及ばずに飽きて放り出す人。

書庫

日記カテゴリ

インストールされたファイルからインストーラを特定する方法は?

Windows Installer 限定でいいんで、HDD 上にインストールされたあるファイルの情報を元に、それをインストールした msi を特定できないもんでしょうか?

あと、Visual Studio とか SQL Server みたいな大型プロダクトをインストールすると、付随するいろんなサブプロダクトが勝手にインストールされる(「プログラムの追加と削除」リストが一気に増える)んですが、これも、あるサブプロダクトがどの親プロダクトに属するものなのかを調べる方法がありませんですかね?

よろしくお願いします。某T氏とか。

投稿日時 : 2008年8月15日 16:59

Feedback

# re: インストールされたファイルからインストーラを特定する方法は? 2008/08/15 17:31 渋木宏明(ひどり)

>msi を特定できないもんでしょうか

出来るとは思うけど、うーんと頑張らないとダメぽな希ガス。
そして、とてつもなく時間がかかるような希ガス。

>あるサブプロダクトがどの親プロダクトに属するものなのかを調べる

こっちは汎用的な話では無理ぽ。

# re: インストールされたファイルからインストーラを特定する方法は? 2008/08/18 18:19 とっちゃん

パスからmsiを特定は、かなりキッツイけど
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components
の下を逐一列挙すれば可能。

で、そこからプロダクトが割り出せるので、それでmsiを特定できる。<PackedGUIDをパースしないとだめだけどw

後者は、情報はないですね。4.5 になるとチェインのリストが用意されるけど、現状それ使ってるのは SQL Server 2008 だけだと思うw

ま、Office2007 はmsiのProductCode一覧がリストされてるからそこから割り出せるけどwww

# re: インストールされたファイルからインストーラを特定する方法は? 2008/08/20 10:16 シャノン

備忘録:
http://johnmcfadyen.spaces.live.com/blog/cns!9DD01136FC094724!136.entry

> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components
> の下を逐一列挙すれば可能。

おー、多謝。
でもここ、ファイル名がそのまま書いてないケースもあるよね。
ファイルパスが書いてある場合と、レジストリキーっぽい場合と、アセンブリ名っぽい場合がある。
あと、ファイルパスでもなぜか、C:\~じゃなくてC?\~になってるのもある。
書式はどこかにドキュメント化されてるのかな。

# re: インストールされたファイルからインストーラを特定する方法は? 2008/08/20 10:21 シャノン

アセンブリは HKCR\Installer\Assemblies を見ればファイルパスがわかるか。

# re: インストールされたファイルからインストーラを特定する方法は? 2008/08/20 10:34 シャノン

あとは Windows Installer API も使ってごにょごにょで何とかなりそう。
ありがとうでしたー。

タイトル
名前
Url
コメント