Add logic to be able to resolve the SourceDir based on
CurrentPath. Also add logic to get the source locations of a file if it is not in a cabinet.
This commit is contained in:
parent
514af6ce78
commit
c1e5c4a907
|
@ -827,6 +827,13 @@ UINT ACTION_DoTopLevelINSTALL(MSIPACKAGE *package, LPCWSTR szPackagePath,
|
||||||
p++;
|
p++;
|
||||||
*p=0;
|
*p=0;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HeapFree(GetProcessHeap(),0,path);
|
||||||
|
path = HeapAlloc(GetProcessHeap(),0,MAX_PATH*sizeof(WCHAR));
|
||||||
|
GetCurrentDirectoryW(MAX_PATH,path);
|
||||||
|
strcatW(path,cszbs);
|
||||||
|
}
|
||||||
|
|
||||||
check = load_dynamic_property(package, cszSourceDir,NULL);
|
check = load_dynamic_property(package, cszSourceDir,NULL);
|
||||||
if (!check)
|
if (!check)
|
||||||
|
@ -2797,6 +2804,12 @@ static UINT ready_media_for_file(MSIPACKAGE *package, UINT sequence,
|
||||||
}
|
}
|
||||||
rc = !extract_a_cabinet_file(package, source,path,NULL);
|
rc = !extract_a_cabinet_file(package, source,path,NULL);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sz = MAX_PATH;
|
||||||
|
MSI_GetPropertyW(package,cszSourceDir,source,&sz);
|
||||||
|
strcpyW(path,source);
|
||||||
|
}
|
||||||
msiobj_release(&row->hdr);
|
msiobj_release(&row->hdr);
|
||||||
MSI_ViewClose(view);
|
MSI_ViewClose(view);
|
||||||
msiobj_release(&view->hdr);
|
msiobj_release(&view->hdr);
|
||||||
|
@ -5088,6 +5101,7 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
|
||||||
{'A','R','P','S','I','Z','E',0},
|
{'A','R','P','S','I','Z','E',0},
|
||||||
{'A','R','P','U','R','L','I','N','F','O','A','B','O','U','T',0},
|
{'A','R','P','U','R','L','I','N','F','O','A','B','O','U','T',0},
|
||||||
{'A','R','P','U','R','L','U','P','D','A','T','E','I','N','F','O',0},
|
{'A','R','P','U','R','L','U','P','D','A','T','E','I','N','F','O',0},
|
||||||
|
{'P','r','o','d','u','c','t','I','D',0},
|
||||||
{0},
|
{0},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -5107,6 +5121,7 @@ static UINT ACTION_RegisterProduct(MSIPACKAGE *package)
|
||||||
{'S','i','z','e',0},
|
{'S','i','z','e',0},
|
||||||
{'U','R','L','I','n','f','o','A','b','o','u','t',0},
|
{'U','R','L','I','n','f','o','A','b','o','u','t',0},
|
||||||
{'U','R','L','U','p','d','a','t','e','I','n','f','o',0},
|
{'U','R','L','U','p','d','a','t','e','I','n','f','o',0},
|
||||||
|
{'P','r','o','d','u','c','t','I','D',0},
|
||||||
{0},
|
{0},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue