性格悪い人が優勝

はじめて投稿させていただきます。
VBで開発したプログラムをVisual Studio Installer1.1にてインストーラー(msi)を作成しているのですがインストール中にユーザー情報として名前と会社名を入力しています。この名前と会社名をインストールされるアプリ上に表示させる方法を教えて下さい。
よろしくお願いします。

A 回答 (3件)

やり方はいろいろあると思いますが、msiつまりWindows Installerオブジェクトを介してインストールされたアプリの情報にアクセスする方法です。



まずアプリからWindows Installerにアクセスします。参照設定で「Microsoft Windows Installer Object Library」への参照を設定します。次に
CreateObject("WindowsInstaller.Installer")
でWindows Installerオブジェクトが作成されます。このオブジェクトから、様々な情報にアクセスしたり操作することができるようになります。

目的のProductCodeがわかっていれば、ProductInfoメソッドで各情報を取得できます。
たとえば以下のように。
---------------------
Public Function GetInfoByProductCode(sProductCode As String, sInfoName As String) As String

Dim objInstaller As WindowsInstaller.Installer

Set objInstaller = CreateObject("WindowsInstaller.Installer")
GetInfoByProductCode = objInstaller.ProductInfo(sProductCode, sInfoName)

End Function
---------------------

これで、
---------------------
?GetInfoByProductCode("{123456789-XXX-XXX-XXX-XXX}", "RegCompany")
株式会社○○○
---------------------
のように使えます。"RegCompany" の部分は、Publisher、PackageName、RegOwner、VersionString、InstallDate…などなどで各情報が返ります。

バージョン共通で使えるようにするには、ProductCodeではなくUpgradeCodeをもとに検索するといいです。メソッドRelatedProducts(UpgradeCode)で、同じUpgradeCodeのアプリが複数返されます。
これを順にVersionStringを比較し、最新バージョンだけを特定したりします。
    • good
    • 0
この回答へのお礼

ありがとうございます。

さっそく試してみたいと思います。

お礼日時:2005/07/22 17:12

同じ質問を分割すると違反になるので、


↓こちらは削除したほうがいいと思いますよ。
http://okweb.jp/kotaeru.php3?q_id=1557565
削除方法
http://feedback.okweb.ne.jp/fQA.php?qid=13039

> 登録はインストーラが行なっているのではないのですか。登録の方法はどうするのでしょうか

ユーザーがインストール時に値を入力して、MSIにて「RegisterUser」アクションが実行されれば登録されます。
    • good
    • 0

> RegCompanyとRegOwnerの情報だけ空文字になって返って来ません。



こちらの質問が締め切られていなかったので、こちらに投稿します。
同じ質問を分割すると違反になると思うので、
↓こちらは削除依頼を出してください。
http://okweb.jp/kotaeru.php3?q_id=1557565


で、空文字が返る件ですが、単純に登録されていないだけなのでは?
まずはその点を確認してください。

参考までに、取得できる属性は以下のとおりです。

HelpLink
HelpTelephone
InstallDate
InstallLocation
InstalledProductName
InstallSource
LocalPackage
ProductID
Publisher
PackageName
RegCompany
RegOwner
URLInfoAbout
URLUpdateInfo
VersionMinor
VersionMajor
VersionString
    • good
    • 0
この回答へのお礼

早急な御回答ありがとうございます。
違反の件はよく理解できていなくて申し訳ありません。

登録はインストーラが行なっているのではないのですか。登録の方法はどうするのでしょうか

お礼日時:2005/08/03 22:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!