C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: Visual C++ 2008 ランタイム のチェック
(過去ログ 81 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 3 記事 (1 - 3 表示)] <<
0
>>
■48164
/ inTopicNo.1)
Visual C++ 2008 ランタイム のチェック
▼
■
□投稿者/ ごぼう男
(17回)-(2010/03/26(Fri) 09:36:49)
分類:[Windows 全般]
アプリケーションの配布の際、インストーラにブートストラッパーをつけて
Visual C++ 2008 ランタイムライブラリ がインストールされているかチェック
したいのですが、Visual C++ 2008 ランタイムライブラリ がインストールされ
ているかどうかは、レジストリのどこを確認すればよいのでしょうか。
Productキーやフォルダではなく、どうにかレジストリから判断したいので、
よろしければご教授おねがいします。
引用返信
編集キー/
編集
■48170
/ inTopicNo.2)
Re[1]: Visual C++ 2008 ランタイム のチェック
▲
▼
■
□投稿者/ とっちゃん
(489回)-(2010/03/26(Fri) 12:03:56)
■
No48164
(ごぼう男 さん) に返信
> アプリケーションの配布の際、インストーラにブートストラッパーをつけて
> Visual C++ 2008 ランタイムライブラリ がインストールされているかチェック
> したいのですが、Visual C++ 2008 ランタイムライブラリ がインストールされ
> ているかどうかは、レジストリのどこを確認すればよいのでしょうか。
> Productキーやフォルダではなく、どうにかレジストリから判断したいので、
> よろしければご教授おねがいします。
自前のブートストラッパーですか?Productキーがなにを指しているのかわかりませんが...
VSのランタイムインストーラは、msi なので、MsiQueryProductState API で確認する方法が一番確実だと思います。
それではだめ(理由については問いません)という場合は、先々仕様が変わる可能性もあるという前提で...
アンインストールキーをチェックする形になります。
いずれの場合でも、まずは、VS2008がインストールされた環境で、vcredist_???(???は、x86など環境に合わせたものをマッチング)の
product.xml から、vcregistの ProductCode(インストーラの識別情報)を取得します。
そのうえで、API で確認するか、レジストリ(アンインストールキーは、regstr.hに定義されています)にProductCodeのキーがあるかを
確認する(Win7まではこの方法で確認ができますが、将来のOSはわかりません)という形になります。
お手軽さの度合いから行けば、APIを使ったほうが圧倒的に楽です。
引用返信
編集キー/
編集
■48204
/ inTopicNo.3)
Re[2]: Visual C++ 2008 ランタイム のチェック
▲
▼
■
□投稿者/ ごぼう男
(18回)-(2010/03/26(Fri) 23:44:19)
ご指摘の方法を試すため、VC++2008ランタイムのプロダクトコードを調べたところ
{7B33F480-496D-334A-BAC2-205DEC0CBC2D}
のようです。これを使用してブートストラッパーを作れそうです。
ありがとうございました。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-