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_PRODUCTSTATE), propget]
67 MsiInstallState ProductState(
69 [id(DISPID_INSTALLER_PRODUCTS), propget]
70 StringList *Products();
73 [ uuid(000C1093-0000-0000-C000-000000000046) ]
78 [id(DISPID_RECORD_STRINGDATA), propget]
79 BSTR StringData([in] long Field);
80 [id(DISPID_RECORD_STRINGDATA), propput]
86 [ uuid(000C1095-0000-0000-C000-000000000046) ]
87 dispinterface StringList
91 [id(DISPID_STRINGLIST_ITEM), propget]
92 BSTR Item(long Index);
93 [id(DISPID_STRINGLIST_COUNT), propget]
97 [ uuid(000C1096-0000-0000-C000-000000000046) ]
98 dispinterface RecordList
104 [ uuid(000C109A-0000-0000-C000-000000000046) ]
105 dispinterface UIPreview
111 [ uuid(000C109B-0000-0000-C000-000000000046) ]
112 dispinterface SummaryInfo
118 [ uuid(000C109C-0000-0000-C000-000000000046) ]
123 [id(DISPID_VIEW_EXECUTE)]
124 void Execute([in, optional, defaultvalue(0)] Record *Params);
125 [id(DISPID_VIEW_FETCH)]
127 [id(DISPID_VIEW_CLOSE)]
131 [ uuid(000C109D-0000-0000-C000-000000000046) ]
132 dispinterface Database
136 [id(DISPID_DATABASE_OPENVIEW)]
137 View* OpenView([in] BSTR Sql);
141 msiDoActionStatusNoAction = 0,
142 msiDoActionStatusSuccess = 1,
143 msiDoActionStatusUserExit = 2,
144 msiDoActionStatusFailure = 3,
145 msiDoActionStatusSuspend = 4,
146 msiDoActionStatusFinished = 5,
147 msiDoActionStatusWrongState = 6,
148 msiDoActionStatusBadActionData = 7
153 msiRunModeAdvertise = 1,
154 msiRunModeMaintenance = 2,
155 msiRunModeRollbackEnabled = 3,
156 msiRunModeLogEnabled = 4,
157 msiRunModeOperations = 5,
158 msiRunModeRebootAtEnd = 6,
159 msiRunModeRebootNow = 7,
160 msiRunModeCabinet = 8,
161 msiRunModeSourceShortNames = 9,
162 msiRunModeTargetShortNames = 10,
163 msiRunModeWindows9x = 12,
164 msiRunModeZawEnabled = 13,
165 msiRunModeScheduled = 16,
166 msiRunModeRollback = 17,
167 msiRunModeCommit = 18
170 [ uuid(000C109E-0000-0000-C000-000000000046) ]
171 dispinterface Session
175 [id(DISPID_SESSION_INSTALLER), propget]
176 Installer *Installer();
177 [id(DISPID_SESSION_PROPERTY), propget]
178 BSTR Property([in] BSTR Name);
179 [id(DISPID_SESSION_PROPERTY), propput]
183 [id(DISPID_SESSION_LANGUAGE), propget]
185 [id(DISPID_SESSION_MODE), propget]
186 VARIANT_BOOL Mode([in] MsiRunMode Flag);
187 [id(DISPID_SESSION_MODE), propput]
189 [in] MsiRunMode Flag,
190 [in] VARIANT_BOOL rhs);
191 [id(DISPID_SESSION_DATABASE), propget]
192 Database* Database();
193 [id(DISPID_SESSION_DOACTION)]
194 MsiDoActionStatus DoAction([in] BSTR Action);
195 [id(DISPID_SESSION_FEATURECURRENTSTATE), propget]
196 MsiInstallState FeatureCurrentState([in] BSTR Feature);
197 [id(DISPID_SESSION_FEATUREREQUESTSTATE), propget]
198 MsiInstallState FeatureRequestState([in] BSTR Feature);
199 [id(DISPID_SESSION_FEATUREREQUESTSTATE), propput]
200 void FeatureRequestState(
202 [in] MsiInstallState rhs);
203 [id(DISPID_SESSION_SETINSTALLLEVEL)]
204 void SetInstallLevel([in] long Level);
207 [ uuid(000C109F-0000-0000-C000-000000000046) ]
208 dispinterface FeatureInfo
214 [ uuid(000C10A0-0000-0000-C000-000000000046) ]
215 dispinterface Product
221 [ uuid(000C10A1-0000-0000-C000-000000000046) ]