Commit c6f155a5 authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

Add the string constants located in msi.h and make use of them in

files.c and source.c.
parent 18116dec
...@@ -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_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW, 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_PACKAGENAMEstringW, ptr);
} }
FIXME("Write DiskPrompt\n"); FIXME("Write DiskPrompt\n");
......
...@@ -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_MEDIAPACKAGEPATHstringW) == 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_MEDIAPACKAGEPATHstringW,
(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_DISKPROMPTstringW) ==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_DISKPROMPTstringW, 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_LASTUSEDSOURCEstringW)==0)
{ {
LPWSTR buffer; LPWSTR buffer;
DWORD size = 0; DWORD size = 0;
RegQueryValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCE, 0, 0, NULL, RegQueryValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW,
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_LASTUSEDTYPEstringW, szProperty)==0)
{ {
LPWSTR buffer; LPWSTR buffer;
DWORD size = 0; DWORD size = 0;
RegQueryValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCE, 0, 0, NULL, RegQueryValueExW(sourcekey, INSTALLPROPERTY_LASTUSEDSOURCEstringW, 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_LASTUSEDSOURCEstringW,
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_PACKAGENAMEstringW, szProperty)==0)
{ {
rc = RegQueryValueExW(sourcekey, INSTALLPROPERTY_PACKAGENAME, 0, 0, rc = RegQueryValueExW(sourcekey, INSTALLPROPERTY_PACKAGENAMEstringW, 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_MEDIAPACKAGEPATHstringW) == 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_MEDIAPACKAGEPATHstringW, 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_DISKPROMPTstringW) == 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_DISKPROMPTstringW, 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_LASTUSEDSOURCEstringW)==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_LASTUSEDSOURCEstringW, 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_PACKAGENAMEstringW, 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_PACKAGENAMEstringW, 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;
} }
......
...@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment