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_CREATERECORD
)]
63 Record
*CreateRecord
([in] long Count
);
64 [id(DISPID_INSTALLER_OPENPACKAGE
)]
66 [in] VARIANT PackagePath
,
67 [in, optional, defaultvalue(0)] long Options
);
68 [id(DISPID_INSTALLER_INSTALLPRODUCT
)]
70 [in] BSTR PackagePath
,
71 [in, optional, defaultvalue("0")] BSTR PropertyValues
);
72 [id(DISPID_INSTALLER_REGISTRYVALUE
), propget]
76 [in, optional] VARIANT Value
);
77 [id(DISPID_INSTALLER_PRODUCTSTATE
), propget]
78 MsiInstallState ProductState
(
80 [id(DISPID_INSTALLER_PRODUCTS
), propget]
81 StringList
*Products
();
82 [id(DISPID_INSTALLER_RELATEDPRODUCTS
), propget]
83 StringList
*RelatedProducts
(
84 [in] BSTR UpgradeCode
);
87 [ uuid(000C1093
-0000-0000-C000
-000000000046) ]
92 [id(DISPID_RECORD_STRINGDATA
), propget]
93 BSTR StringData
([in] long Field
);
94 [id(DISPID_RECORD_STRINGDATA
), propput]
98 [id(DISPID_RECORD_INTEGERDATA
), propget]
99 long IntegerData
([in] long Field
);
100 [id(DISPID_RECORD_INTEGERDATA
), propput]
104 [id(DISPID_RECORD_FIELDCOUNT
), propget]
108 [ uuid(000C1095
-0000-0000-C000
-000000000046) ]
109 dispinterface StringList
113 [id(DISPID_STRINGLIST_ITEM
), propget]
114 BSTR Item
(long Index
);
115 [id(DISPID_STRINGLIST_COUNT
), propget]
119 [ uuid(000C1096
-0000-0000-C000
-000000000046) ]
120 dispinterface RecordList
126 [ uuid(000C109A
-0000-0000-C000
-000000000046) ]
127 dispinterface UIPreview
133 [ uuid(000C109B
-0000-0000-C000
-000000000046) ]
134 dispinterface SummaryInfo
141 msiViewModifySeek
= -1,
142 msiViewModifyRefresh
= 0,
143 msiViewModifyInsert
= 1,
144 msiViewModifyUpdate
= 2,
145 msiViewModifyAssign
= 3,
146 msiViewModifyReplace
= 4,
147 msiViewModifyMerge
= 5,
148 msiViewModifyDelete
= 6,
149 msiViewModifyInsertTemporary
= 7,
150 msiViewModifyValidate
= 8,
151 msiViewModifyValidateNew
= 9,
152 msiViewModifyValidateField
= 10,
153 msiViewModifyValidateDelete
= 11,
154 } _MsiViewModify
; /* Added underscore to avoid conflict with function name */
156 [ uuid(000C109C
-0000-0000-C000
-000000000046) ]
161 [id(DISPID_VIEW_EXECUTE
)]
162 void Execute
([in, optional, defaultvalue(0)] Record
*Params
);
163 [id(DISPID_VIEW_FETCH
)]
165 [id(DISPID_VIEW_MODIFY
)]
167 [in] _MsiViewModify Mode
,
169 [id(DISPID_VIEW_CLOSE
)]
173 [ uuid(000C109D
-0000-0000-C000
-000000000046) ]
174 dispinterface Database
178 [id(DISPID_DATABASE_OPENVIEW
)]
179 View
* OpenView
([in] BSTR Sql
);
183 msiDoActionStatusNoAction
= 0,
184 msiDoActionStatusSuccess
= 1,
185 msiDoActionStatusUserExit
= 2,
186 msiDoActionStatusFailure
= 3,
187 msiDoActionStatusSuspend
= 4,
188 msiDoActionStatusFinished
= 5,
189 msiDoActionStatusWrongState
= 6,
190 msiDoActionStatusBadActionData
= 7
195 msiRunModeAdvertise
= 1,
196 msiRunModeMaintenance
= 2,
197 msiRunModeRollbackEnabled
= 3,
198 msiRunModeLogEnabled
= 4,
199 msiRunModeOperations
= 5,
200 msiRunModeRebootAtEnd
= 6,
201 msiRunModeRebootNow
= 7,
202 msiRunModeCabinet
= 8,
203 msiRunModeSourceShortNames
= 9,
204 msiRunModeTargetShortNames
= 10,
205 msiRunModeWindows9x
= 12,
206 msiRunModeZawEnabled
= 13,
207 msiRunModeScheduled
= 16,
208 msiRunModeRollback
= 17,
209 msiRunModeCommit
= 18
213 msiEvaluateConditionFalse
= 0,
214 msiEvaluateConditionTrue
= 1,
215 msiEvaluateConditionNone
= 2,
216 msiEvaluateConditionError
= 3
217 } _MsiEvaluateCondition
; /* Added underscore to avoid conflict with function name */
219 [ uuid(000C109E
-0000
-0000-C000
-000000000046) ]
220 dispinterface Session
224 [id(DISPID_SESSION_INSTALLER
), propget]
225 Installer
*Installer
();
226 [id(DISPID_SESSION_PROPERTY
), propget]
227 BSTR Property
([in] BSTR Name
);
228 [id(DISPID_SESSION_PROPERTY
), propput]
232 [id(DISPID_SESSION_LANGUAGE
), propget]
234 [id(DISPID_SESSION_MODE
), propget]
235 VARIANT_BOOL Mode
([in] MsiRunMode Flag
);
236 [id(DISPID_SESSION_MODE
), propput]
238 [in] MsiRunMode Flag
,
239 [in] VARIANT_BOOL rhs
);
240 [id(DISPID_SESSION_DATABASE
), propget]
241 Database
* Database
();
242 [id(DISPID_SESSION_DOACTION
)]
243 MsiDoActionStatus DoAction
([in] BSTR Action
);
244 [id(DISPID_SESSION_EVALUATECONDITION
)]
245 _MsiEvaluateCondition EvaluateCondition
([in] BSTR Expression
);
246 [id(DISPID_SESSION_FEATURECURRENTSTATE
), propget]
247 MsiInstallState FeatureCurrentState
([in] BSTR Feature
);
248 [id(DISPID_SESSION_FEATUREREQUESTSTATE
), propget]
249 MsiInstallState FeatureRequestState
([in] BSTR Feature
);
250 [id(DISPID_SESSION_FEATUREREQUESTSTATE
), propput]
251 void FeatureRequestState
(
253 [in] MsiInstallState rhs
);
254 [id(DISPID_SESSION_SETINSTALLLEVEL
)]
255 void SetInstallLevel
([in] long Level
);
258 [ uuid(000C109F
-0000-0000-C000
-000000000046) ]
259 dispinterface FeatureInfo
265 [ uuid(000C10A0
-0000-0000-C000
-000000000046) ]
266 dispinterface Product
272 [ uuid(000C10A1
-0000-0000-C000
-000000000046) ]