push ddcec1efa0405f1b058a48ee6354bc300985a9d9
[wine/hacks.git] / dlls / msi / msiserver.idl
blob4d6c00b6759de1b70c00a611af355aaa163a3447
1 /*
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"
20 import "unknwn.idl";
21 import "wtypes.idl";
22 import "objidl.idl";
23 import "oaidl.idl";
25 [ uuid(000C1092-0000-0000-C000-000000000046), version(1.0) ]
26 library WindowsInstaller
28 dispinterface Installer;
29 dispinterface Record;
30 dispinterface Session;
31 dispinterface Database;
32 dispinterface SummaryInfo;
33 dispinterface View;
34 dispinterface UIPreview;
35 dispinterface FeatureInfo;
36 dispinterface RecordList;
37 dispinterface StringList;
38 dispinterface Product;
39 dispinterface Patch;
41 [ uuid(000C1090-0000-0000-C000-000000000046) ]
42 dispinterface Installer
44 properties:
45 methods:
46 [id(DISPID_INSTALLER_OPENPACKAGE)]
47 Session* OpenPackage(
48 [in] VARIANT Path,
49 [in, optional, defaultvalue(0)] long OptionalOption);
52 [ uuid(000C1093-0000-0000-C000-000000000046) ]
53 dispinterface Record
55 properties:
56 methods:
57 [id(DISPID_RECORD_STRINGDATA), propget]
58 BSTR StringData([in] long FieldNumber);
59 [id(DISPID_RECORD_STRINGDATA), propput]
60 void StringData(
61 [in] long FieldNumber,
62 [in] BSTR rhs);
65 [ uuid(000C1095-0000-0000-C000-000000000046) ]
66 dispinterface StringList
68 properties:
69 methods:
72 [ uuid(000C1096-0000-0000-C000-000000000046) ]
73 dispinterface RecordList
75 properties:
76 methods:
79 [ uuid(000C109A-0000-0000-C000-000000000046) ]
80 dispinterface UIPreview
82 properties:
83 methods:
86 [ uuid(000C109B-0000-0000-C000-000000000046) ]
87 dispinterface SummaryInfo
89 properties:
90 methods:
93 [ uuid(000C109C-0000-0000-C000-000000000046) ]
94 dispinterface View
96 properties:
97 methods:
98 [id(DISPID_VIEW_EXECUTE)]
99 void Execute([in, optional, defaultvalue(0)] Record *OptionalRecord);
100 [id(DISPID_VIEW_FETCH)]
101 Record* Fetch();
102 [id(DISPID_VIEW_CLOSE)]
103 void Close();
106 [ uuid(000C109D-0000-0000-C000-000000000046) ]
107 dispinterface Database
109 properties:
110 methods:
111 [id(DISPID_DATABASE_OPENVIEW)]
112 View* OpenView([in] BSTR QueryString);
115 typedef enum {
116 msiDoActionStatusNoAction = 0,
117 msiDoActionStatusSuccess = 1,
118 msiDoActionStatusUserExit = 2,
119 msiDoActionStatusFailure = 3,
120 msiDoActionStatusSuspend = 4,
121 msiDoActionStatusFinished = 5,
122 msiDoActionStatusWrongState = 6,
123 msiDoActionStatusBadActionData = 7
124 } MsiDoActionStatus;
126 typedef enum {
127 msiRunModeAdmin = 0,
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
143 } MsiRunMode;
145 typedef enum {
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
159 } MsiInstallState;
161 [ uuid(000C109E-0000-0000-C000-000000000046) ]
162 dispinterface Session
164 properties:
165 methods:
166 [id(DISPID_SESSION_PROPERTY), propget]
167 BSTR Property([in] BSTR PropertyName);
168 [id(DISPID_SESSION_PROPERTY), propput]
169 void Property(
170 [in] BSTR PropertyName,
171 [in] BSTR rhs);
172 [id(DISPID_SESSION_LANGUAGE), propget]
173 long Language();
174 [id(DISPID_SESSION_MODE), propget]
175 VARIANT_BOOL Mode([in] MsiRunMode runMode);
176 [id(DISPID_SESSION_MODE), propput]
177 void Mode(
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
199 properties:
200 methods:
203 [ uuid(000C10A0-0000-0000-C000-000000000046) ]
204 dispinterface Product
206 properties:
207 methods:
210 [ uuid(000C10A1-0000-0000-C000-000000000046) ]
211 dispinterface Patch
213 properties:
214 methods: