Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
617eb48d
Commit
617eb48d
authored
Feb 29, 2008
by
James Hawkins
Committed by
Alexandre Julliard
Mar 01, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Implement the UILevel property of the Installer object.
parent
724c8da7
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
4 deletions
+44
-4
automation.c
dlls/msi/automation.c
+26
-0
msiserver.idl
dlls/msi/msiserver.idl
+15
-0
msiserver_dispids.h
dlls/msi/msiserver_dispids.h
+1
-0
automation.c
dlls/msi/tests/automation.c
+2
-4
No files found.
dlls/msi/automation.c
View file @
617eb48d
...
...
@@ -1535,6 +1535,7 @@ static HRESULT WINAPI InstallerImpl_Invoke(
HRESULT
hr
;
LPWSTR
szString
=
NULL
;
DWORD
dwSize
=
0
;
INSTALLUILEVEL
ui
;
VariantInit
(
&
varg0
);
VariantInit
(
&
varg1
);
...
...
@@ -1627,6 +1628,31 @@ static HRESULT WINAPI InstallerImpl_Invoke(
else
return
DISP_E_MEMBERNOTFOUND
;
break
;
case
DISPID_INSTALLER_UILEVEL
:
if
(
wFlags
&
DISPATCH_PROPERTYPUT
)
{
hr
=
DispGetParam
(
pDispParams
,
0
,
VT_I4
,
&
varg0
,
puArgErr
);
if
(
FAILED
(
hr
))
return
hr
;
if
((
ui
=
MsiSetInternalUI
(
V_I4
(
&
varg0
),
NULL
)
==
INSTALLUILEVEL_NOCHANGE
))
{
ERR
(
"MsiSetInternalUI failed
\n
"
);
return
DISP_E_EXCEPTION
;
}
}
else
if
(
wFlags
&
DISPATCH_PROPERTYGET
)
{
if
((
ui
=
MsiSetInternalUI
(
INSTALLUILEVEL_NOCHANGE
,
NULL
)
==
INSTALLUILEVEL_NOCHANGE
))
{
ERR
(
"MsiSetInternalUI failed
\n
"
);
return
DISP_E_EXCEPTION
;
}
V_VT
(
pVarResult
)
=
VT_I4
;
V_I4
(
pVarResult
)
=
ui
;
}
else
return
DISP_E_MEMBERNOTFOUND
;
break
;
case
DISPID_INSTALLER_INSTALLPRODUCT
:
if
(
wFlags
&
DISPATCH_METHOD
)
{
...
...
dlls/msi/msiserver.idl
View file @
617eb48d
...
...
@@ -126,10 +126,25 @@ library WindowsInstaller
msiOpenDatabaseModePatchFile
=
32
}
MsiOpenDatabaseMode
;
typedef
enum
{
msiUILevelNoChange
=
0
,
msiUILevelDefault
=
1
,
msiUILevelNone
=
2
,
msiUILevelBasic
=
3
,
msiUILevelReduced
=
4
,
msiUILevelFull
=
5
,
msiUILevelHideCancel
=
32
,
msiUILevelProgressOnly
=
64
,
msiUILevelEndDialog
=
128
,
msiUILevelSourceResOnly
=
256
}
MsiUILevel
;
[
uuid
(
000
C1090
-
0000
-
0000
-
C000
-
000000000046
)
]
dispinterface
Installer
{
properties
:
[
id
(
DISPID_INSTALLER_UILEVEL
)
]
MsiUILevel
UILevel
;
methods
:
[
id
(
DISPID_INSTALLER_CREATERECORD
)
]
Record
*
CreateRecord
(
[
in
]
long
Count
)
;
...
...
dlls/msi/msiserver_dispids.h
View file @
617eb48d
...
...
@@ -19,6 +19,7 @@
#define DISPID_INSTALLER_CREATERECORD 1
#define DISPID_INSTALLER_OPENPACKAGE 2
#define DISPID_INSTALLER_OPENDATABASE 4
#define DISPID_INSTALLER_UILEVEL 6
#define DISPID_INSTALLER_INSTALLPRODUCT 8
#define DISPID_INSTALLER_VERSION 9
#define DISPID_INSTALLER_REGISTRYVALUE 11
...
...
dlls/msi/tests/automation.c
View file @
617eb48d
...
...
@@ -470,11 +470,9 @@ static void test_dispid(void)
ok
(
get_dispid
(
pInstaller
,
"OpenPackage"
)
==
2
,
"dispid wrong
\n
"
);
todo_wine
ok
(
get_dispid
(
pInstaller
,
"OpenProduct"
)
==
3
,
"dispid wrong
\n
"
);
ok
(
get_dispid
(
pInstaller
,
"OpenDatabase"
)
==
4
,
"dispid wrong
\n
"
);
todo_wine
{
ok
(
get_dispid
(
pInstaller
,
"SummaryInformation"
)
==
5
,
"dispid wrong
\n
"
);
todo_wine
ok
(
get_dispid
(
pInstaller
,
"SummaryInformation"
)
==
5
,
"dispid wrong
\n
"
);
ok
(
get_dispid
(
pInstaller
,
"UILevel"
)
==
6
,
"dispid wrong
\n
"
);
ok
(
get_dispid
(
pInstaller
,
"EnableLog"
)
==
7
,
"dispid wrong
\n
"
);
}
todo_wine
ok
(
get_dispid
(
pInstaller
,
"EnableLog"
)
==
7
,
"dispid wrong
\n
"
);
ok
(
get_dispid
(
pInstaller
,
"InstallProduct"
)
==
8
,
"dispid wrong
\n
"
);
ok
(
get_dispid
(
pInstaller
,
"Version"
)
==
9
,
"dispid wrong
\n
"
);
todo_wine
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment