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
7258914e
Commit
7258914e
authored
Jul 13, 2005
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use the official names for the Unicode string constants.
parent
bda7ace2
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
95 additions
and
132 deletions
+95
-132
action.c
dlls/msi/action.c
+13
-13
files.c
dlls/msi/files.c
+8
-8
msi.c
dlls/msi/msi.c
+15
-15
source.c
dlls/msi/source.c
+20
-20
upgrade.c
dlls/msi/upgrade.c
+2
-2
msi.h
include/msi.h
+37
-74
No files found.
dlls/msi/action.c
View file @
7258914e
...
...
@@ -3041,16 +3041,16 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
goto
end
;
buffer
=
load_dynamic_property
(
package
,
INSTALLPROPERTY_PRODUCTNAME
string
W
,
NULL
);
buffer
=
load_dynamic_property
(
package
,
INSTALLPROPERTY_PRODUCTNAMEW
,
NULL
);
size
=
strlenW
(
buffer
)
*
sizeof
(
WCHAR
);
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_PRODUCTNAME
string
W
,
0
,
REG_SZ
,
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_PRODUCTNAMEW
,
0
,
REG_SZ
,
(
LPBYTE
)
buffer
,
size
);
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
buffer
=
load_dynamic_property
(
package
,
szProductLanguage
,
NULL
);
size
=
sizeof
(
DWORD
);
langid
=
atoiW
(
buffer
);
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_LANGUAGE
string
W
,
0
,
REG_DWORD
,
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_LANGUAGEW
,
0
,
REG_DWORD
,
(
LPBYTE
)
&
langid
,
size
);
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
...
...
@@ -3060,7 +3060,7 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
LPWSTR
path
;
build_icon_path
(
package
,
buffer
,
&
path
);
size
=
strlenW
(
path
)
*
sizeof
(
WCHAR
);
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_PRODUCTICON
string
W
,
0
,
REG_SZ
,
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_PRODUCTICONW
,
0
,
REG_SZ
,
(
LPBYTE
)
path
,
size
);
}
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
...
...
@@ -3070,7 +3070,7 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
{
DWORD
verdword
=
build_version_dword
(
buffer
);
size
=
sizeof
(
DWORD
);
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_VERSION
string
W
,
0
,
REG_DWORD
,
(
LPBYTE
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_VERSIONW
,
0
,
REG_DWORD
,
(
LPBYTE
)
&
verdword
,
size
);
}
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
...
...
@@ -3094,7 +3094,7 @@ static UINT ACTION_PublishProduct(MSIPACKAGE *package)
if
(
ptr
)
*
ptr
=
0
;
squash_guid
(
guidbuffer
,
squashed
);
size
=
strlenW
(
squashed
)
*
sizeof
(
WCHAR
);
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_PACKAGECODE
string
W
,
0
,
REG_SZ
,
RegSetValueExW
(
hukey
,
INSTALLPROPERTY_PACKAGECODEW
,
0
,
REG_SZ
,
(
LPBYTE
)
squashed
,
size
);
}
else
...
...
@@ -3530,7 +3530,7 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
debugstr_w
(
package
->
msiFilePath
),
debugstr_w
(
packagefile
),
GetLastError
());
size
=
strlenW
(
packagefile
)
*
sizeof
(
WCHAR
);
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_LOCALPACKAGE
string
W
,
0
,
REG_SZ
,
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_LOCALPACKAGEW
,
0
,
REG_SZ
,
(
LPBYTE
)
packagefile
,
size
);
/* do ModifyPath and UninstallString */
...
...
@@ -3548,13 +3548,13 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
sprintfW
(
buffer
,
date_fmt
,
systime
.
wYear
,
systime
.
wMonth
,
systime
.
wDay
);
size
=
strlenW
(
buffer
)
*
sizeof
(
WCHAR
);
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_INSTALLDATE
string
W
,
0
,
REG_SZ
,
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_INSTALLDATEW
,
0
,
REG_SZ
,
(
LPBYTE
)
buffer
,
size
);
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
buffer
=
load_dynamic_property
(
package
,
szProductLanguage
,
NULL
);
size
=
atoiW
(
buffer
);
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_LANGUAGE
string
W
,
0
,
REG_DWORD
,
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_LANGUAGEW
,
0
,
REG_DWORD
,
(
LPBYTE
)
&
size
,
sizeof
(
DWORD
));
HeapFree
(
GetProcessHeap
(),
1
,
buffer
);
...
...
@@ -3565,11 +3565,11 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
DWORD
vermajor
=
verdword
>>
24
;
DWORD
verminor
=
(
verdword
>>
16
)
&
0x00FF
;
size
=
sizeof
(
DWORD
);
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_VERSION
string
W
,
0
,
REG_DWORD
,
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_VERSIONW
,
0
,
REG_DWORD
,
(
LPBYTE
)
&
verdword
,
size
);
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_VERSIONMAJOR
string
W
,
0
,
REG_DWORD
,
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_VERSIONMAJORW
,
0
,
REG_DWORD
,
(
LPBYTE
)
&
vermajor
,
size
);
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_VERSIONMINOR
string
W
,
0
,
REG_DWORD
,
RegSetValueExW
(
hkey
,
INSTALLPROPERTY_VERSIONMINORW
,
0
,
REG_DWORD
,
(
LPBYTE
)
&
verminor
,
size
);
}
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
...
...
@@ -3722,7 +3722,7 @@ static UINT ACTION_RegisterUser(MSIPACKAGE *package)
if
(
!
package
)
return
ERROR_INVALID_HANDLE
;
productid
=
load_dynamic_property
(
package
,
INSTALLPROPERTY_PRODUCTID
string
W
,
productid
=
load_dynamic_property
(
package
,
INSTALLPROPERTY_PRODUCTIDW
,
&
rc
);
if
(
!
productid
)
return
ERROR_SUCCESS
;
...
...
dlls/msi/files.c
View file @
7258914e
...
...
@@ -511,12 +511,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCEW
,
last_path
);
else
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCEW
,
last_path
);
msiobj_release
(
&
row
->
hdr
);
return
rc
;
}
...
...
@@ -544,7 +544,7 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
path
);
INSTALLPROPERTY_LASTUSEDSOURCEW
,
path
);
HeapFree
(
GetProcessHeap
(),
0
,
path
);
}
...
...
@@ -568,12 +568,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCEW
,
last_path
);
else
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCEW
,
last_path
);
/* extract the cab file into a folder in the temp folder */
sz
=
MAX_PATH
;
...
...
@@ -599,12 +599,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, int fileindex,
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_MEDIA
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCEW
,
last_path
);
else
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
|
MSISOURCETYPE_NETWORK
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
last_path
);
INSTALLPROPERTY_LASTUSEDSOURCEW
,
last_path
);
}
set_file_source
(
package
,
file
,
comp
,
last_path
);
...
...
@@ -669,7 +669,7 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
MsiSourceListSetInfoW
(
package
->
ProductCode
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
,
INSTALLPROPERTY_PACKAGENAME
string
W
,
ptr
);
INSTALLPROPERTY_PACKAGENAMEW
,
ptr
);
}
FIXME
(
"Write DiskPrompt
\n
"
);
...
...
dlls/msi/msi.c
View file @
7258914e
...
...
@@ -99,7 +99,7 @@ UINT WINAPI MsiOpenProductW(LPCWSTR szProduct, MSIHANDLE *phProduct)
/* find the size of the path */
type
=
count
=
0
;
r
=
RegQueryValueExW
(
hKeyProduct
,
INSTALLPROPERTY_LOCALPACKAGE
string
W
,
r
=
RegQueryValueExW
(
hKeyProduct
,
INSTALLPROPERTY_LOCALPACKAGEW
,
NULL
,
&
type
,
NULL
,
&
count
);
if
(
r
!=
ERROR_SUCCESS
)
{
...
...
@@ -112,7 +112,7 @@ UINT WINAPI MsiOpenProductW(LPCWSTR szProduct, MSIHANDLE *phProduct)
if
(
!
path
)
goto
end
;
r
=
RegQueryValueExW
(
hKeyProduct
,
INSTALLPROPERTY_LOCALPACKAGE
string
W
,
r
=
RegQueryValueExW
(
hKeyProduct
,
INSTALLPROPERTY_LOCALPACKAGEW
,
NULL
,
&
type
,
(
LPBYTE
)
path
,
&
count
);
if
(
r
!=
ERROR_SUCCESS
)
{
...
...
@@ -290,12 +290,12 @@ UINT WINAPI MsiConfigureProductExW(LPCWSTR szProduct, int iInstallLevel,
sz
=
sizeof
(
sourcepath
);
MsiSourceListGetInfoW
(
szProduct
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
sourcepath
,
MSICODE_PRODUCT
,
INSTALLPROPERTY_LASTUSEDSOURCEW
,
sourcepath
,
&
sz
);
sz
=
sizeof
(
filename
);
MsiSourceListGetInfoW
(
szProduct
,
NULL
,
MSIINSTALLCONTEXT_USERMANAGED
,
MSICODE_PRODUCT
,
INSTALLPROPERTY_PACKAGENAME
string
W
,
filename
,
&
sz
);
MSICODE_PRODUCT
,
INSTALLPROPERTY_PACKAGENAMEW
,
filename
,
&
sz
);
strcatW
(
sourcepath
,
filename
);
...
...
@@ -530,7 +530,7 @@ UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute,
return
ERROR_INVALID_PARAMETER
;
/* check for special properties */
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_PACKAGECODE
string
W
)
==
0
)
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_PACKAGECODEW
)
==
0
)
{
HKEY
hkey
;
WCHAR
squished
[
GUID_SIZE
];
...
...
@@ -541,7 +541,7 @@ UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute,
if
(
r
!=
ERROR_SUCCESS
)
return
ERROR_UNKNOWN_PRODUCT
;
r
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_PACKAGECODE
string
W
,
NULL
,
NULL
,
r
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_PACKAGECODEW
,
NULL
,
NULL
,
(
LPBYTE
)
squished
,
&
sz
);
if
(
r
!=
ERROR_SUCCESS
)
{
...
...
@@ -562,7 +562,7 @@ UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute,
RegCloseKey
(
hkey
);
r
=
ERROR_SUCCESS
;
}
else
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_VERSIONSTRING
string
W
)
==
0
)
else
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_VERSIONSTRINGW
)
==
0
)
{
r
=
MsiOpenProductW
(
szProduct
,
&
hProduct
);
if
(
ERROR_SUCCESS
!=
r
)
...
...
@@ -571,7 +571,7 @@ UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute,
r
=
MsiGetPropertyW
(
hProduct
,
szProductVersion
,
szBuffer
,
pcchValueBuf
);
MsiCloseHandle
(
hProduct
);
}
else
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_ASSIGNMENTTYPE
string
W
)
==
0
)
else
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_ASSIGNMENTTYPEW
)
==
0
)
{
FIXME
(
"0 (zero) if advertised or per user , 1(one) if per machine.
\n
"
);
if
(
szBuffer
)
...
...
@@ -583,7 +583,7 @@ UINT WINAPI MsiGetProductInfoW(LPCWSTR szProduct, LPCWSTR szAttribute,
*
pcchValueBuf
=
1
;
r
=
ERROR_SUCCESS
;
}
else
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_LANGUAGE
string
W
)
==
0
)
else
if
(
strcmpW
(
szAttribute
,
INSTALLPROPERTY_LANGUAGEW
)
==
0
)
{
r
=
MsiOpenProductW
(
szProduct
,
&
hProduct
);
if
(
ERROR_SUCCESS
!=
r
)
...
...
@@ -1580,14 +1580,14 @@ USERINFOSTATE WINAPI MsiGetUserInfoW(LPCWSTR szProduct, LPWSTR lpUserNameBuf,
if
(
lpUserNameBuf
)
{
sz
=
*
lpUserNameBuf
*
sizeof
(
WCHAR
);
rc
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGOWNER
string
W
,
NULL
,
rc
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGOWNERW
,
NULL
,
NULL
,
(
LPBYTE
)
lpUserNameBuf
,
&
sz
);
}
if
(
!
lpUserNameBuf
&&
pcchUserNameBuf
)
{
sz
=
0
;
rc
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGOWNER
string
W
,
NULL
,
rc
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGOWNERW
,
NULL
,
NULL
,
NULL
,
&
sz
);
}
...
...
@@ -1597,13 +1597,13 @@ USERINFOSTATE WINAPI MsiGetUserInfoW(LPCWSTR szProduct, LPWSTR lpUserNameBuf,
if
(
lpOrgNameBuf
)
{
sz
=
*
pcchOrgNameBuf
*
sizeof
(
WCHAR
);
rc2
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGCOMPANY
string
W
,
NULL
,
rc2
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGCOMPANYW
,
NULL
,
NULL
,
(
LPBYTE
)
lpOrgNameBuf
,
&
sz
);
}
if
(
!
lpOrgNameBuf
&&
pcchOrgNameBuf
)
{
sz
=
0
;
rc2
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGCOMPANY
string
W
,
NULL
,
rc2
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_REGCOMPANYW
,
NULL
,
NULL
,
NULL
,
&
sz
);
}
...
...
@@ -1620,13 +1620,13 @@ USERINFOSTATE WINAPI MsiGetUserInfoW(LPCWSTR szProduct, LPWSTR lpUserNameBuf,
if
(
lpSerialBuf
)
{
sz
=
*
pcchSerialBuf
*
sizeof
(
WCHAR
);
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_PRODUCTID
string
W
,
NULL
,
NULL
,
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_PRODUCTIDW
,
NULL
,
NULL
,
(
LPBYTE
)
lpSerialBuf
,
&
sz
);
}
if
(
!
lpSerialBuf
&&
pcchSerialBuf
)
{
sz
=
0
;
rc
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_PRODUCTID
string
W
,
NULL
,
rc
=
RegQueryValueExW
(
hkey
,
INSTALLPROPERTY_PRODUCTIDW
,
NULL
,
NULL
,
NULL
,
&
sz
);
}
if
(
pcchSerialBuf
)
...
...
dlls/msi/source.c
View file @
7258914e
...
...
@@ -187,34 +187,34 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
if
(
rc
!=
ERROR_SUCCESS
)
return
ERROR_UNKNOWN_PRODUCT
;
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
string
W
)
==
0
)
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATHW
)
==
0
)
{
HKEY
key
;
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
string
W
,
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATHW
,
0
,
0
,
(
LPBYTE
)
szValue
,
pcchValue
);
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPT
string
W
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPTW
)
==
0
)
{
HKEY
key
;
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPT
string
W
,
0
,
0
,
rc
=
RegQueryValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPTW
,
0
,
0
,
(
LPBYTE
)
szValue
,
pcchValue
);
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCEW
)
==
0
)
{
LPWSTR
buffer
;
DWORD
size
=
0
;
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
0
,
0
,
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCEW
,
0
,
0
,
NULL
,
&
size
);
if
(
size
==
0
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
...
...
@@ -222,7 +222,7 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
{
LPWSTR
ptr
;
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCEW
,
0
,
0
,
(
LPBYTE
)
buffer
,
&
size
);
ptr
=
strchrW
(
buffer
,
';'
);
if
(
ptr
)
ptr
=
strchrW
(
ptr
+
1
,
';'
);
...
...
@@ -243,19 +243,19 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
}
}
else
if
(
strcmpW
(
INSTALLPROPERTY_LASTUSEDTYPE
string
W
,
szProperty
)
==
0
)
else
if
(
strcmpW
(
INSTALLPROPERTY_LASTUSEDTYPEW
,
szProperty
)
==
0
)
{
LPWSTR
buffer
;
DWORD
size
=
0
;
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
0
,
0
,
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCEW
,
0
,
0
,
NULL
,
&
size
);
if
(
size
==
0
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
else
{
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCEW
,
0
,
0
,
(
LPBYTE
)
buffer
,
&
size
);
if
(
*
pcchValue
<
1
)
{
...
...
@@ -270,9 +270,9 @@ UINT WINAPI MsiSourceListGetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
}
}
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAME
string
W
,
szProperty
)
==
0
)
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAMEW
,
szProperty
)
==
0
)
{
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAME
string
W
,
0
,
0
,
rc
=
RegQueryValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAMEW
,
0
,
0
,
(
LPBYTE
)
szValue
,
pcchValue
);
if
(
rc
!=
ERROR_SUCCESS
&&
rc
!=
ERROR_MORE_DATA
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
...
...
@@ -324,31 +324,31 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
return
ERROR_UNKNOWN_PRODUCT
;
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
string
W
)
==
0
)
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_MEDIAPACKAGEPATHW
)
==
0
)
{
HKEY
key
;
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATH
string
W
,
0
,
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_MEDIAPACKAGEPATHW
,
0
,
REG_SZ
,
(
LPBYTE
)
szValue
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPT
string
W
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_DISKPROMPTW
)
==
0
)
{
HKEY
key
;
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
rc
=
OpenMediaSubkey
(
sourcekey
,
&
key
,
FALSE
);
if
(
rc
==
ERROR_SUCCESS
)
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPT
string
W
,
0
,
rc
=
RegSetValueExW
(
key
,
INSTALLPROPERTY_DISKPROMPTW
,
0
,
REG_SZ
,
(
LPBYTE
)
szValue
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
RegCloseKey
(
key
);
}
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
)
==
0
)
else
if
(
strcmpW
(
szProperty
,
INSTALLPROPERTY_LASTUSEDSOURCEW
)
==
0
)
{
LPWSTR
buffer
=
NULL
;
DWORD
size
;
...
...
@@ -371,16 +371,16 @@ UINT WINAPI MsiSourceListSetInfoW( LPCWSTR szProduct, LPCWSTR szUserSid,
size
=
(
lstrlenW
(
szValue
)
+
5
)
*
sizeof
(
WCHAR
);
buffer
=
HeapAlloc
(
GetProcessHeap
(),
0
,
size
);
sprintfW
(
buffer
,
LastUsedSource_Fmt
,
typechar
,
1
,
szValue
);
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCE
string
W
,
0
,
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_LASTUSEDSOURCEW
,
0
,
REG_EXPAND_SZ
,
(
LPBYTE
)
buffer
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
HeapFree
(
GetProcessHeap
(),
0
,
buffer
);
}
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAME
string
W
,
szProperty
)
==
0
)
else
if
(
strcmpW
(
INSTALLPROPERTY_PACKAGENAMEW
,
szProperty
)
==
0
)
{
DWORD
size
=
lstrlenW
(
szValue
)
*
sizeof
(
WCHAR
);
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAME
string
W
,
0
,
rc
=
RegSetValueExW
(
sourcekey
,
INSTALLPROPERTY_PACKAGENAMEW
,
0
,
REG_SZ
,
(
LPBYTE
)
szValue
,
size
);
if
(
rc
!=
ERROR_SUCCESS
)
rc
=
ERROR_UNKNOWN_PROPERTY
;
...
...
dlls/msi/upgrade.c
View file @
7258914e
...
...
@@ -147,7 +147,7 @@ static UINT ITERATE_FindRelatedProducts(MSIRECORD *rec, LPVOID param)
}
sz
=
sizeof
(
DWORD
);
RegQueryValueExW
(
hukey
,
INSTALLPROPERTY_VERSION
string
W
,
NULL
,
NULL
,
RegQueryValueExW
(
hukey
,
INSTALLPROPERTY_VERSIONW
,
NULL
,
NULL
,
(
LPBYTE
)
&
check
,
&
sz
);
/* check min */
ver
=
MSI_RecordGetString
(
rec
,
2
);
...
...
@@ -175,7 +175,7 @@ static UINT ITERATE_FindRelatedProducts(MSIRECORD *rec, LPVOID param)
/* check language*/
sz
=
sizeof
(
DWORD
);
RegQueryValueExW
(
hukey
,
INSTALLPROPERTY_LANGUAGE
string
W
,
NULL
,
NULL
,
RegQueryValueExW
(
hukey
,
INSTALLPROPERTY_LANGUAGEW
,
NULL
,
NULL
,
(
LPBYTE
)
&
check
,
&
sz
);
RegCloseKey
(
hukey
);
language
=
MSI_RecordGetString
(
rec
,
4
);
...
...
include/msi.h
View file @
7258914e
...
...
@@ -178,197 +178,160 @@ typedef enum tagMSICODE
/* 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)
static
const
WCHAR
INSTALLPROPERTY_PACKAGENAMEW
[]
=
{
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_TRANSFORMSW
[]
=
{
'T'
,
'r'
,
'a'
,
'n'
,
's'
,
'f'
,
'o'
,
'r'
,
'm'
,
's'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_LANGUAGEW
[]
=
{
'L'
,
'a'
,
'n'
,
'g'
,
'u'
,
'a'
,
'g'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PRODUCTNAMEW
[]
=
{
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_ASSIGNMENTTYPEW
[]
=
{
'A'
,
's'
,
's'
,
'i'
,
'g'
,
'n'
,
'm'
,
'e'
,
'n'
,
't'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PACKAGECODEW
[]
=
{
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'C'
,
'o'
,
'd'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_VERSIONW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PRODUCTICONW
[]
=
{
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'I'
,
'c'
,
'o'
,
'n'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_INSTANCETYPEW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'n'
,
'c'
,
'e'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_AUTHORIZED_LUA_APPW
[]
=
{
'A'
,
'u'
,
't'
,
'h'
,
'o'
,
'r'
,
'i'
,
'z'
,
'e'
,
'd'
,
'L'
,
'U'
,
'A'
,
'A'
,
'p'
,
'p'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_INSTALLEDPRODUCTNAMEW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'e'
,
'd'
,
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_VERSIONSTRINGW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'S'
,
't'
,
'r'
,
'i'
,
'n'
,
'g'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_HELPLINKW
[]
=
{
'H'
,
'e'
,
'l'
,
'p'
,
'L'
,
'i'
,
'n'
,
'k'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_HELPTELEPHONEW
[]
=
{
'H'
,
'e'
,
'l'
,
'p'
,
'T'
,
'e'
,
'l'
,
'e'
,
'p'
,
'h'
,
'o'
,
'n'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_INSTALLLOCATIONW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'L'
,
'o'
,
'c'
,
'a'
,
't'
,
'i'
,
'o'
,
'n'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_INSTALLSOURCEW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'S'
,
'o'
,
'u'
,
'r'
,
'c'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_INSTALLDATEW
[]
=
{
'I'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'D'
,
'a'
,
't'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PUBLISHERW
[]
=
{
'P'
,
'u'
,
'b'
,
'l'
,
'i'
,
's'
,
'h'
,
'e'
,
'r'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_LOCALPACKAGEW
[]
=
{
'L'
,
'o'
,
'c'
,
'a'
,
'l'
,
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_URLINFOABOUTW
[]
=
{
'U'
,
'R'
,
'L'
,
'I'
,
'n'
,
'f'
,
'o'
,
'A'
,
'b'
,
'o'
,
'u'
,
't'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_URLUPDATEINFOW
[]
=
{
'U'
,
'R'
,
'L'
,
'U'
,
'p'
,
'd'
,
'a'
,
't'
,
'e'
,
'I'
,
'n'
,
'f'
,
'o'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_VERSIONMINORW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'M'
,
'i'
,
'n'
,
'o'
,
'r'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_VERSIONMAJORW
[]
=
{
'V'
,
'e'
,
'r'
,
's'
,
'i'
,
'o'
,
'n'
,
'M'
,
'a'
,
'j'
,
'o'
,
'r'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PRODUCTIDW
[]
=
{
'P'
,
'r'
,
'o'
,
'd'
,
'u'
,
'c'
,
't'
,
'I'
,
'D'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_REGCOMPANYW
[]
=
{
'R'
,
'e'
,
'g'
,
'C'
,
'o'
,
'm'
,
'p'
,
'a'
,
'n'
,
'y'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_REGOWNERW
[]
=
{
'R'
,
'e'
,
'g'
,
'O'
,
'w'
,
'n'
,
'e'
,
'r'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_UNINSTALLABLEW
[]
=
{
'U'
,
'n'
,
'i'
,
'n'
,
's'
,
't'
,
'a'
,
'l'
,
'l'
,
'a'
,
'b'
,
'l'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PRODUCTSTATEW
[]
=
{
'S'
,
't'
,
'a'
,
't'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PATCHSTATEW
[]
=
{
'S'
,
't'
,
'a'
,
't'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_PATCHTYPEW
[]
=
{
'P'
,
'a'
,
't'
,
'c'
,
'h'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_LUAENABLEDW
[]
=
{
'L'
,
'U'
,
'A'
,
'E'
,
'n'
,
'a'
,
'b'
,
'l'
,
'e'
,
'd'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_DISPLAYNAMEW
[]
=
{
'D'
,
'i'
,
's'
,
'p'
,
'l'
,
'a'
,
'y'
,
'N'
,
'a'
,
'm'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_MOREINFOURLW
[]
=
{
'M'
,
'o'
,
'r'
,
'e'
,
'I'
,
'n'
,
'f'
,
'o'
,
'U'
,
'R'
,
'L'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_LASTUSEDSOURCEW
[]
=
{
'L'
,
'a'
,
's'
,
't'
,
'U'
,
's'
,
'e'
,
'd'
,
'S'
,
'o'
,
'u'
,
'r'
,
'c'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_LASTUSEDTYPEW
[]
=
{
'L'
,
'a'
,
's'
,
't'
,
'U'
,
's'
,
'e'
,
'd'
,
'T'
,
'y'
,
'p'
,
'e'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_MEDIAPACKAGEPATHW
[]
=
{
'M'
,
'e'
,
'd'
,
'i'
,
'a'
,
'P'
,
'a'
,
'c'
,
'k'
,
'a'
,
'g'
,
'e'
,
'P'
,
'a'
,
't'
,
'h'
,
0
};
#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)
static
const
WCHAR
INSTALLPROPERTY_DISKPROMPTW
[]
=
{
'D'
,
'i'
,
's'
,
'k'
,
'P'
,
'r'
,
'o'
,
'm'
,
'p'
,
't'
,
0
};
#define INSTALLPROPERTY_DISKPROMPT WINELIB_NAME_AW(INSTALLPROPERTY_DISKPROMPT)
typedef
INT
(
CALLBACK
*
INSTALLUI_HANDLERA
)(
LPVOID
,
UINT
,
LPCSTR
);
...
...
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