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
c6f155a5
Commit
c6f155a5
authored
Jul 11, 2005
by
Aric Stewart
Committed by
Alexandre Julliard
Jul 11, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add the string constants located in msi.h and make use of them in
files.c and source.c.
parent
18116dec
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
236 additions
and
44 deletions
+236
-44
files.c
dlls/msi/files.c
+8
-10
source.c
dlls/msi/source.c
+27
-34
msi.h
include/msi.h
+201
-0
No files found.
dlls/msi/files.c
View file @
c6f155a5
...
@@ -55,8 +55,6 @@ extern const WCHAR szRemoveDuplicateFiles[];
...
@@ -55,8 +55,6 @@ extern const WCHAR szRemoveDuplicateFiles[];
extern
const
WCHAR
szRemoveFiles
[];
extern
const
WCHAR
szRemoveFiles
[];
static
const
WCHAR
cszTempFolder
[]
=
{
'T'
,
'e'
,
'm'
,
'p'
,
'F'
,
'o'
,
'l'
,
'd'
,
'e'
,
'r'
,
0
};
static
const
WCHAR
cszTempFolder
[]
=
{
'T'
,
'e'
,
'm'
,
'p'
,
'F'
,
'o'
,
'l'
,
'd'
,
'e'
,
'r'
,
0
};
static
const
WCHAR
INSTALLPROPERTY_LASTUSEDSOURCE
[]
=
{
'L'
,
'a'
,
's'
,
't'
,
'U'
,
's'
,
'e'
,
'd'
,
'S'
,
'o'
,
'u'
,
'r'
,
'c'
,
'e'
,
0
};
static
const
WCHAR
INSTALLPROPERTY_PACKAGENAME
[]
=
{
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
inline
static
UINT
create_component_directory
(
MSIPACKAGE
*
package
,
INT
component
)
inline
static
UINT
create_component_directory
(
MSIPACKAGE
*
package
,
INT
component
)
{
{
...
@@ -508,12 +506,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
...
@@ -508,12 +506,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
last_path
);
else
else
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
last_path
);
msiobj_release
(
&
row
->
hdr
);
msiobj_release
(
&
row
->
hdr
);
return
rc
;
return
rc
;
}
}
...
@@ -541,7 +539,7 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
...
@@ -541,7 +539,7 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
path
);
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
path
);
HeapFree
(
GetProcessHeap
(),
0
,
path
);
HeapFree
(
GetProcessHeap
(),
0
,
path
);
}
}
...
@@ -565,12 +563,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
...
@@ -565,12 +563,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
last_path
);
else
else
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
last_path
);
/* extract the cab file into a folder in the temp folder */
/* extract the cab file into a folder in the temp folder */
sz
=
MAX_PATH
;
sz
=
MAX_PATH
;
...
@@ -596,12 +594,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
...
@@ -596,12 +594,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
last_path
);
else
else
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
last_path
);
}
}
set_file_source
(
package
,
file
,
comp
,
last_path
);
set_file_source
(
package
,
file
,
comp
,
last_path
);
...
@@ -666,7 +664,7 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
...
@@ -666,7 +664,7 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
,
MSICODE_PRODUCT
,
INSTALLPROPERTY_PACKAGENAME
,
ptr
);
INSTALLPROPERTY_PACKAGENAME
stringW
,
ptr
);
}
}
FIXME
(
"Write DiskPrompt
\n
"
);
FIXME
(
"Write DiskPrompt
\n
"
);
...
...
dlls/msi/source.c
View file @
c6f155a5
...
@@ -44,13 +44,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
...
@@ -44,13 +44,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(msi);
* These apis are defined in MSI 3.0
* These apis are defined in MSI 3.0
*/
*/
static
const
WCHAR
INSTALLPROPERTY_MEDIAPACKAGEPATH
[]
=
{
'M'
,
'e'
,
'd'
,
'i'
,
'a'
,
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'P'
,
'a'
,
't'
,
'h'
,
0
};
static
const
WCHAR
INSTALLPROPERTY_DISKPROMPT
[]
=
{
'D'
,
'i'
,
's'
,
'k'
,
'P'
,
'r'
,
'o'
,
'm'
,
'p'
,
't'
,
0
};
static
const
WCHAR
INSTALLPROPERTY_LASTUSEDSOURCE
[]
=
{
'L'
,
'a'
,
's'
,
't'
,
'U'
,
's'
,
'e'
,
'd'
,
'S'
,
'o'
,
'u'
,
'r'
,
'c'
,
'e'
,
0
};
static
const
WCHAR
INSTALLPROPERTY_LASTUSEDTYPE
[]
=
{
'L'
,
'a'
,
's'
,
't'
,
'U'
,
's'
,
'e'
,
'd'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
static
const
WCHAR
INSTALLPROPERTY_PACKAGENAME
[]
=
{
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
typedef
struct
tagMediaInfo
typedef
struct
tagMediaInfo
{
{
LPWSTR
path
;
LPWSTR
path
;
...
@@ -194,43 +187,43 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
...
@@ -194,43 +187,43 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
if
(
rc
!=
ERROR_SUCCESS
)
if
(
rc
!=
ERROR_SUCCESS
)
return
ERROR_UNKNOWN_PRODUCT
;
return
ERROR_UNKNOWN_PRODUCT
;
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
)
==
0
)
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
stringW
)
==
0
)
{
{
HKEY
key
;
HKEY
key
;
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
,
0
,
0
,
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
stringW
,
(
LPBYTE
)
szValue
,
pcchValue
);
0
,
0
,
(
LPBYTE
)
szValue
,
pcchValue
);
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
RegCloseKey
(
key
);
}
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPT
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPT
stringW
)
==
0
)
{
{
HKEY
key
;
HKEY
key
;
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPT
,
0
,
0
,
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPT
stringW
,
0
,
0
,
(
LPBYTE
)
szValue
,
pcchValue
);
(
LPBYTE
)
szValue
,
pcchValue
);
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
RegCloseKey
(
key
);
}
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCE
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
)
==
0
)
{
{
LPWSTR
buffer
;
LPWSTR
buffer
;
DWORD
size
=
0
;
DWORD
size
=
0
;
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
0
,
0
,
NULL
,
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
0
,
0
,
&
size
);
NULL
,
&
size
);
if
(
size
==
0
)
if
(
size
==
0
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
else
else
{
{
LPWSTR
ptr
;
LPWSTR
ptr
;
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
0
,
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
0
,
(
LPBYTE
)
buffer
,
&
size
);
0
,
0
,
(
LPBYTE
)
buffer
,
&
size
);
ptr
=
strchrW
(
buffer
,
';'
);
ptr
=
strchrW
(
buffer
,
';'
);
ptr
=
strchrW
(
ptr
,
';'
);
ptr
=
strchrW
(
ptr
,
';'
);
if
(
!
ptr
)
if
(
!
ptr
)
...
@@ -250,20 +243,20 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
...
@@ -250,20 +243,20 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
}
}
}
}
else
if
(
strcmpW
(
INSTALLPROPERTY_LASTUSEDTYPE
,
szProperty
)
==
0
)
else
if
(
strcmpW
(
INSTALLPROPERTY_LASTUSEDTYPE
stringW
,
szProperty
)
==
0
)
{
{
LPWSTR
buffer
;
LPWSTR
buffer
;
DWORD
size
=
0
;
DWORD
size
=
0
;
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
0
,
0
,
NULL
,
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
0
,
0
,
&
size
);
NULL
,
&
size
);
if
(
size
==
0
)
if
(
size
==
0
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
else
else
{
{
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
0
,
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
0
,
(
LPBYTE
)
buffer
,
&
size
);
0
,
0
,
(
LPBYTE
)
buffer
,
&
size
);
if
(
*
pcchValue
<
1
)
if
(
*
pcchValue
<
1
)
{
{
rc
=
ERROR_MORE_DATA
;
rc
=
ERROR_MORE_DATA
;
...
@@ -277,9 +270,9 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
...
@@ -277,9 +270,9 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
}
}
}
}
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAME
,
szProperty
)
==
0
)
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAME
stringW
,
szProperty
)
==
0
)
{
{
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAME
,
0
,
0
,
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAME
stringW
,
0
,
0
,
(
LPBYTE
)
szValue
,
pcchValue
);
(
LPBYTE
)
szValue
,
pcchValue
);
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
...
@@ -331,31 +324,31 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
...
@@ -331,31 +324,31 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
return
ERROR_UNKNOWN_PRODUCT
;
return
ERROR_UNKNOWN_PRODUCT
;
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
)
==
0
)
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
stringW
)
==
0
)
{
{
HKEY
key
;
HKEY
key
;
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
,
0
,
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
stringW
,
0
,
REG_SZ
,
(
LPBYTE
)
szValue
,
size
);
REG_SZ
,
(
LPBYTE
)
szValue
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
RegCloseKey
(
key
);
}
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPT
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPT
stringW
)
==
0
)
{
{
HKEY
key
;
HKEY
key
;
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPT
,
0
,
REG_SZ
,
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPT
stringW
,
0
,
(
LPBYTE
)
szValue
,
size
);
REG_SZ
,
(
LPBYTE
)
szValue
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
RegCloseKey
(
key
);
}
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCE
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
)
==
0
)
{
{
LPWSTR
buffer
=
NULL
;
LPWSTR
buffer
=
NULL
;
DWORD
size
;
DWORD
size
;
...
@@ -378,17 +371,17 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
...
@@ -378,17 +371,17 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
size
=
(
lstrlenW
(
szValue
)
+
5
)
*
sizeof
(
WCHAR
);
size
=
(
lstrlenW
(
szValue
)
+
5
)
*
sizeof
(
WCHAR
);
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
sprintfW
(
buffer
,
LastUsedSource_Fmt
,
typechar
,
1
,
szValue
);
sprintfW
(
buffer
,
LastUsedSource_Fmt
,
typechar
,
1
,
szValue
);
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
,
0
,
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
stringW
,
0
,
REG_EXPAND_SZ
,
(
LPBYTE
)
buffer
,
size
);
REG_EXPAND_SZ
,
(
LPBYTE
)
buffer
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
}
}
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAME
,
szProperty
)
==
0
)
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAME
stringW
,
szProperty
)
==
0
)
{
{
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAME
,
0
,
REG_SZ
,
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAME
stringW
,
0
,
(
LPBYTE
)
szValue
,
size
);
REG_SZ
,
(
LPBYTE
)
szValue
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
rc
=
ERROR_UNKNOWN_PROPERTY
;
}
}
...
...
include/msi.h
View file @
c6f155a5
...
@@ -175,6 +175,202 @@ typedef enum tagMSICODE
...
@@ -175,6 +175,202 @@ typedef enum tagMSICODE
#define MAX_FEATURE_CHARS 38
#define MAX_FEATURE_CHARS 38
/* Strings defined in msi.h */
/* Advertised Information */
static
const
WCHAR
INSTALLPROPERTY_PACKAGENAMEstringW
[]
=
{
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#define INSTALLPROPERTY_PACKAGENAMEA "PackageName"
#define INSTALLPROPERTY_PACKAGENAMEW WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGENAMEstring)
#define INSTALLPROPERTY_PACKAGENAME WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGENAME)
static
const
WCHAR
INSTALLPROPERTY_TRANSFORMSstringW
[]
=
{
'T'
,
'r'
,
'a'
,
'n'
,
's'
,
'f'
,
'o'
,
'r'
,
'm'
,
's'
,
0
};
#define INSTALLPROPERTY_TRANSFORMSA "Transforms"
#define INSTALLPROPERTY_TRANSFORMSW WINELIB_NAME_AW(INSTALLPROPERTY_TRANSFORMSstring)
#define INSTALLPROPERTY_TRANSFORMS WINELIB_NAME_AW(INSTALLPROPERTY_TRANSFORMS)
static
const
WCHAR
INSTALLPROPERTY_LANGUAGEstringW
[]
=
{
'L'
,
'a'
,
'n'
,
'g'
,
'u'
,
'a'
,
'g'
,
'e'
,
0
};
#define INSTALLPROPERTY_LANGUAGEA "Language"
#define INSTALLPROPERTY_LANGUAGEW WINELIB_NAME_AW(INSTALLPROPERTY_LANGUAGEstring)
#define INSTALLPROPERTY_LANGUAGE WINELIB_NAME_AW(INSTALLPROPERTY_LANGUAGE)
static
const
WCHAR
INSTALLPROPERTY_PRODUCTNAMEstringW
[]
=
{
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#define INSTALLPROPERTY_PRODUCTNAMEA "ProductName"
#define INSTALLPROPERTY_PRODUCTNAMEW WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTNAMEstring)
#define INSTALLPROPERTY_PRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTNAME)
static
const
WCHAR
INSTALLPROPERTY_ASSIGNMENTTYPEstringW
[]
=
{
'A'
,
's'
,
's'
,
'i'
,
'g'
,
'n'
,
'm'
,
'e'
,
'n'
,
't'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#define INSTALLPROPERTY_ASSIGNMENTTYPEA "AssignmentType"
#define INSTALLPROPERTY_ASSIGNMENTTYPEW WINELIB_NAME_AW(INSTALLPROPERTY_ASSIGNMENTTYPEstring)
#define INSTALLPROPERTY_ASSIGNMENTTYPE WINELIB_NAME_AW(INSTALLPROPERTY_ASSIGNMENTTYPE)
static
const
WCHAR
INSTALLPROPERTY_PACKAGECODEstringW
[]
=
{
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'C'
,
'o'
,
'd'
,
'e'
,
0
};
#define INSTALLPROPERTY_PACKAGECODEA "PackageCode"
#define INSTALLPROPERTY_PACKAGECODEW WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGECODEstring)
#define INSTALLPROPERTY_PACKAGECODE WINELIB_NAME_AW(INSTALLPROPERTY_PACKAGECODE)
static
const
WCHAR
INSTALLPROPERTY_VERSIONstringW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
0
};
#define INSTALLPROPERTY_VERSIONA "Version"
#define INSTALLPROPERTY_VERSIONW WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONstring)
#define INSTALLPROPERTY_VERSION WINELIB_NAME_AW(INSTALLPROPERTY_VERSION)
/* MSI version 1.1 and above */
static
const
WCHAR
INSTALLPROPERTY_PRODUCTICONstringW
[]
=
{
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'I'
,
'c'
,
'o'
,
'n'
,
0
};
#define INSTALLPROPERTY_PRODUCTICONA "ProductIcon"
#define INSTALLPROPERTY_PRODUCTICONW WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTICONstring)
#define INSTALLPROPERTY_PRODUCTICON WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTICON)
/* MSI version 1.5 and above */
static
const
WCHAR
INSTALLPROPERTY_INSTANCETYPEstringW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'n'
,
'c'
,
'e'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#define INSTALLPROPERTY_INSTANCETYPEA "InstanceType"
#define INSTALLPROPERTY_INSTANCETYPEW WINELIB_NAME_AW(INSTALLPROPERTY_INSTANCETYPEstring)
#define INSTALLPROPERTY_INSTANCETYPE WINELIB_NAME_AW(INSTALLPROPERTY_INSTANCETYPE)
/* MSI version 3 and above */
static
const
WCHAR
INSTALLPROPERTY_AUTHORIZED_LUA_APPstringW
[]
=
{
'A'
,
'u'
,
't'
,
'h'
,
'o'
,
'r'
,
'i'
,
'z'
,
'e'
,
'd'
,
'L'
,
'U'
,
'A'
,
'A'
,
'p'
,
'p'
,
0
};
#define INSTALLPROPERTY_AUTHORIZED_LUA_APPA "AuthorizedLUAApp"
#define INSTALLPROPERTY_AUTHORIZED_LUA_APPW WINELIB_NAME_AW(INSTALLPROPERTY_AUTHORIZED_LUA_APPstring)
#define INSTALLPROPERTY_AUTHORIZED_LUA_APP WINELIB_NAME_AW(INSTALLPROPERTY_AUTHORIZED_LUA_APP)
/* Installed Information */
static
const
WCHAR
INSTALLPROPERTY_INSTALLEDPRODUCTNAMEstringW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'e'
,
'd'
,
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#define INSTALLPROPERTY_INSTALLEDPRODUCTNAMEA "InstalledProductName"
#define INSTALLPROPERTY_INSTALLEDPRODUCTNAMEW WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLEDPRODUCTNAMEstring)
#define INSTALLPROPERTY_INSTALLEDPRODUCTNAME WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLEDPRODUCTNAME)
static
const
WCHAR
INSTALLPROPERTY_VERSIONSTRINGstringW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'S'
,
't'
,
'r'
,
'i'
,
'n'
,
'g'
,
0
};
#define INSTALLPROPERTY_VERSIONSTRINGA "VersionString"
#define INSTALLPROPERTY_VERSIONSTRINGW WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONSTRINGstring)
#define INSTALLPROPERTY_VERSIONSTRING WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONSTRING)
static
const
WCHAR
INSTALLPROPERTY_HELPLINKstringW
[]
=
{
'H'
,
'e'
,
'l'
,
'p'
,
'L'
,
'i'
,
'n'
,
'k'
,
0
};
#define INSTALLPROPERTY_HELPLINKA "HelpLink"
#define INSTALLPROPERTY_HELPLINKW WINELIB_NAME_AW(INSTALLPROPERTY_HELPLINKstring)
#define INSTALLPROPERTY_HELPLINK WINELIB_NAME_AW(INSTALLPROPERTY_HELPLINK)
static
const
WCHAR
INSTALLPROPERTY_HELPTELEPHONEstringW
[]
=
{
'H'
,
'e'
,
'l'
,
'p'
,
'T'
,
'e'
,
'l'
,
'e'
,
'p'
,
'h'
,
'o'
,
'n'
,
'e'
,
0
};
#define INSTALLPROPERTY_HELPTELEPHONEA "HelpTelephone"
#define INSTALLPROPERTY_HELPTELEPHONEW WINELIB_NAME_AW(INSTALLPROPERTY_HELPTELEPHONEstring)
#define INSTALLPROPERTY_HELPTELEPHONE WINELIB_NAME_AW(INSTALLPROPERTY_HELPTELEPHONE)
static
const
WCHAR
INSTALLPROPERTY_INSTALLLOCATIONstringW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'L'
,
'o'
,
'c'
,
'a'
,
't'
,
'i'
,
'o'
,
'n'
,
0
};
#define INSTALLPROPERTY_INSTALLLOCATIONA "InstallLocation"
#define INSTALLPROPERTY_INSTALLLOCATIONW WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLLOCATIONstring)
#define INSTALLPROPERTY_INSTALLLOCATION WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLLOCATION)
static
const
WCHAR
INSTALLPROPERTY_INSTALLSOURCEstringW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'S'
,
'o'
,
'u'
,
'r'
,
'c'
,
'e'
,
0
};
#define INSTALLPROPERTY_INSTALLSOURCEA "InstallSource"
#define INSTALLPROPERTY_INSTALLSOURCEW WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLSOURCEstring)
#define INSTALLPROPERTY_INSTALLSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLSOURCE)
static
const
WCHAR
INSTALLPROPERTY_INSTALLDATEstringW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'D'
,
'a'
,
't'
,
'e'
,
0
};
#define INSTALLPROPERTY_INSTALLDATEA "InstallDate"
#define INSTALLPROPERTY_INSTALLDATEW WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLDATEstring)
#define INSTALLPROPERTY_INSTALLDATE WINELIB_NAME_AW(INSTALLPROPERTY_INSTALLDATE)
static
const
WCHAR
INSTALLPROPERTY_PUBLISHERstringW
[]
=
{
'P'
,
'u'
,
'b'
,
'l'
,
'i'
,
's'
,
'h'
,
'e'
,
'r'
,
0
};
#define INSTALLPROPERTY_PUBLISHERA "Publisher"
#define INSTALLPROPERTY_PUBLISHERW WINELIB_NAME_AW(INSTALLPROPERTY_PUBLISHERstring)
#define INSTALLPROPERTY_PUBLISHER WINELIB_NAME_AW(INSTALLPROPERTY_PUBLISHER)
static
const
WCHAR
INSTALLPROPERTY_LOCALPACKAGEstringW
[]
=
{
'L'
,
'o'
,
'c'
,
'a'
,
'l'
,
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
0
};
#define INSTALLPROPERTY_LOCALPACKAGEA "LocalPackage"
#define INSTALLPROPERTY_LOCALPACKAGEW WINELIB_NAME_AW(INSTALLPROPERTY_LOCALPACKAGEstring)
#define INSTALLPROPERTY_LOCALPACKAGE WINELIB_NAME_AW(INSTALLPROPERTY_LOCALPACKAGE)
static
const
WCHAR
INSTALLPROPERTY_URLINFOABOUTstringW
[]
=
{
'U'
,
'R'
,
'L'
,
'I'
,
'n'
,
'f'
,
'o'
,
'A'
,
'b'
,
'o'
,
'u'
,
't'
,
0
};
#define INSTALLPROPERTY_URLINFOABOUTA "URLInfoAbout"
#define INSTALLPROPERTY_URLINFOABOUTW WINELIB_NAME_AW(INSTALLPROPERTY_URLINFOABOUTstring)
#define INSTALLPROPERTY_URLINFOABOUT WINELIB_NAME_AW(INSTALLPROPERTY_URLINFOABOUT)
static
const
WCHAR
INSTALLPROPERTY_URLUPDATEINFOstringW
[]
=
{
'U'
,
'R'
,
'L'
,
'U'
,
'p'
,
'd'
,
'a'
,
't'
,
'e'
,
'I'
,
'n'
,
'f'
,
'o'
,
0
};
#define INSTALLPROPERTY_URLUPDATEINFOA "URLUpdateInfo"
#define INSTALLPROPERTY_URLUPDATEINFOW WINELIB_NAME_AW(INSTALLPROPERTY_URLUPDATEINFOstring)
#define INSTALLPROPERTY_URLUPDATEINFO WINELIB_NAME_AW(INSTALLPROPERTY_URLUPDATEINFO)
static
const
WCHAR
INSTALLPROPERTY_VERSIONMINORstringW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'M'
,
'i'
,
'n'
,
'o'
,
'r'
,
0
};
#define INSTALLPROPERTY_VERSIONMINORA "VersionMinor"
#define INSTALLPROPERTY_VERSIONMINORW WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMINORstring)
#define INSTALLPROPERTY_VERSIONMINOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMINOR)
static
const
WCHAR
INSTALLPROPERTY_VERSIONMAJORstringW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'M'
,
'a'
,
'j'
,
'o'
,
'r'
,
0
};
#define INSTALLPROPERTY_VERSIONMAJORA "VersionMajor"
#define INSTALLPROPERTY_VERSIONMAJORW WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMAJORstring)
#define INSTALLPROPERTY_VERSIONMAJOR WINELIB_NAME_AW(INSTALLPROPERTY_VERSIONMAJOR)
static
const
WCHAR
INSTALLPROPERTY_PRODUCTIDstringW
[]
=
{
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'I'
,
'D'
,
0
};
#define INSTALLPROPERTY_PRODUCTIDA "ProductID"
#define INSTALLPROPERTY_PRODUCTIDW WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTIDstring)
#define INSTALLPROPERTY_PRODUCTID WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTID)
static
const
WCHAR
INSTALLPROPERTY_REGCOMPANYstringW
[]
=
{
'R'
,
'e'
,
'g'
,
'C'
,
'o'
,
'm'
,
'p'
,
'a'
,
'n'
,
'y'
,
0
};
#define INSTALLPROPERTY_REGCOMPANYA "RegCompany"
#define INSTALLPROPERTY_REGCOMPANYW WINELIB_NAME_AW(INSTALLPROPERTY_REGCOMPANYstring)
#define INSTALLPROPERTY_REGCOMPANY WINELIB_NAME_AW(INSTALLPROPERTY_REGCOMPANY)
static
const
WCHAR
INSTALLPROPERTY_REGOWNERstringW
[]
=
{
'R'
,
'e'
,
'g'
,
'O'
,
'w'
,
'n'
,
'e'
,
'r'
,
0
};
#define INSTALLPROPERTY_REGOWNERA "RegOwner"
#define INSTALLPROPERTY_REGOWNERW WINELIB_NAME_AW(INSTALLPROPERTY_REGOWNERstring)
#define INSTALLPROPERTY_REGOWNER WINELIB_NAME_AW(INSTALLPROPERTY_REGOWNER)
/* MSI Version 3.0 and greater */
static
const
WCHAR
INSTALLPROPERTY_UNINSTALLABLEstringW
[]
=
{
'U'
,
'n'
,
'i'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'a'
,
'b'
,
'l'
,
'e'
,
0
};
#define INSTALLPROPERTY_UNINSTALLABLEA "Uninstallable"
#define INSTALLPROPERTY_UNINSTALLABLEW WINELIB_NAME_AW(INSTALLPROPERTY_UNINSTALLABLEstring)
#define INSTALLPROPERTY_UNINSTALLABLE WINELIB_NAME_AW(INSTALLPROPERTY_UNINSTALLABLE)
static
const
WCHAR
INSTALLPROPERTY_PRODUCTSTATEstringW
[]
=
{
'S'
,
't'
,
'a'
,
't'
,
'e'
,
0
};
#define INSTALLPROPERTY_PRODUCTSTATEA "State"
#define INSTALLPROPERTY_PRODUCTSTATEW WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTSTATEstring)
#define INSTALLPROPERTY_PRODUCTSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PRODUCTSTATE)
static
const
WCHAR
INSTALLPROPERTY_PATCHSTATEstringW
[]
=
{
'S'
,
't'
,
'a'
,
't'
,
'e'
,
0
};
#define INSTALLPROPERTY_PATCHSTATEA "State"
#define INSTALLPROPERTY_PATCHSTATEW WINELIB_NAME_AW(INSTALLPROPERTY_PATCHSTATEstring)
#define INSTALLPROPERTY_PATCHSTATE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHSTATE)
static
const
WCHAR
INSTALLPROPERTY_PATCHTYPEstringW
[]
=
{
'P'
,
'a'
,
't'
,
'c'
,
'h'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#define INSTALLPROPERTY_PATCHTYPEA "PatchType"
#define INSTALLPROPERTY_PATCHTYPEW WINELIB_NAME_AW(INSTALLPROPERTY_PATCHTYPEstring)
#define INSTALLPROPERTY_PATCHTYPE WINELIB_NAME_AW(INSTALLPROPERTY_PATCHTYPE)
static
const
WCHAR
INSTALLPROPERTY_LUAENABLEDstringW
[]
=
{
'L'
,
'U'
,
'A'
,
'E'
,
'n'
,
'a'
,
'b'
,
'l'
,
'e'
,
'd'
,
0
};
#define INSTALLPROPERTY_LUAENABLEDA "LUAEnabled"
#define INSTALLPROPERTY_LUAENABLEDW WINELIB_NAME_AW(INSTALLPROPERTY_LUAENABLEDstring)
#define INSTALLPROPERTY_LUAENABLED WINELIB_NAME_AW(INSTALLPROPERTY_LUAENABLED)
static
const
WCHAR
INSTALLPROPERTY_DISPLAYNAMEstringW
[]
=
{
'D'
,
'i'
,
's'
,
'p'
,
'l'
,
'a'
,
'y'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#define INSTALLPROPERTY_DISPLAYNAMEA "DisplayName"
#define INSTALLPROPERTY_DISPLAYNAMEW WINELIB_NAME_AW(INSTALLPROPERTY_DISPLAYNAMEstring)
#define INSTALLPROPERTY_DISPLAYNAME WINELIB_NAME_AW(INSTALLPROPERTY_DISPLAYNAME)
static
const
WCHAR
INSTALLPROPERTY_MOREINFOURLstringW
[]
=
{
'M'
,
'o'
,
'r'
,
'e'
,
'I'
,
'n'
,
'f'
,
'o'
,
'U'
,
'R'
,
'L'
,
0
};
#define INSTALLPROPERTY_MOREINFOURLA "MoreInfoURL"
#define INSTALLPROPERTY_MOREINFOURLW WINELIB_NAME_AW(INSTALLPROPERTY_MOREINFOURLstring)
#define INSTALLPROPERTY_MOREINFOURL WINELIB_NAME_AW(INSTALLPROPERTY_MOREINFOURL)
/* Source List Info */
static
const
WCHAR
INSTALLPROPERTY_LASTUSEDSOURCEstringW
[]
=
{
'L'
,
'a'
,
's'
,
't'
,
'U'
,
's'
,
'e'
,
'd'
,
'S'
,
'o'
,
'u'
,
'r'
,
'c'
,
'e'
,
0
};
#define INSTALLPROPERTY_LASTUSEDSOURCEA "LastUsedSource"
#define INSTALLPROPERTY_LASTUSEDSOURCEW WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDSOURCEstring)
#define INSTALLPROPERTY_LASTUSEDSOURCE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDSOURCEW)
static
const
WCHAR
INSTALLPROPERTY_LASTUSEDTYPEstringW
[]
=
{
'L'
,
'a'
,
's'
,
't'
,
'U'
,
's'
,
'e'
,
'd'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#define INSTALLPROPERTY_LASTUSEDTYPEA "LastUsedType"
#define INSTALLPROPERTY_LASTUSEDTYPEW WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDTYPEstringW)
#define INSTALLPROPERTY_LASTUSEDTYPE WINELIB_NAME_AW(INSTALLPROPERTY_LASTUSEDTYPE)
static
const
WCHAR
INSTALLPROPERTY_MEDIAPACKAGEPATHstringW
[]
=
{
'M'
,
'e'
,
'd'
,
'i'
,
'a'
,
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'P'
,
'a'
,
't'
,
'h'
,
0
};
#define INSTALLPROPERTY_MEDIAPACKAGEPATHA "MediaPackagePath"
#define INSTALLPROPERTY_MEDIAPACKAGEPATHW WINELIB_NAME_AW(INSTALLPROPERTY_MEDIAPACKAGEPATHstring)
#define INSTALLPROPERTY_MEDIAPACKAGEPATH WINELIB_NAME_AW(INSTALLPROPERTY_MEDIAPACKAGEPATH)
static
const
WCHAR
INSTALLPROPERTY_DISKPROMPTstringW
[]
=
{
'D'
,
'i'
,
's'
,
'k'
,
'P'
,
'r'
,
'o'
,
'm'
,
'p'
,
't'
,
0
};
#define INSTALLPROPERTY_DISKPROMPTA "DiskPrompt"
#define INSTALLPROPERTY_DISKPROMPTW WINELIB_NAME_AW(INSTALLPROPERTY_DISKPROMPTstringW)
#define INSTALLPROPERTY_DISKPROMPT WINELIB_NAME_AW(INSTALLPROPERTY_DISKPROMPT)
typedef
INT
(
CALLBACK
*
INSTALLUI_HANDLERA
)(
LPVOID
,
UINT
,
LPCSTR
);
typedef
INT
(
CALLBACK
*
INSTALLUI_HANDLERA
)(
LPVOID
,
UINT
,
LPCSTR
);
typedef
INT
(
CALLBACK
*
INSTALLUI_HANDLERW
)(
LPVOID
,
UINT
,
LPCWSTR
);
typedef
INT
(
CALLBACK
*
INSTALLUI_HANDLERW
)(
LPVOID
,
UINT
,
LPCWSTR
);
...
@@ -351,6 +547,11 @@ UINT WINAPI MsiCloseHandle(MSIHANDLE);
...
@@ -351,6 +547,11 @@ UINT WINAPI MsiCloseHandle(MSIHANDLE);
UINT
WINAPI
MsiCloseAllHandles
(
void
);
UINT
WINAPI
MsiCloseAllHandles
(
void
);
INSTALLUILEVEL
WINAPI
MsiSetInternalUI
(
INSTALLUILEVEL
,
HWND
*
);
INSTALLUILEVEL
WINAPI
MsiSetInternalUI
(
INSTALLUILEVEL
,
HWND
*
);
UINT
WINAPI
MsiSourceListGetInfoW
(
LPCWSTR
,
LPCWSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
LPCWSTR
,
LPWSTR
,
LPDWORD
);
UINT
WINAPI
MsiSourceListSetInfoW
(
LPCWSTR
,
LPCWSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
LPCWSTR
,
LPCWSTR
);
UINT
WINAPI
MsiSourceListAddSourceExW
(
LPCWSTR
,
LPCWSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
LPCWSTR
,
DWORD
);
UINT
WINAPI
MsiSourceListAddMediaDiskW
(
LPCWSTR
,
LPCWSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
DWORD
,
LPCWSTR
,
LPCWSTR
);
UINT
WINAPI
MsiSourceListGetInfoA
(
LPCSTR
,
LPCSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
LPCSTR
,
LPSTR
,
LPDWORD
);
UINT
WINAPI
MsiSourceListGetInfoA
(
LPCSTR
,
LPCSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
LPCSTR
,
LPSTR
,
LPDWORD
);
UINT
WINAPI
MsiSourceListGetInfoW
(
LPCWSTR
,
LPCWSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
LPCWSTR
,
LPWSTR
,
LPDWORD
);
UINT
WINAPI
MsiSourceListGetInfoW
(
LPCWSTR
,
LPCWSTR
,
MSIINSTALLCONTEXT
,
DWORD
,
LPCWSTR
,
LPWSTR
,
LPDWORD
);
#define MsiSourceListGetInfo WINELIB_NAME_AW(MsiSourceListGetInfo)
#define MsiSourceListGetInfo WINELIB_NAME_AW(MsiSourceListGetInfo)
...
...
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