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;
41 [ uuid(000C1090-0000-0000-C000-000000000046) ]
42 dispinterface Installer
46 [id(DISPID_INSTALLER_OPENPACKAGE)]
49 [in, optional, defaultvalue(0)] long OptionalOption);
52 [ uuid(000C1093-0000-0000-C000-000000000046) ]
57 [id(DISPID_RECORD_STRINGDATA), propget]
58 BSTR StringData([in] long FieldNumber);
59 [id(DISPID_RECORD_STRINGDATA), propput]
61 [in] long FieldNumber,
65 [ uuid(000C1095-0000-0000-C000-000000000046) ]
66 dispinterface StringList
72 [ uuid(000C1096-0000-0000-C000-000000000046) ]
73 dispinterface RecordList
79 [ uuid(000C109A-0000-0000-C000-000000000046) ]
80 dispinterface UIPreview
86 [ uuid(000C109B-0000-0000-C000-000000000046) ]
87 dispinterface SummaryInfo
93 [ uuid(000C109C-0000-0000-C000-000000000046) ]
98 [id(DISPID_VIEW_EXECUTE)]
99 void Execute([in, optional, defaultvalue(0)] Record *OptionalRecord);
100 [id(DISPID_VIEW_FETCH)]
102 [id(DISPID_VIEW_CLOSE)]
106 [ uuid(000C109D-0000-0000-C000-000000000046) ]
107 dispinterface Database
111 [id(DISPID_DATABASE_OPENVIEW)]
112 View* OpenView([in] BSTR QueryString);
116 msiDoActionStatusNoAction = 0,
117 msiDoActionStatusSuccess = 1,
118 msiDoActionStatusUserExit = 2,
119 msiDoActionStatusFailure = 3,
120 msiDoActionStatusSuspend = 4,
121 msiDoActionStatusFinished = 5,
122 msiDoActionStatusWrongState = 6,
123 msiDoActionStatusBadActionData = 7
128 msiRunModeAdvertise = 1,
129 msiRunModeMaintenance = 2,
130 msiRunModeRollbackEnabled = 3,
131 msiRunModeLogEnabled = 4,
132 msiRunModeOperations = 5,
133 msiRunModeRebootAtEnd = 6,
134 msiRunModeRebootNow = 7,
135 msiRunModeCabinet = 8,
136 msiRunModeSourceShortNames = 9,
137 msiRunModeTargetShortNames = 10,
138 msiRunModeWindows9x = 12,
139 msiRunModeZawEnabled = 13,
140 msiRunModeScheduled = 16,
141 msiRunModeRollback = 17,
142 msiRunModeCommit = 18
146 msiInstallStateNotUsed = -7,
147 msiInstallStateBadConfig = -6,
148 msiInstallStateIncomplete = -5,
149 msiInstallStateSourceAbsent = -4,
150 msiInstallStateInvalidArg = -2,
151 msiInstallStateUnknown = -1,
152 msiInstallStateBroken = 0,
153 msiInstallStateAdvertised = 1,
154 msiInstallStateRemoved = 1,
155 msiInstallStateAbsent = 2,
156 msiInstallStateLocal = 3,
157 msiInstallStateSource = 4,
158 msiInstallStateDefault = 5
161 [ uuid(000C109E-0000-0000-C000-000000000046) ]
162 dispinterface Session
166 [id(DISPID_SESSION_PROPERTY), propget]
167 BSTR Property([in] BSTR PropertyName);
168 [id(DISPID_SESSION_PROPERTY), propput]
170 [in] BSTR PropertyName,
172 [id(DISPID_SESSION_LANGUAGE), propget]
174 [id(DISPID_SESSION_MODE), propget]
175 VARIANT_BOOL Mode([in] MsiRunMode runMode);
176 [id(DISPID_SESSION_MODE), propput]
178 [in] MsiRunMode runMode,
179 [in] VARIANT_BOOL rhs);
180 [id(DISPID_SESSION_DATABASE), propget]
181 Database* Database();
182 [id(DISPID_SESSION_DOACTION)]
183 MsiDoActionStatus DoAction([in] BSTR ActionString);
184 [id(DISPID_SESSION_FEATURECURRENTSTATE), propget]
185 MsiInstallState FeatureCurrentState([in] BSTR FeatureName);
186 [id(DISPID_SESSION_FEATUREREQUESTSTATE), propget]
187 MsiInstallState FeatureRequestState([in] BSTR FeatureName);
188 [id(DISPID_SESSION_FEATUREREQUESTSTATE), propput]
189 void FeatureRequestState(
190 [in] BSTR FeatureName,
191 [in] MsiInstallState rhs);
192 [id(DISPID_SESSION_SETINSTALLLEVEL)]
193 void SetInstallLevel([in] long InstallLevel);
196 [ uuid(000C109F-0000-0000-C000-000000000046) ]
197 dispinterface FeatureInfo
203 [ uuid(000C10A0-0000-0000-C000-000000000046) ]
204 dispinterface Product
210 [ uuid(000C10A1-0000-0000-C000-000000000046) ]