Installer.LastErrorRecord メソッド
Installer オブジェクトの LastErrorRecord メソッドでは、エラー レコードを生成する関数からの最新のエラーのエラー パラメーターを含む Record オブジェクトが返されます。
構文
Installer.LastErrorRecord()
パラメーター
このメソッドにはパラメーターはありません。
戻り値
このメソッドは値を返しません。
解説
Record オブジェクトは、エラー レコードを生成する関数の実行後にリセットされます。
次の指定された関数のみがエラー レコードを生成します。
- OpenDatabase メソッド (Installer オブジェクト)
- Commit
- OpenView
- [インポート]
- [エクスポート]
- Merge
- GenerateTransform
- ApplyTransform
- Execute
- 変更
- SetStream
- SummaryInformation
- SourcePath
- TargetPath
- ComponentCurrentState
- ComponentRequestState
- FeatureCurrentState
- FeatureRequestState
- FeatureCost
- FeatureValidStates
- SetInstallLevel
次の VBScript のサンプルでは、OpenDatabase の呼び出しを使用して、LastErrorRecord メソッドをサポートするいずれかのメソッドまたはプロパティから拡張エラー情報を取得する方法を示します。 このサンプルでは、OpenDatabase メソッドが失敗したときにエラー メッセージを作成します。 Err オブジェクトは、エラーが発生したかどうかを判断するために使用されます。
Const msiOpenDatabaseModeReadOnly = 0
On Error Resume Next ' defer error handling
Dim installer
Set installer = CreateObject("WindowsInstaller.Installer")
' attempt to open the non-existent MSI database
Dim database
Set database = installer.OpenDatabase("c:\nonexistent.msi", msiOpenDatabaseModeReadOnly)
' test for error
If Err.Number <> 0 Then
Dim message, errorRec
message = Err.Source & " " & Hex(Err.Number) & ": " & Err.Description
If Not installer Is Nothing Then
' try to obtain extended error info
Set errorRec = installer.LastErrorRecord
If Not errorRec Is Nothing Then message = message & vbNewLine & errorRec.FormatText
End If
MsgBox message
' PLACE ADDITIONAL SCRIPTING CODE HERE TO LOG AND/OR DISPLAY THE MESSAGE AND
' DETERMINE WHETHER TO CONTINUE PROCESSING ANYTHING ELSE
End If
必要条件
要件 | 値 |
---|---|
バージョン |
Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー |
[DLL] |
|
IID |
IID_IInstaller が 000C1090-0000-0000-C000-000000000046 として定義されている |