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
b57a2f93
Commit
b57a2f93
authored
Dec 02, 2007
by
James Hawkins
Committed by
Alexandre Julliard
Dec 03, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Implement the Version property of the Installer object.
parent
6a30e1b0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
28 additions
and
6 deletions
+28
-6
automation.c
dlls/msi/automation.c
+21
-0
msiserver.idl
dlls/msi/msiserver.idl
+2
-0
msiserver_dispids.h
dlls/msi/msiserver_dispids.h
+1
-0
automation.c
dlls/msi/tests/automation.c
+4
-6
No files found.
dlls/msi/automation.c
View file @
b57a2f93
...
...
@@ -30,6 +30,7 @@
#include "msipriv.h"
#include "activscp.h"
#include "oleauto.h"
#include "shlwapi.h"
#include "wine/debug.h"
#include "wine/unicode.h"
...
...
@@ -1648,6 +1649,26 @@ static HRESULT WINAPI InstallerImpl_Invoke(
else
return
DISP_E_MEMBERNOTFOUND
;
break
;
case
DISPID_INSTALLER_VERSION
:
if
(
wFlags
&
DISPATCH_PROPERTYGET
)
{
DLLVERSIONINFO
verinfo
;
WCHAR
version
[
MAX_PATH
];
static
const
WCHAR
format
[]
=
{
'%'
,
'd'
,
'.'
,
'%'
,
'd'
,
'.'
,
'%'
,
'd'
,
'.'
,
'%'
,
'd'
,
0
};
verinfo
.
cbSize
=
sizeof
(
DLLVERSIONINFO
);
hr
=
DllGetVersion
(
&
verinfo
);
if
(
FAILED
(
hr
))
return
hr
;
sprintfW
(
version
,
format
,
verinfo
.
dwMajorVersion
,
verinfo
.
dwMinorVersion
,
verinfo
.
dwBuildNumber
,
verinfo
.
dwPlatformID
);
V_VT
(
pVarResult
)
=
VT_BSTR
;
V_BSTR
(
pVarResult
)
=
SysAllocString
(
version
);
}
else
return
DISP_E_MEMBERNOTFOUND
;
break
;
case
DISPID_INSTALLER_REGISTRYVALUE
:
if
(
wFlags
&
DISPATCH_METHOD
)
{
HKEY
hkey
;
...
...
dlls/msi/msiserver.idl
View file @
b57a2f93
...
...
@@ -145,6 +145,8 @@ library WindowsInstaller
void
InstallProduct
(
[
in
]
BSTR
PackagePath
,
[
in
,
optional
,
defaultvalue
(
"0
")] BSTR PropertyValues);
[id(DISPID_INSTALLER_VERSION)]
BSTR Version();
[id(DISPID_INSTALLER_REGISTRYVALUE), propget]
BSTR RegistryValue(
[in] VARIANT Root,
...
...
dlls/msi/msiserver_dispids.h
View file @
b57a2f93
...
...
@@ -20,6 +20,7 @@
#define DISPID_INSTALLER_OPENPACKAGE 2
#define DISPID_INSTALLER_OPENDATABASE 4
#define DISPID_INSTALLER_INSTALLPRODUCT 8
#define DISPID_INSTALLER_VERSION 9
#define DISPID_INSTALLER_REGISTRYVALUE 11
#define DISPID_INSTALLER_PRODUCTSTATE 17
#define DISPID_INSTALLER_PRODUCTINFO 18
...
...
dlls/msi/tests/automation.c
View file @
b57a2f93
...
...
@@ -475,8 +475,8 @@ static void test_dispid(void)
ok
(
get_dispid
(
pInstaller
,
"EnableLog"
)
==
7
,
"dispid wrong
\n
"
);
}
ok
(
get_dispid
(
pInstaller
,
"InstallProduct"
)
==
8
,
"dispid wrong
\n
"
);
todo_wine
{
ok
(
get_dispid
(
pInstaller
,
"Version"
)
==
9
,
"dispid wrong
\n
"
);
todo_wine
{
ok
(
get_dispid
(
pInstaller
,
"LastErrorRecord"
)
==
10
,
"dispid wrong
\n
"
);
}
ok
(
get_dispid
(
pInstaller
,
"RegistryValue"
)
==
11
,
"dispid wrong
\n
"
);
...
...
@@ -2379,11 +2379,9 @@ static void test_Installer(void)
}
/* Installer::Version */
todo_wine
{
memset
(
szPath
,
0
,
sizeof
(
szPath
));
hr
=
Installer_VersionGet
(
szPath
);
ok
(
hr
==
S_OK
,
"Installer_VersionGet failed, hresult 0x%08x
\n
"
,
hr
);
}
memset
(
szPath
,
0
,
sizeof
(
szPath
));
hr
=
Installer_VersionGet
(
szPath
);
ok
(
hr
==
S_OK
,
"Installer_VersionGet failed, hresult 0x%08x
\n
"
,
hr
);
/* Installer::InstallProduct and other tests that depend on our product being installed */
test_Installer_InstallProduct
();
...
...
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