Commit bb55acb5 authored by Misha Koshelev's avatar Misha Koshelev Committed by Alexandre Julliard

msi: Expand IDL file to contain some OLE automation interface functions.

parent 26c16313
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "wine/unicode.h" #include "wine/unicode.h"
#include "msiserver.h" #include "msiserver.h"
#include "msiserver_dispids.h"
WINE_DEFAULT_DEBUG_CHANNEL(msi); WINE_DEFAULT_DEBUG_CHANNEL(msi);
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#include "msiserver_dispids.h"
import "unknwn.idl"; import "unknwn.idl";
import "wtypes.idl"; import "wtypes.idl";
import "objidl.idl"; import "objidl.idl";
...@@ -42,6 +43,10 @@ library WindowsInstaller ...@@ -42,6 +43,10 @@ library WindowsInstaller
{ {
properties: properties:
methods: methods:
[id(DISPID_INSTALLER_OPENPACKAGE)]
Session* OpenPackage(
[in] VARIANT Path,
[in, optional, defaultvalue(0)] long OptionalOption);
} }
[ uuid(000C1093-0000-0000-C000-000000000046) ] [ uuid(000C1093-0000-0000-C000-000000000046) ]
...@@ -49,6 +54,12 @@ library WindowsInstaller ...@@ -49,6 +54,12 @@ library WindowsInstaller
{ {
properties: properties:
methods: methods:
[id(DISPID_RECORD_STRINGDATA), propget]
BSTR StringData([in] long FieldNumber);
[id(DISPID_RECORD_STRINGDATA), propput]
void StringData(
[in] long FieldNumber,
[in] BSTR rhs);
} }
[ uuid(000C1095-0000-0000-C000-000000000046) ] [ uuid(000C1095-0000-0000-C000-000000000046) ]
...@@ -84,6 +95,12 @@ library WindowsInstaller ...@@ -84,6 +95,12 @@ library WindowsInstaller
{ {
properties: properties:
methods: methods:
[id(DISPID_VIEW_EXECUTE)]
void Execute([in, optional, defaultvalue(0)] Record *OptionalRecord);
[id(DISPID_VIEW_FETCH)]
Record* Fetch();
[id(DISPID_VIEW_CLOSE)]
void Close();
} }
[ uuid(000C109D-0000-0000-C000-000000000046) ] [ uuid(000C109D-0000-0000-C000-000000000046) ]
...@@ -91,13 +108,89 @@ library WindowsInstaller ...@@ -91,13 +108,89 @@ library WindowsInstaller
{ {
properties: properties:
methods: methods:
[id(DISPID_DATABASE_OPENVIEW)]
View* OpenView([in] BSTR QueryString);
} }
typedef enum {
msiDoActionStatusNoAction = 0,
msiDoActionStatusSuccess = 1,
msiDoActionStatusUserExit = 2,
msiDoActionStatusFailure = 3,
msiDoActionStatusSuspend = 4,
msiDoActionStatusFinished = 5,
msiDoActionStatusWrongState = 6,
msiDoActionStatusBadActionData = 7
} MsiDoActionStatus;
typedef enum {
msiRunModeAdmin = 0,
msiRunModeAdvertise = 1,
msiRunModeMaintenance = 2,
msiRunModeRollbackEnabled = 3,
msiRunModeLogEnabled = 4,
msiRunModeOperations = 5,
msiRunModeRebootAtEnd = 6,
msiRunModeRebootNow = 7,
msiRunModeCabinet = 8,
msiRunModeSourceShortNames = 9,
msiRunModeTargetShortNames = 10,
msiRunModeWindows9x = 12,
msiRunModeZawEnabled = 13,
msiRunModeScheduled = 16,
msiRunModeRollback = 17,
msiRunModeCommit = 18
} MsiRunMode;
typedef enum {
msiInstallStateNotUsed = -7,
msiInstallStateBadConfig = -6,
msiInstallStateIncomplete = -5,
msiInstallStateSourceAbsent = -4,
msiInstallStateInvalidArg = -2,
msiInstallStateUnknown = -1,
msiInstallStateBroken = 0,
msiInstallStateAdvertised = 1,
msiInstallStateRemoved = 1,
msiInstallStateAbsent = 2,
msiInstallStateLocal = 3,
msiInstallStateSource = 4,
msiInstallStateDefault = 5
} MsiInstallState;
[ uuid(000C109E-0000-0000-C000-000000000046) ] [ uuid(000C109E-0000-0000-C000-000000000046) ]
dispinterface Session dispinterface Session
{ {
properties: properties:
methods: methods:
[id(DISPID_SESSION_PROPERTY), propget]
BSTR Property([in] BSTR PropertyName);
[id(DISPID_SESSION_PROPERTY), propput]
void Property(
[in] BSTR PropertyName,
[in] BSTR rhs);
[id(DISPID_SESSION_LANGUAGE), propget]
long Language();
[id(DISPID_SESSION_MODE), propget]
VARIANT_BOOL Mode([in] MsiRunMode runMode);
[id(DISPID_SESSION_MODE), propput]
void Mode(
[in] MsiRunMode runMode,
[in] VARIANT_BOOL rhs);
[id(DISPID_SESSION_DATABASE), propget]
Database* Database();
[id(DISPID_SESSION_DOACTION)]
MsiDoActionStatus DoAction([in] BSTR ActionString);
[id(DISPID_SESSION_FEATURECURRENTSTATE), propget]
MsiInstallState FeatureCurrentState([in] BSTR FeatureName);
[id(DISPID_SESSION_FEATUREREQUESTSTATE), propget]
MsiInstallState FeatureRequestState([in] BSTR FeatureName);
[id(DISPID_SESSION_FEATUREREQUESTSTATE), propput]
void FeatureRequestState(
[in] BSTR FeatureName,
[in] MsiInstallState rhs);
[id(DISPID_SESSION_SETINSTALLLEVEL)]
void SetInstallLevel([in] long InstallLevel);
} }
[ uuid(000C109F-0000-0000-C000-000000000046) ] [ uuid(000C109F-0000-0000-C000-000000000046) ]
......
/*
* Copyright (C) 2007 Misha Koshelev
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define DISPID_INSTALLER_OPENPACKAGE 2
#define DISPID_RECORD_STRINGDATA 1
#define DISPID_VIEW_EXECUTE 1
#define DISPID_VIEW_FETCH 2
#define DISPID_VIEW_CLOSE 4
#define DISPID_DATABASE_OPENVIEW 3
#define DISPID_SESSION_PROPERTY 2
#define DISPID_SESSION_LANGUAGE 3
#define DISPID_SESSION_MODE 4
#define DISPID_SESSION_DATABASE 5
#define DISPID_SESSION_DOACTION 8
#define DISPID_SESSION_FEATURECURRENTSTATE 13
#define DISPID_SESSION_FEATUREREQUESTSTATE 14
#define DISPID_SESSION_SETINSTALLLEVEL 19
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment