Fix folder resolution.
This commit is contained in:
parent
7b113e83bc
commit
259557038c
|
@ -281,7 +281,7 @@ static LPWSTR PACKAGE_GetProperty(MSIPACKAGE *package, LPCWSTR prop)
|
||||||
UINT r;
|
UINT r;
|
||||||
|
|
||||||
r = MSI_GetPropertyW(package, prop, NULL, &sz);
|
r = MSI_GetPropertyW(package, prop, NULL, &sz);
|
||||||
if (r != ERROR_SUCCESS)
|
if (r != ERROR_SUCCESS && r != ERROR_MORE_DATA)
|
||||||
return NULL;
|
return NULL;
|
||||||
sz++;
|
sz++;
|
||||||
str = HeapAlloc(GetProcessHeap(),0,sz*sizeof(WCHAR));
|
str = HeapAlloc(GetProcessHeap(),0,sz*sizeof(WCHAR));
|
||||||
|
|
|
@ -169,6 +169,7 @@ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/prope
|
||||||
static VOID set_installer_properties(MSIPACKAGE *package)
|
static VOID set_installer_properties(MSIPACKAGE *package)
|
||||||
{
|
{
|
||||||
WCHAR pth[MAX_PATH];
|
WCHAR pth[MAX_PATH];
|
||||||
|
WCHAR *ptr;
|
||||||
OSVERSIONINFOA OSVersion;
|
OSVERSIONINFOA OSVersion;
|
||||||
DWORD verval;
|
DWORD verval;
|
||||||
WCHAR verstr[10], msiver[10];
|
WCHAR verstr[10], msiver[10];
|
||||||
|
@ -210,6 +211,8 @@ static VOID set_installer_properties(MSIPACKAGE *package)
|
||||||
{'P','e','r','s','o','n','a','l','F','o','l','d','e','r',0};
|
{'P','e','r','s','o','n','a','l','F','o','l','d','e','r',0};
|
||||||
static const WCHAR WF[] =
|
static const WCHAR WF[] =
|
||||||
{'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
|
{'W','i','n','d','o','w','s','F','o','l','d','e','r',0};
|
||||||
|
static const WCHAR WV[] =
|
||||||
|
{'W','i','n','d','o','w','s','V','o','l','u','m','e',0};
|
||||||
static const WCHAR TF[]=
|
static const WCHAR TF[]=
|
||||||
{'T','e','m','p','F','o','l','d','e','r',0};
|
{'T','e','m','p','F','o','l','d','e','r',0};
|
||||||
static const WCHAR szAdminUser[] =
|
static const WCHAR szAdminUser[] =
|
||||||
|
@ -332,6 +335,12 @@ Privileged
|
||||||
strcatW(pth,cszbs);
|
strcatW(pth,cszbs);
|
||||||
MSI_SetPropertyW(package, WF, pth);
|
MSI_SetPropertyW(package, WF, pth);
|
||||||
|
|
||||||
|
SHGetFolderPathW(NULL,CSIDL_WINDOWS,NULL,0,pth);
|
||||||
|
ptr = strchrW(pth,'\\');
|
||||||
|
if (ptr)
|
||||||
|
*ptr = 0;
|
||||||
|
MSI_SetPropertyW(package, WV, pth);
|
||||||
|
|
||||||
GetTempPathW(MAX_PATH,pth);
|
GetTempPathW(MAX_PATH,pth);
|
||||||
MSI_SetPropertyW(package, TF, pth);
|
MSI_SetPropertyW(package, TF, pth);
|
||||||
|
|
||||||
|
@ -768,6 +777,9 @@ UINT MSI_GetPropertyW(MSIPACKAGE *package, LPCWSTR szName,
|
||||||
if (rc == ERROR_SUCCESS)
|
if (rc == ERROR_SUCCESS)
|
||||||
TRACE("returning %s for property %s\n", debugstr_w(szValueBuf),
|
TRACE("returning %s for property %s\n", debugstr_w(szValueBuf),
|
||||||
debugstr_w(szName));
|
debugstr_w(szName));
|
||||||
|
else if (rc == ERROR_MORE_DATA)
|
||||||
|
TRACE("need %i sized buffer for %s\n", *pchValueBuf,
|
||||||
|
debugstr_w(szName));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
*pchValueBuf = 0;
|
*pchValueBuf = 0;
|
||||||
|
|
Loading…
Reference in New Issue