tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルVBから.msiを実行後の処理結果取得方法
記事No13288
投稿日: 2008/12/14(Sun) 00:52
投稿者まお
初めまして、まおと申します。

VB6.0から、VisualStudioInstallerで作成したインストーラ「hogehoge.msi」を起動し、
インストール実行結果を取得する方法を調べています。

ユーザがVB6.0のexeを実行し、VB6.0のプログラムから
インストールファイル「hogehoge.msi」起動後、
「hogehoge.msi」のインストール処理が
  「正常終了」したのか
  「途中でキャンセル」したのか、
  「異常終了」したのか、
これらを取得する方法はありますでしょうか?

インストールプログラムの.msiファイルは、Shellで起動しています。
    lngProcessId = CLng(Shell("C:\Windows\System32\msiexec.exe /i C:\temp\hogehoge.msi", vbNormalFocus))

CreateObject("WindowsInstaller.Installer")を使用して、
何か出来そうでもありますが、はっきりと分かりません。

是非、ご教授のほど、宜しくお願い申し上げます。

[ツリー表示へ]
タイトルRe: VBから.msiを実行後の処理結果取得方法
記事No13289
投稿日: 2008/12/14(Sun) 12:24
投稿者やじゅ
ユーザがVB6.0のexeを実行し、VB6.0のプログラムから
> インストールファイル「hogehoge.msi」起動後、
> 「hogehoge.msi」のインストール処理が
>   「正常終了」したのか
>   「途中でキャンセル」したのか、
>   「異常終了」したのか、
> これらを取得する方法はありますでしょうか?
>

ログを出力するようにして、そのログで状況を把握するしかないなか。
http://support.citrix.com/article/CTX117169
http://dobon.net/vb/dotnet/deployment/createlogfile.html

「msi ロギング」で検索してみてください。

[ツリー表示へ]
タイトルRe^2: VBから.msiを実行後の処理結果取得方法
記事No13290
投稿日: 2008/12/15(Mon) 00:42
投稿者まお
ありがとうございます!
以下のコマンドで、ログの出力が出来ました。

lngProcessId =
 CLng(Shell("C:\Windows\System32\msiexec.exe /i C:\temp\hogehoge.msi
        /l*v! C:\temp\msi.log", vbNormalFocus))

ログの解析はお教え頂いた下記のページを調べれば出来そうです。

 http://support.citrix.com/article/CTX117169

本当にありがとうございました!!

[ツリー表示へ]