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

Fix folder resolution.

parent 7b113e83
...@@ -281,7 +281,7 @@ static LPWSTR PACKAGE_GetProperty(MSIPACKAGE *package, LPCWSTR prop) ...@@ -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 ...@@ -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) ...@@ -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 ...@@ -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, ...@@ -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;
......
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