2 * Copyright (C) 2007 Mike McCormack
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include
"msiserver_dispids.h"
25 [ uuid(000C1092
-0000-0000-C000
-000000000046), version(1.0) ]
26 library WindowsInstaller
28 dispinterface Installer
;
30 dispinterface Session
;
31 dispinterface Database
;
32 dispinterface SummaryInfo
;
34 dispinterface UIPreview
;
35 dispinterface FeatureInfo
;
36 dispinterface RecordList
;
37 dispinterface StringList
;
38 dispinterface Product
;
42 msiInstallStateNotUsed
= -7,
43 msiInstallStateBadConfig
= -6,
44 msiInstallStateIncomplete
= -5,
45 msiInstallStateSourceAbsent
= -4,
46 msiInstallStateInvalidArg
= -2,
47 msiInstallStateUnknown
= -1,
48 msiInstallStateBroken
= 0,
49 msiInstallStateAdvertised
= 1,
50 msiInstallStateRemoved
= 1,
51 msiInstallStateAbsent
= 2,
52 msiInstallStateLocal
= 3,
53 msiInstallStateSource
= 4,
54 msiInstallStateDefault
= 5
57 [ uuid(000C1090
-0000-0000-C000
-000000000046) ]
58 dispinterface Installer
62 [id(DISPID_INSTALLER_OPENPACKAGE
)]
64 [in] VARIANT PackagePath
,
65 [in, optional, defaultvalue(0)] long Options
);
66 [id(DISPID_INSTALLER_REGISTRYVALUE
), propget]
70 [in, optional] VARIANT Value
);
71 [id(DISPID_INSTALLER_PRODUCTSTATE
), propget]
72 MsiInstallState ProductState
(
74 [id(DISPID_INSTALLER_PRODUCTS
), propget]
75 StringList
*Products
();
78 [ uuid(000C1093
-0000-0000-C000
-000000000046) ]
83 [id(DISPID_RECORD_STRINGDATA
), propget]
84 BSTR StringData
([in] long Field
);
85 [id(DISPID_RECORD_STRINGDATA
), propput]
91 [ uuid(000C1095
-0000-0000-C000
-000000000046) ]
92 dispinterface StringList
96 [id(DISPID_STRINGLIST_ITEM
), propget]
97 BSTR Item
(long Index
);
98 [id(DISPID_STRINGLIST_COUNT
), propget]
102 [ uuid(000C1096
-0000-0000-C000
-000000000046) ]
103 dispinterface RecordList
109 [ uuid(000C109A
-0000-0000-C000
-000000000046) ]
110 dispinterface UIPreview
116 [ uuid(000C109B
-0000-0000-C000
-000000000046) ]
117 dispinterface SummaryInfo
123 [ uuid(000C109C
-0000-0000-C000
-000000000046) ]
128 [id(DISPID_VIEW_EXECUTE
)]
129 void Execute
([in, optional, defaultvalue(0)] Record
*Params
);
130 [id(DISPID_VIEW_FETCH
)]
132 [id(DISPID_VIEW_CLOSE
)]
136 [ uuid(000C109D
-0000-0000-C000
-000000000046) ]
137 dispinterface Database
141 [id(DISPID_DATABASE_OPENVIEW
)]
142 View
* OpenView
([in] BSTR Sql
);
146 msiDoActionStatusNoAction
= 0,
147 msiDoActionStatusSuccess
= 1,
148 msiDoActionStatusUserExit
= 2,
149 msiDoActionStatusFailure
= 3,
150 msiDoActionStatusSuspend
= 4,
151 msiDoActionStatusFinished
= 5,
152 msiDoActionStatusWrongState
= 6,
153 msiDoActionStatusBadActionData
= 7
158 msiRunModeAdvertise
= 1,
159 msiRunModeMaintenance
= 2,
160 msiRunModeRollbackEnabled
= 3,
161 msiRunModeLogEnabled
= 4,
162 msiRunModeOperations
= 5,
163 msiRunModeRebootAtEnd
= 6,
164 msiRunModeRebootNow
= 7,
165 msiRunModeCabinet
= 8,
166 msiRunModeSourceShortNames
= 9,
167 msiRunModeTargetShortNames
= 10,
168 msiRunModeWindows9x
= 12,
169 msiRunModeZawEnabled
= 13,
170 msiRunModeScheduled
= 16,
171 msiRunModeRollback
= 17,
172 msiRunModeCommit
= 18
176 msiEvaluateConditionFalse
= 0,
177 msiEvaluateConditionTrue
= 1,
178 msiEvaluateConditionNone
= 2,
179 msiEvaluateConditionError
= 3
180 } _MsiEvaluateCondition
; /* Added underscore to avoid conflict with function name */
182 [ uuid(000C109E
-0000
-0000-C000
-000000000046) ]
183 dispinterface Session
187 [id(DISPID_SESSION_INSTALLER
), propget]
188 Installer
*Installer
();
189 [id(DISPID_SESSION_PROPERTY
), propget]
190 BSTR Property
([in] BSTR Name
);
191 [id(DISPID_SESSION_PROPERTY
), propput]
195 [id(DISPID_SESSION_LANGUAGE
), propget]
197 [id(DISPID_SESSION_MODE
), propget]
198 VARIANT_BOOL Mode
([in] MsiRunMode Flag
);
199 [id(DISPID_SESSION_MODE
), propput]
201 [in] MsiRunMode Flag
,
202 [in] VARIANT_BOOL rhs
);
203 [id(DISPID_SESSION_DATABASE
), propget]
204 Database
* Database
();
205 [id(DISPID_SESSION_DOACTION
)]
206 MsiDoActionStatus DoAction
([in] BSTR Action
);
207 [id(DISPID_SESSION_EVALUATECONDITION
)]
208 _MsiEvaluateCondition EvaluateCondition
([in] BSTR Expression
);
209 [id(DISPID_SESSION_FEATURECURRENTSTATE
), propget]
210 MsiInstallState FeatureCurrentState
([in] BSTR Feature
);
211 [id(DISPID_SESSION_FEATUREREQUESTSTATE
), propget]
212 MsiInstallState FeatureRequestState
([in] BSTR Feature
);
213 [id(DISPID_SESSION_FEATUREREQUESTSTATE
), propput]
214 void FeatureRequestState
(
216 [in] MsiInstallState rhs
);
217 [id(DISPID_SESSION_SETINSTALLLEVEL
)]
218 void SetInstallLevel
([in] long Level
);
221 [ uuid(000C109F
-0000-0000-C000
-000000000046) ]
222 dispinterface FeatureInfo
228 [ uuid(000C10A0
-0000-0000-C000
-000000000046) ]
229 dispinterface Product
235 [ uuid(000C10A1
-0000-0000-C000
-000000000046) ]