Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
eb18bd94
Commit
eb18bd94
authored
Oct 11, 2006
by
Mike McCormack
Committed by
Alexandre Julliard
Oct 11, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msi: Check transforms have the correct storage guid.
parent
ee55546d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
8 deletions
+20
-8
msiquery.c
dlls/msi/msiquery.c
+20
-8
No files found.
dlls/msi/msiquery.c
View file @
eb18bd94
...
...
@@ -37,6 +37,8 @@
#include "query.h"
#include "initguid.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
msi
);
static
void
MSI_CloseView
(
MSIOBJECTHDR
*
arg
)
...
...
@@ -737,30 +739,40 @@ MSIHANDLE WINAPI MsiGetLastErrorRecord( void )
DEFINE_GUID
(
CLSID_MsiTransform
,
0x000c1082
,
0x0000
,
0x0000
,
0xc0
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x46
);
UINT
MSI_DatabaseApplyTransformW
(
MSIDATABASE
*
db
,
UINT
MSI_DatabaseApplyTransformW
(
MSIDATABASE
*
db
,
LPCWSTR
szTransformFile
,
int
iErrorCond
)
{
UINT
r
;
HRESULT
r
;
UINT
ret
=
ERROR_FUNCTION_FAILED
;
IStorage
*
stg
=
NULL
;
STATSTG
stat
;
TRACE
(
"%p %s %d
\n
"
,
db
,
debugstr_w
(
szTransformFile
),
iErrorCond
);
r
=
StgOpenStorage
(
szTransformFile
,
NULL
,
STGM_DIRECT
|
STGM_READ
|
STGM_SHARE_DENY_WRITE
,
NULL
,
0
,
&
stg
);
if
(
r
)
return
r
;
if
(
FAILED
(
r
)
)
return
ret
;
r
=
IStorage_Stat
(
stg
,
&
stat
,
STATFLAG_NONAME
);
if
(
FAILED
(
r
)
)
goto
end
;
if
(
!
IsEqualGUID
(
&
stat
.
clsid
,
&
CLSID_MsiTransform
)
)
goto
end
;
if
(
TRACE_ON
(
msi
)
)
enum_stream_names
(
stg
);
r
=
msi_table_apply_transform
(
db
,
stg
);
r
et
=
msi_table_apply_transform
(
db
,
stg
);
end:
IStorage_Release
(
stg
);
return
r
;
return
r
et
;
}
UINT
WINAPI
MsiDatabaseApplyTransformW
(
MSIHANDLE
hdb
,
UINT
WINAPI
MsiDatabaseApplyTransformW
(
MSIHANDLE
hdb
,
LPCWSTR
szTransformFile
,
int
iErrorCond
)
{
MSIDATABASE
*
db
;
...
...
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